🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Morning Briefing AI News

by @justintieu

AI industry news aggregation from curated RSS feeds. Catches model releases from major labs.

Versionv0.1.0
Downloads395
TERMINAL
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):

  • TLDR AI β€” Daily AI industry digest
  • Hacker News β€” Breaking tech news
  • The Decoder β€” AI-focused site
  • Last Week in AI β€” Weekly roundup
  • Marktechpost β€” Research coverage
  • Lab Blogs (via Olshansk/rss-feeds):

  • Anthropic News β€” Company announcements
  • Claude Blog β€” Product updates and guides
  • Anthropic Red Team β€” Safety research
  • OpenAI Research β€” GPT releases (⚠️ currently empty)
  • xAI News β€” Grok releases (⚠️ stale since Sept 2025)
  • Google AI β€” Gemini/DeepMind
  • Claude Code Changelog β€” CLI updates
  • AI Coding Tools (via Olshansk/rss-feeds):

  • Cursor Blog β€” Cursor editor releases
  • Windsurf Blog β€” Windsurf/Codeium releases
  • Ollama Blog β€” Local model runner updates
  • 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

    /ai-news-YYYY-MM-DD.md using the Write tool 3. Write a links reference file to /ai-news-YYYY-MM-DD-links.md 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:

  • Log the error
  • Continue with remaining feeds
  • Note failed sources in output
  • 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".