Morning Briefing AI News
by @justintieu
AI industry news aggregation from curated RSS feeds. Catches model releases from major labs.
clawhub install ai-news-skillπ About This Skill
name: ai-news description: AI industry news aggregation from curated RSS feeds. Catches model releases from major labs. homepage: https://github.com/tensakulabs/ai-news-skill user-invocable: true metadata: openclaw: emoji: "π°" requires: bins: [] env: []
AI News Skill
Fetch and summarize AI industry news from curated RSS feeds. Designed to catch major model releases (GPT, Claude, Gemini, Grok, GLM, etc.) and important AI news.
Usage
Invoke with /ai-news or ask for "AI news", "morning briefing", "what's new in AI".
Feeds
This skill fetches from 15 curated sources:
Aggregators (daily/weekly digests):
Lab Blogs (via Olshansk/rss-feeds):
AI Coding Tools (via Olshansk/rss-feeds):
Instructions
Step 0: Idempotency Check (Save Mode Only)
If --save was requested AND --regenerate was NOT specified:
1. Determine today's briefing path (same logic as Step 7.5)
2. Check if ai-news-YYYY-MM-DD.md already exists at that path
3. If it exists β read and return its contents to the user with note: (Cached β run with --regenerate to refresh)
4. If it does not exist β proceed to Step 1
If --save was NOT requested, skip this step entirely.
Step 1: Load Feed Configuration
Read the feed list from feeds.json in this skill directory.
Step 2: Fetch Feeds (Parallel)
For each feed in feeds.aggregators, feeds.labs, and feeds.tools, use web_fetch to retrieve the RSS content:
web_fetch(url: "", extractMode: "text")
Fetch priority 1 feeds first, then priority 2.
Step 3: Parse RSS Items
RSS feeds are XML. Extract items using these patterns:
-
...
...
...
...
For Atom feeds:
...
...
...
Step 4: Filter by Date
Compute cutoff = current datetime - exactly 86400 seconds (24 hours).
Discard any item where pubDate or published is earlier than cutoff.
Do not round or approximate β if an item is 25 hours old, it is excluded.
Weekly mode (user says "week" or "last 7 days"): use 604800 seconds instead.
Step 5: Deduplicate
Same story may appear in multiple feeds. Dedupe by: 1. Exact title match 2. Similar title (>80% overlap) 3. Same link URL
Keep the version from the highest-priority source.
Step 6: Categorize
Assign each item to a category:
| Category | Keywords | |----------|----------| | Model Releases | "release", "launch", "announce", model names (GPT, Claude, Gemini, Grok, GLM, Llama) | | Research | "paper", "research", "study", "benchmark" | | Industry | "funding", "acquisition", "hire", "layoff", "IPO" | | Product | "feature", "update", "API", "pricing" | | Opinion | "think", "believe", "future", "prediction" |
Step 7: Format Output
# AI News Briefing
Date: [today's date]
Sources: [count] feeds checked
Period: Last 24 hours
Model Releases
1. [Title] β [1 sentence summary]. [Source]
2. ...Research
1. [Title] β [1 sentence summary]. [Source]
...Industry News
1. [Title] β [1 sentence summary]. [Source]
...
Coverage Gap: Chinese AI labs (Zhipu, DeepSeek, Baidu, Alibaba) don't publish RSS. Check manually for major releases.
Step 7.5: Save to File (Optional)
Only activate this step if the user explicitly requested it β via --save, save to file, or similar phrasing. Do NOT save by default.
If saving is requested:
1. Determine the save directory:
- If the user specified a path in their request, use that path exactly
- Otherwise default to ~/ai-news/ where date is today's date in YYYY-MM-DD format
2. Write the full formatted briefing to using the Write tool
3. Write a links reference file to using the Write tool:
# AI News Links β YYYY-MM-DD
## Model Releases
- Title
## Research
- Title
## Industry News
- Title
Include every item from the briefing with its source URL.
4. Confirm to the user:
Saved to /ai-news-YYYY-MM-DD.md
Links β /ai-news-YYYY-MM-DD-links.md
Step 8: Handle Errors
If a feed fails to fetch:
Customization
Edit feeds.json to add/remove feeds, change priorities, or enable optional feeds. See README.md for cron integration and full documentation.
π‘ Examples
Invoke with /ai-news or ask for "AI news", "morning briefing", "what's new in AI".