skills$openclaw/finance-news
kesslerio8.7k

by kesslerio

finance-news – OpenClaw Skill

finance-news is an OpenClaw Skills integration for writing workflows. 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/Japan markets, WhatsApp delivery, and English/German output.

8.7k stars6.5k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026writing

Skill Snapshot

namefinance-news
descriptionMarket 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/Japan markets, WhatsApp delivery, and English/German output. OpenClaw Skills integration.
ownerkesslerio
repositorykesslerio/finance-news
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @kesslerio/finance-news
last updatedFeb 7, 2026

Maintainer

kesslerio

kesslerio

Maintains finance-news in the OpenClaw Skills directory.

View GitHub profile
File Explorer
75 files
.
config
config.json
7.7 KB
manual_earnings.json
5.8 KB
cron
alerts.sh
677 B
earnings-weekly.sh
676 B
earnings.sh
656 B
evening.sh
679 B
morning.sh
678 B
docs
EQUITY_SHEET_FIXES.md
4.8 KB
PREMIUM_SOURCES.md
6.2 KB
htmlcov
class_index.html
13.6 KB
coverage_html_cb_dd2e7eb5.js
24.9 KB
function_index.html
97.5 KB
index.html
9.0 KB
status.json
4.1 KB
style_cb_9ff733b0.css
15.7 KB
z_de1a740d5dc98ffd_alerts_py.html
144.7 KB
z_de1a740d5dc98ffd_briefing_py.html
51.7 KB
z_de1a740d5dc98ffd_earnings_py.html
176.7 KB
z_de1a740d5dc98ffd_fetch_news_py.html
326.1 KB
z_de1a740d5dc98ffd_portfolio_py.html
93.7 KB
z_de1a740d5dc98ffd_ranking_py.html
96.0 KB
z_de1a740d5dc98ffd_research_py.html
77.5 KB
z_de1a740d5dc98ffd_setup_py.html
88.8 KB
z_de1a740d5dc98ffd_stocks_py.html
103.0 KB
z_de1a740d5dc98ffd_summarize_py.html
513.5 KB
z_de1a740d5dc98ffd_translate_portfolio_py.html
49.5 KB
z_de1a740d5dc98ffd_utils_py.html
17.4 KB
scripts
alerts.py
15.9 KB
briefing.py
5.5 KB
earnings.py
20.4 KB
fetch_news.py
37.9 KB
portfolio.py
9.8 KB
ranking.py
10.6 KB
research.py
8.4 KB
setup.py
9.9 KB
stocks.py
11.0 KB
summarize.py
62.0 KB
translate_portfolio.py
5.3 KB
utils.py
1.4 KB
venv-setup.sh
3.4 KB
tests
fixtures
sample_portfolio.csv
127 B
sample_rss.xml
730 B
README.md
712 B
test_alerts_extended.py
12.9 KB
test_alerts.py
4.0 KB
test_briefing.py
3.0 KB
test_earnings.py
3.7 KB
test_fetch_news.py
4.1 KB
test_portfolio.py
2.6 KB
test_ranking.py
2.8 KB
test_research.py
13.0 KB
test_setup.py
2.5 KB
test_stocks.py
9.4 KB
test_summarize.py
11.5 KB
workflows
alerts-cron.yaml
1.6 KB
briefing-cron.yaml
3.4 KB
briefing.yaml
3.7 KB
earnings-cron.yaml
1.5 KB
earnings-weekly-cron.yaml
1.5 KB
README.md
3.4 KB
_meta.json
467 B
pyproject.toml
1.1 KB
pytest.ini
225 B
README.md
4.5 KB
requirements-test.txt
72 B
requirements.txt
28 B
SKILL.md
7.3 KB
SKILL.md

name: finance-news description: "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/Japan markets, WhatsApp delivery, and English/German output."

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
README.md

Finance News Skill for OpenClaw

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

Features

  • Multi-source aggregation: Reuters, WSJ, FT, Bloomberg, CNBC, Yahoo Finance, Tagesschau, Handelsblatt
  • Global markets: US (S&P, Dow, NASDAQ), Europe (DAX, STOXX, FTSE), Japan (Nikkei)
  • AI summaries: LLM-powered analysis in German or English
  • Automated briefings: Morning (market open) and evening (market close)
  • WhatsApp/Telegram delivery: Send briefings via openclaw
  • Portfolio tracking: Personalized news for your stocks with price alerts
  • Lobster workflows: Approval gates before sending

Quick Start

Docker (Recommended)

# Build the Docker image
docker build -t finance-news-briefing .

# Generate a briefing
docker run --rm -v "$PWD/config:/app/config:ro" \
  finance-news-briefing python3 scripts/briefing.py \
  --time morning --lang de --json --fast

Lobster Workflow

# Set required environment variables
export FINANCE_NEWS_TARGET="your-group-jid@g.us"  # WhatsApp JID or Telegram chat ID
export FINANCE_NEWS_CHANNEL="whatsapp"            # or "telegram"

# Run workflow (halts for approval before sending)
lobster run workflows/briefing.yaml --args-json '{"time":"morning","lang":"de"}'

CLI (Legacy)

# Generate a briefing
finance-news briefing --morning --lang de

# Use fast mode + deadline (recommended)
finance-news briefing --morning --lang de --fast --deadline 300

Environment Variables

VariableDescriptionExample
FINANCE_NEWS_TARGETDelivery target (WhatsApp JID, group name, or Telegram chat ID)120363421796203667@g.us
FINANCE_NEWS_CHANNELDelivery channelwhatsapp or telegram
SKILL_DIRPath to skill directory (for Lobster)$HOME/projects/finance-news-openclaw-skill

Installation

Option 1: Docker (Recommended)

git clone https://github.com/kesslerio/finance-news-openclaw-skill.git
cd finance-news-openclaw-skill
docker build -t finance-news-briefing .

Option 2: Native Python

# Clone repository
git clone https://github.com/kesslerio/finance-news-openclaw-skill.git \
    ~/openclaw/skills/finance-news

# Create virtual environment
cd ~/openclaw/skills/finance-news
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Create CLI symlink
ln -sf ~/openclaw/skills/finance-news/scripts/finance-news ~/.local/bin/finance-news

Configuration

Configuration is stored in config/config.json:

  • RSS Feeds: Enable/disable news sources per region
  • Markets: Choose which indices to track
  • Delivery: WhatsApp/Telegram settings
  • Language: German (de) or English (en) output
  • Schedule: Cron times for morning/evening briefings
  • LLM: Model order preference for headlines, summaries, translations

Run the setup wizard for interactive configuration:

finance-news setup

Lobster Workflow

The skill includes a Lobster workflow (workflows/briefing.yaml) that:

  1. Generates briefing via Docker
  2. Translates portfolio headlines (German only, via openclaw)
  3. Halts for approval (shows preview)
  4. Sends macro briefing to channel
  5. Sends portfolio briefing to channel

Workflow Arguments

ArgDefaultDescription
timemorningBriefing type: morning or evening
langdeLanguage: en or de
channelenv varwhatsapp or telegram
targetenv varGroup JID/name or chat ID
fastfalseUse fast mode (shorter timeouts)

Portfolio

Manage your stock watchlist in config/portfolio.csv:

finance-news portfolio-list              # View portfolio
finance-news portfolio-add NVDA          # Add stock
finance-news portfolio-remove TSLA       # Remove stock
finance-news portfolio-import stocks.csv # Import from CSV

Portfolio briefings show:

  • Top gainers and losers from your holdings
  • Relevant news articles with translations
  • Shortened hyperlinks for easy access

Dependencies

  • Python 3.10+
  • Docker (recommended)
  • openclaw CLI (for message delivery and LLM)
  • Lobster (for workflow automation)

Optional

  • OpenBB (openbb-quote) for enhanced market data

License

Apache 2.0 - See LICENSE file for details.

Related Skills

  • task-tracker: Personal task management with daily standups

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

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

Configuration

### Portfolio CSV Format Location: `~/clawd/skills/finance-news/config/portfolio.csv` ```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

FAQ

How do I install finance-news?

Run openclaw add @kesslerio/finance-news in your terminal. This installs finance-news into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/kesslerio/finance-news. Review commits and README documentation before installing.