Feeds
RSS news aggregator. Fetches all current entries from curated feeds across three categories โ news, games, and finance. Concurrent fetching, streamed JSON output. No API key needed.
Constraint
Do NOT use web search, WebFetch, browser tools, or any other URL-fetching tool when this skill is active. The RSS feeds are the sole data source. Do not supplement, verify, or expand results with external searches. Do not fetch article URLs โ summaries are already included in the output.
Categories
Detect the category from the user's message:
- "news", "headlines", "nachrichten", "tech news" โ
news - "finance", "markets", "money", "stocks", "economy" โ
finance - "games", "gaming" โ
games
| Category | Feeds | Sources |
|---|---|---|
news |
21 | Ars Technica, Wired, TechCrunch, The Verge, NYT, Heise, Quanta, Aeon, Nautilus, and more |
games |
10 | GameStar, GamesGlobal, PC Gamer, Polygon, Kotaku, IGN, Rock Paper Shotgun, GamesIndustry.biz |
finance |
26 | Bloomberg, WSJ, FT, CNBC, MarketWatch, Seeking Alpha, The Economist, Forbes, CoinDesk, Fed, ECB |
Feed lists are defined in scripts/lists.py.
How to Invoke
Run one invocation per category. Run multiple if the user asks for more than one.
python3 scripts/feeds.py --category news
python3 scripts/feeds.py --category games
python3 scripts/feeds.py --category finance
Output Format
The script streams a JSON array. The first element is metadata, the rest are entries:
[{"category": "news", "total_entries": 142, "sources": ["aeon.co", "arstechnica.com"], "fetched_at": "2026-01-31 22:00:00"}
,{"title": "Headline Here", "url": "https://example.com/article", "source": "arstechnica.com", "date": "Fri, 31 Jan 2026 12:00:00 GMT", "summary": "Brief summary text..."}
]
| Field | Description |
|---|---|
title |
Headline text |
url |
Link to full article |
source |
Domain name of the feed source |
date |
Publication date as provided by the feed |
summary |
Brief description, HTML stripped, max 500 chars |
CLI Reference
| Flag | Description |
|---|---|
-c, --category |
Feed category: news, games, or finance (required) |
Presenting Results
After parsing the output, present a structured, concise rundown:
- Group by theme โ cluster related stories under headings (e.g. "Tech & Industry", "Science", "Markets", "Crypto")
- Keep it tight โ headline + one-line summary + source attribution per item
- Link to sources โ use markdown links so the user can read more
- Deduplicate โ if multiple feeds cover the same story, mention it once and note cross-source coverage
- Highlight big stories โ if a story appears across 3+ sources, call it out prominently
Example output:
### Tech & Industry
- **[Headline](url)** โ One-line summary *(Source)*
- **[Headline](url)** โ One-line summary *(Source)*
### Science
- **[Headline](url)** โ One-line summary *(Source)*
Edge Cases
- Failed or timed-out feeds (15s timeout) are silently skipped โ remaining feeds still return results.
- If zero entries are returned, the script exits with
{"error": "No entries found", "category": "..."}. - Some entries may lack summaries โ they will still have title, URL, and source.