Most financial news apps give you everything. Bloomberg, Reuters, CNBC — the feed is constant and mostly noise.
I wanted one thing: five headlines a day that are actually relevant to what I'm holding, with a sentiment score and a 2-sentence summary. Delivered to Telegram by 6am.
The Claude Code skill that does this costs about $0.003/day to run.
What it does
Every morning at 05:45 KST, the skill:
- Pulls from 4 RSS feeds (TechCrunch, The Verge, Hacker News, Bloomberg tech)
- Filters for keywords matching configured tickers and sectors
- Scores each article: positive / negative / neutral + magnitude (1-5)
- Selects the top 5 by combined relevance + sentiment magnitude
- Generates a 2-sentence summary per article
- Delivers to Telegram as a formatted card
The Telegram output
📰 Morning Briefing — May 14, 2026
━━━━━━━━━━━━━━
1. NVIDIA raises data center guidance ahead of Q2 earnings
Sentiment: 📈 Positive (4/5)
NVDA may see gap-up open. Options flow showing call buying yesterday.
[Reuters]
━━━━━━━━━━━━━━
2. Fed speakers signal July cut timing uncertain
Sentiment: ⚠️ Neutral (3/5)
Rate sensitivity elevated in tech positions. Watch IWM/TLT spread.
[Bloomberg]
...
Five cards. Each with a sentiment score, a 2-sentence interpretation, and the source. No app to open, no feed to scroll.
Architecture
This is built as a Node.js pipeline that Claude Code orchestrates:
RSS feeds → Collector → Claude filter/rank → Claude summarize → Telegram
Collector: rss-parser pulls feeds, deduplicates by URL, stores to SQLite.
Filter/rank: Claude API call with the full list of articles. Prompt asks for the top 5 by relevance to configured sectors and tickers, ranked by impact.
Summarize: Second Claude API call, one per selected article. Generates the 2-sentence summary and sentiment score.
Telegram: Formatted message via bot API.
Total Claude API cost per run: ~$0.003 at Haiku pricing.
Configuration
Natural language in the SKILL.md:
Track these sectors: AI infrastructure, semiconductors, rates/macro
Track these tickers: NVDA, AAPL, IWM, TLT
Deliver at 05:45 KST via Telegram
Claude parses this and passes it as context to the filter prompt. No JSON config file.
Why RSS instead of a news API
Polygon.io, Bloomberg API, and similar services cost $50-500/month for news access. Yahoo Finance's news endpoint is unreliable and rate-limited.
RSS is free, predictable, and the major publications maintain their feeds. The signal-to-noise ratio is lower than a paid API, but the filter step handles it — Claude selects based on relevance, not just keywords.
Latency and reliability
The pipeline runs in under 60 seconds end-to-end on a $6/month VPS. If it fails (RSS timeout, Telegram API error), it retries once and logs the failure.
I've been running this for 3 weeks. Three failures — two RSS timeouts during holidays, one Telegram rate limit during a market volatility spike.
Installation (free)
The News Sentiment Engine is in the free tier:
git clone https://github.com/tellmefrankie/ai-investment-skills?utm_source=devto&utm_medium=article
cp news-sentiment-engine/SKILL.md ~/.claude/skills/news-sentiment-engine.md
You need a Telegram bot token (free from @botfather) and an Anthropic API key.
Then in Claude Code:
/news-sentiment-engine
Track: AI, semiconductors, NVDA, AAPL
Deliver to Telegram at 6am
The full morning briefing (9-wave analysis including options flow, technicals, and portfolio stress test) is in the Pro Bundle ($29).
Repo: github.com/tellmefrankie/ai-investment-skills — MIT licensed.
Not financial advice.
Top comments (0)