About blog-feed-monitor
A command-line skill that collects blog posts from RSS and Atom feeds, with optional Apify fallback for sites that cannot be handled through feed discovery. It supports filtering by date and keywords.
Key features
- 01Discover RSS and Atom feeds
- 02Filter posts by date and keywords
- 03Set a maximum number of posts
- 04Use Apify as a fallback
Use cases
- 01Monitor recent posts across blogs
- 02Find posts matching selected keywords
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill blog-feed-monitorAfter installing, type/blog-feed-monitorin Claude Code to confirm it loaded.
Bundled filesscripts/scrape_blogs.pyskill.meta.json
Details
From the project READMEBlog 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)
- 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
- Checks HTML
- Parses discovered feeds (supports RSS 2.0 and Atom)
- If any URLs fail, falls back to Apify
jupri/rss-xml-scraper(if token available) - Applies date and keyword filtering client-side
Note: The Apify fallback actor
jupri/rss-xml-scrapermay 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
| Flag | Default | Description |
|---|---|---|
--urls | required | Blog URL(s), comma-separated |
--keywords | none | Keywords to filter (comma-separated, OR logic) |
--days | 30 | Only include posts from last N days |
--max-posts | 50 | Max posts to return |
--mode | auto | auto (RSS + fallback), rss (RSS only), apify (Apify only) |
--output | json | Output format: json or summary |
--token | env var | Apify token (only needed for Apify mode/fallback) |
--timeout | 300 | Max seconds for Apify run |
Cost
- RSS mode: Free (no API, no tokens)
- Apify mode: Uses
jupri/rss-xml-scraper-- minimal Apify credits
Comments
Markdown supported