Awesome-openclaw-skills openclaw-feeds
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/openclaw-feeds" ~/.claude/skills/sundial-org-awesome-openclaw-skills-openclaw-feeds && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/openclaw-feeds" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-openclaw-feeds && rm -rf "$T"
skills/openclaw-feeds/SKILL.mdFeeds
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 |
|---|---|---|
| 21 | Ars Technica, Wired, TechCrunch, The Verge, NYT, Heise, Quanta, Aeon, Nautilus, and more |
| 10 | GameStar, GamesGlobal, PC Gamer, Polygon, Kotaku, IGN, Rock Paper Shotgun, GamesIndustry.biz |
| 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 |
|---|---|
| Headline text |
| Link to full article |
| Domain name of the feed source |
| Publication date as provided by the feed |
| Brief description, HTML stripped, max 500 chars |
CLI Reference
| Flag | Description |
|---|---|
| Feed category: , , or (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.