Goose-skills blog-feed-monitor

install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/blog-feed-monitor" ~/.claude/skills/gooseworks-ai-goose-skills-blog-feed-monitor && rm -rf "$T"
manifest: skills/capabilities/blog-feed-monitor/SKILL.md
source content

Blog Feed Monitor

Scrape blog posts via RSS/Atom feeds (free) with optional Apify fallback for JS-heavy sites.

Quick Start

No API key needed for RSS mode.

# Scrape a blog's RSS feed
python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
  --urls "https://example.com/blog" --days 30

# Multiple blogs with keyword filter
python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
  --urls "https://blog1.com,https://blog2.com" --keywords "AI,marketing" --output summary

# Force Apify for JS-heavy sites
python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
  --urls "https://example.com" --mode apify

How It Works

Auto Mode (default)

  1. For each URL, tries to discover an RSS/Atom feed:
    • Checks HTML
      <link rel="alternate">
      tags
    • Probes common paths:
      /feed
      ,
      /rss
      ,
      /atom.xml
      ,
      /feed.xml
      ,
      /rss.xml
      ,
      /blog/feed
      ,
      /index.xml
  2. Parses discovered feeds (supports RSS 2.0 and Atom)
  3. If any URLs fail, falls back to Apify
    jupri/rss-xml-scraper
    (if token available)
  4. Applies date and keyword filtering client-side

Note: The Apify fallback actor

jupri/rss-xml-scraper
may need updating -- it has not been verified recently. RSS mode works reliably without it.

RSS Mode

Only tries RSS feeds, no Apify fallback.

Apify Mode

Uses Apify actor directly, skipping RSS discovery.

CLI Reference

FlagDefaultDescription
--urls
requiredBlog URL(s), comma-separated
--keywords
noneKeywords to filter (comma-separated, OR logic)
--days
30Only include posts from last N days
--max-posts
50Max posts to return
--mode
auto
auto
(RSS + fallback),
rss
(RSS only),
apify
(Apify only)
--output
jsonOutput format:
json
or
summary
--token
env varApify token (only needed for Apify mode/fallback)
--timeout
300Max seconds for Apify run

Cost

  • RSS mode: Free (no API, no tokens)
  • Apify mode: Uses
    jupri/rss-xml-scraper
    -- minimal Apify credits