Skill Details
Back to Skills

/finance-news

by kesslerio

Market news briefings with AI summaries. Use when asked about stock news, market updates, portfolio performance, morning/evening briefings, financial headlines, or price alerts. Supports US/Europe/Jap

View on GitHub

Finance News Skill

AI-powered market news briefings with configurable language output and automated delivery.

First-Time Setup

Run the interactive setup wizard to configure your sources, delivery channels, and schedule:

finance-news setup

The wizard will guide you through:

  • πŸ“° RSS Feeds: Enable/disable WSJ, Barron's, CNBC, Yahoo, etc.
  • πŸ“Š Markets: Choose regions (US, Europe, Japan, Asia)
  • πŸ“€ Delivery: Configure WhatsApp/Telegram group
  • 🌐 Language: Set default language (English/German)
  • ⏰ Schedule: Configure morning/evening cron times

You can also configure specific sections:

finance-news setup --section feeds     # Just RSS feeds
finance-news setup --section delivery  # Just delivery channels
finance-news setup --section schedule  # Just cron schedule
finance-news setup --reset             # Reset to defaults
finance-news config                    # Show current config

Quick Start

# Generate morning briefing
finance-news briefing --morning

# View market overview
finance-news market

# Get news for your portfolio
finance-news portfolio

# Get news for specific stock
finance-news news AAPL

Features

πŸ“Š Market Coverage

  • US Markets: S&P 500, Dow Jones, NASDAQ
  • Europe: DAX, STOXX 50, FTSE 100
  • Japan: Nikkei 225

πŸ“° News Sources

  • Premium: WSJ, Barron's (RSS feeds)
  • Free: CNBC, Yahoo Finance, Finnhub
  • Portfolio: Ticker-specific news from Yahoo

πŸ€– AI Summaries

  • Gemini-powered analysis
  • Configurable language (English/German)
  • Briefing styles: summary, analysis, headlines

πŸ“… Automated Briefings

  • Morning: 6:30 AM PT (US market open)
  • Evening: 1:00 PM PT (US market close)
  • Delivery: WhatsApp (configure group in cron scripts)

Commands

Briefing Generation

# Morning briefing (English is default)
finance-news briefing --morning

# Evening briefing with WhatsApp delivery
finance-news briefing --evening --send --group "Market Briefing"

# German language option
finance-news briefing --morning --lang de

# Analysis style (more detailed)
finance-news briefing --style analysis

Market Data

# Market overview (indices + top headlines)
finance-news market

# JSON output for processing
finance-news market --json

Portfolio Management

# List portfolio
finance-news portfolio-list

# Add stock
finance-news portfolio-add NVDA --name "NVIDIA Corporation" --category Tech

# Remove stock
finance-news portfolio-remove TSLA

# Import from CSV
finance-news portfolio-import ~/my_stocks.csv

# Interactive portfolio creation
finance-news portfolio-create

Ticker News

# News for specific stock
finance-news news AAPL
finance-news news TSLA

Configuration

Portfolio CSV Format

Location: ~/clawd/skills/finance-news/config/portfolio.csv

symbol,name,category,notes
AAPL,Apple Inc.,Tech,Core holding
NVDA,NVIDIA Corporation,Tech,AI play
MSFT,Microsoft Corporation,Tech,

Sources Configuration

Location: ~/clawd/skills/finance-news/config/config.json (legacy fallback: config/sources.json)

  • RSS feeds for WSJ, Barron's, CNBC, Yahoo
  • Market indices by region
  • Language settings

Cron Jobs

Setup via OpenClaw

# Add morning briefing cron job
openclaw cron add --schedule "30 6 * * 1-5" \
  --timezone "America/Los_Angeles" \
  --command "bash ~/clawd/skills/finance-news/cron/morning.sh"

# Add evening briefing cron job
openclaw cron add --schedule "0 13 * * 1-5" \
  --timezone "America/Los_Angeles" \
  --command "bash ~/clawd/skills/finance-news/cron/evening.sh"

Manual Cron (crontab)

# Morning briefing (6:30 AM PT, weekdays)
30 6 * * 1-5 bash ~/clawd/skills/finance-news/cron/morning.sh

# Evening briefing (1:00 PM PT, weekdays)
0 13 * * 1-5 bash ~/clawd/skills/finance-news/cron/evening.sh

Sample Output

πŸŒ… **BΓΆrsen-Morgen-Briefing**
Dienstag, 21. Januar 2026 | 06:30 Uhr

πŸ“Š **MΓ€rkte**
β€’ S&P 500: 5.234 (+0,3%)
β€’ DAX: 16.890 (-0,1%)
β€’ Nikkei: 35.678 (+0,5%)

πŸ“ˆ **Dein Portfolio**
β€’ AAPL $256 (+1,2%) β€” iPhone-VerkΓ€ufe ΓΌbertreffen Erwartungen
β€’ NVDA $512 (+3,4%) β€” KI-Chip-Nachfrage steigt

πŸ”₯ **Top Stories**
β€’ [WSJ] Fed signalisiert mΓΆgliche Zinssenkung im MΓ€rz
β€’ [CNBC] Tech-Sektor fΓΌhrt Rally an

πŸ€– **Analyse**
Der S&P zeigt StΓ€rke. Dein Portfolio profitiert von NVDA's 
Momentum. Fed-Kommentare kΓΆnnten VolatilitΓ€t auslΓΆsen.

Integration

With OpenBB (existing skill)

# Get detailed quote, then news
openbb-quote AAPL && finance-news news AAPL

With OpenClaw Agent

The agent will automatically use this skill when asked about:

  • "What's the market doing?"
  • "News for my portfolio"
  • "Generate morning briefing"
  • "What's happening with AAPL?"

With Lobster (Workflow Engine)

Run briefings via Lobster for approval gates and resumability:

# Run with approval before WhatsApp send
lobster "workflows.run --file workflows/briefing.yaml"

# With custom args
lobster "workflows.run --file workflows/briefing.yaml --args-json '{\"time\":\"evening\",\"lang\":\"en\"}'"

See workflows/README.md for full documentation.

Files

skills/finance-news/
β”œβ”€β”€ SKILL.md              # This documentation
β”œβ”€β”€ Dockerfile            # NixOS-compatible container
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ portfolio.csv     # Your watchlist
β”‚   β”œβ”€β”€ config.json       # RSS/API/language configuration
β”‚   β”œβ”€β”€ alerts.json       # Price target alerts
β”‚   └── manual_earnings.json  # Earnings calendar overrides
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ finance-news      # Main CLI
β”‚   β”œβ”€β”€ briefing.py       # Briefing generator
β”‚   β”œβ”€β”€ fetch_news.py     # News aggregator
β”‚   β”œβ”€β”€ portfolio.py      # Portfolio CRUD
β”‚   β”œβ”€β”€ summarize.py      # AI summarization
β”‚   β”œβ”€β”€ alerts.py         # Price alert management
β”‚   β”œβ”€β”€ earnings.py       # Earnings calendar
β”‚   β”œβ”€β”€ ranking.py        # Headline ranking
β”‚   └── stocks.py         # Stock management
β”œβ”€β”€ workflows/
β”‚   β”œβ”€β”€ briefing.yaml     # Lobster workflow with approval gate
β”‚   └── README.md         # Workflow documentation
β”œβ”€β”€ cron/
β”‚   β”œβ”€β”€ morning.sh        # Morning cron (Docker-based)
β”‚   └── evening.sh        # Evening cron (Docker-based)
└── cache/                # 15-minute news cache

Dependencies

  • Python 3.10+
  • feedparser (pip install feedparser)
  • Gemini CLI (brew install gemini-cli)
  • OpenBB (existing openbb-quote wrapper)
  • OpenClaw message tool (for WhatsApp delivery)

Troubleshooting

Gemini not working

# Authenticate Gemini
gemini  # Follow login flow

RSS feeds timing out

  • Check network connectivity
  • WSJ/Barron's may require subscription cookies for some content
  • Free feeds (CNBC, Yahoo) should always work

WhatsApp delivery failing

  • Verify WhatsApp group exists and bot has access
  • Check openclaw doctor for WhatsApp status