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-quotewrapper) - 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 doctorfor WhatsApp status