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" → INLINECODE0
- "finance", "markets", "money", "stocks", "economy" → INLINECODE1
- "games", "gaming" → INLINECODE2
| Category | Feeds | Sources |
|---|
| INLINECODE3 | 21 | Ars Technica, Wired, TechCrunch, The Verge, NYT, Heise, Quanta, Aeon, Nautilus, and more |
| INLINECODE4 |
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.
CODEBLOCK0
Output Format
The script streams a JSON array. The first element is metadata, the rest are entries:
CODEBLOCK1
| Field | Description |
|---|
| INLINECODE6 | Headline text |
| INLINECODE7 |
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 |
|---|
| INLINECODE11 | Feed category: news, games, or finance (required) |
Presenting Results
After parsing the output, present a structured, concise rundown:
- 1. 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:
CODEBLOCK2
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.
Feeds
RSS新闻聚合器。从三个类别(新闻、游戏、财经)的精选订阅源中获取所有当前条目。支持并发获取,输出流式JSON格式。无需API密钥。
约束条件
当此技能激活时,不得使用网络搜索、WebFetch、浏览器工具或任何其他URL获取工具。RSS订阅源是唯一的数据来源。不得通过外部搜索补充、验证或扩展结果。不得获取文章URL——摘要已包含在输出中。
类别
根据用户消息检测类别:
- - news、headlines、nachrichten、tech news → news
- finance、markets、money、stocks、economy → finance
- games、gaming → games
| 类别 | 订阅源数量 | 来源 |
|---|
| news | 21 | Ars Technica、Wired、TechCrunch、The Verge、NYT、Heise、Quanta、Aeon、Nautilus 等 |
| 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 |
订阅源列表定义在 scripts/lists.py 中。
调用方式
每个类别运行一次调用。如果用户要求多个类别,则运行多次。
bash
python3 scripts/feeds.py --category news
python3 scripts/feeds.py --category games
python3 scripts/feeds.py --category finance
输出格式
脚本输出流式JSON数组。第一个元素是元数据,其余为条目:
json
[{category: news, totalentries: 142, sources: [aeon.co, arstechnica.com], fetchedat: 2026-01-31 22:00:00}
,{title: 头条标题, url: https://example.com/article, source: arstechnica.com, date: Fri, 31 Jan 2026 12:00:00 GMT, summary: 简要摘要文本...}
]
完整文章链接 |
| source | 订阅源域名 |
| date | 订阅源提供的发布日期 |
| summary | 简要描述,已去除HTML,最多500字符 |
CLI参考
| 标志 | 描述 |
|---|
| -c, --category | 订阅源类别:news、games 或 finance(必填) |
结果呈现
解析输出后,呈现结构化、简洁的概要:
- 1. 按主题分组 — 将相关报道归类到标题下(例如科技与行业、科学、市场、加密货币)
- 保持简洁 — 每条包含标题 + 一行摘要 + 来源归属
- 链接到来源 — 使用Markdown链接,方便用户阅读更多内容
- 去重 — 如果多个订阅源报道同一故事,只提及一次并注明跨来源覆盖
- 突出重大新闻 — 如果某故事出现在3个以上来源中,显著标出
示例输出:
科技与行业
- - 标题 — 一行摘要 (来源)
- 标题 — 一行摘要 (来源)
科学
边界情况
- - 失败或超时的订阅源(15秒超时)将被静默跳过——剩余订阅源仍返回结果。
- 如果返回零条目,脚本退出并输出 {error: 未找到条目, category: ...}。
- 部分条目可能缺少摘要——但仍会包含标题、URL和来源。