New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Scrape blog posts via RSS feeds with Apify fallback

Blog feed monitor

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Blog feed monitor cover

Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites. Use when you need to monitor competitor blogs, track industry content, or aggregate blog posts by keyword.

---
name: blog-feed-monitor
description: >
  Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for
  JS-heavy sites. Use when you need to monitor competitor blogs, track industry
  content, or aggregate blog posts by keyword.
---

# 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.

```bash
# Scrape a blog's RSS feed

Overview

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

Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill blog-feed-monitor -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/monitoring/capabilities/blog-feed-monitor
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/29d1b89ef314de24f1d2/blog-feed-monitor.zip" -OutFile "$env:TEMP\blog-feed-monitor.zip"; Expand-Archive "$env:TEMP\blog-feed-monitor.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md2.3 KB
  • skill.meta.json256 B
  • scripts/1 file · 15.0 KB
Read the files here
gooseworks-ai/615c6853 files
SKILL.md
Show the full text66 lines

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

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
1---
2name: blog-feed-monitor
3description: >
4 Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for
5 JS-heavy sites. Use when you need to monitor competitor blogs, track industry
6 content, or aggregate blog posts by keyword.
7---
8 
9# Blog Feed Monitor
10 
11Scrape blog posts via RSS/Atom feeds (free) with optional Apify fallback for JS-heavy sites.
12 
13## Quick Start
14 
15No API key needed for RSS mode.
16 
17```bash
18# Scrape a blog's RSS feed
19python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
20 --urls "https://example.com/blog" --days 30
21 
22# Multiple blogs with keyword filter
23python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
24 --urls "https://blog1.com,https://blog2.com" --keywords "AI,marketing" --output summary
25 
26# Force Apify for JS-heavy sites
27python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
28 --urls "https://example.com" --mode apify
29```
30 
31## How It Works
32 
33### Auto Mode (default)
341. For each URL, tries to discover an RSS/Atom feed:
35 - Checks HTML `<link rel="alternate">` tags
36 - Probes common paths: `/feed`, `/rss`, `/atom.xml`, `/feed.xml`, `/rss.xml`, `/blog/feed`, `/index.xml`
372. Parses discovered feeds (supports RSS 2.0 and Atom)
383. If any URLs fail, falls back to Apify `jupri/rss-xml-scraper` (if token available)
394. Applies date and keyword filtering client-side
40 
41> **Note:** The Apify fallback actor `jupri/rss-xml-scraper` may need updating -- it has not been verified recently. RSS mode works reliably without it.
42 
43### RSS Mode
44Only tries RSS feeds, no Apify fallback.
45 
46### Apify Mode
47Uses Apify actor directly, skipping RSS discovery.
48 
49## CLI Reference
50 
51| Flag | Default | Description |
52|------|---------|-------------|
53| `--urls` | *required* | Blog URL(s), comma-separated |
54| `--keywords` | none | Keywords to filter (comma-separated, OR logic) |
55| `--days` | 30 | Only include posts from last N days |
56| `--max-posts` | 50 | Max posts to return |
57| `--mode` | auto | `auto` (RSS + fallback), `rss` (RSS only), `apify` (Apify only) |
58| `--output` | json | Output format: `json` or `summary` |
59| `--token` | env var | Apify token (only needed for Apify mode/fallback) |
60| `--timeout` | 300 | Max seconds for Apify run |
61 
62## Cost
63 
64- **RSS mode:** Free (no API, no tokens)
65- **Apify mode:** Uses `jupri/rss-xml-scraper` -- minimal Apify credits
66 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 206 listings
View creator

Made with blog-feed-monitor

Blog feed monitor — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)
Blog feed monitor — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)

by gooseworks-ai

Similar skills

See all →
SkillAI crawler access analysisAI Crawler Access Analysis Skillzubair-trabzada/geo-seo-claude · by zubair-trabzadaAI crawler access analysis. Checks robots.txt, meta tags, and HTTP headers to determine which AI crawlers can access the site. Provides a complete access map and recommendations for maximizing AI visibility while maintaining appropriate control.★ 10.8k GitHub starsSkillAutomate browser tasks, scrape websites, fill formsBrowser Automation - POWERFULalirezarezvani/claude-skills · by alirezarezvaniUse when the user asks to automate browser tasks, scrape websites, fill forms, capture screenshots, extract structured data from web pages, or build web automation workflows. NOT for testing — use playwright-pro for that.★ 26.3k GitHub starsSkillBrowser automation skill for controlling Google's NotebookLMNotebookLM — Browser Automationalirezarezvani/claude-skills · by alirezarezvaniBrowser automation skill for controlling Google's NotebookLM. Use when the user wants anything done in NotebookLM (e.g., 'open NotebookLM', 'check my [name] notebook', 'ask my notebook about X', 'add [source] to NotebookLM', 'generate a Video Overview from my notebook', 'use NotebookLM Studio'). Handles reading and querying notebooks, adding sources (URLs, text, files, YouTube links, synthesized content), generating Studio outputs (Audio/Video Overviews, Mind Maps, Reports incl. Briefing Doc/Study Guide/FAQ, Flashcards, Quiz, slide decks, infographics — discover the exact set from the live Studio panel; the UI evolves fast), and creating new notebooks. Requires browser automation environment — fails gracefully when unavailable.★ 26.3k GitHub starsSkill4-tier progressive web scraping that auto-escalates WebFetchBrightdatadanielmiessler/LifeOS · by danielmiessler4-tier progressive web scraping that auto-escalates WebFetch to curl to Interceptor to Bright Data proxy for bot detection and CAPTCHAs, with single-URL and multi-page crawl modes, output as markdown. USE WHEN Bright Data, scrape URL, web scraping, bot detection, crawl site, CAPTCHA, can't access, site blocking, extract page content, scrape whole site, spider domain, convert URL to markdown, getting blocked. NOT FOR simple public content (use WebFetch directly), social platform scraping with named actors (use Apify), or real-Chrome bot bypass with logged-in sessions and zero CDP fingerprint (use Interceptor).★ 19.3k GitHub starsSkillExtract structured data from web pages using AIExtract webpage datagooseworks-ai/goose-skills · by gooseworks-aiExtract structured data from web pages using AI★ 1.2k GitHub starsSkillBrowser automation - control browser sessions, scrape pagesNotte - Browser Automation APIgooseworks-ai/goose-skills · by gooseworks-aiBrowser automation - control browser sessions, scrape pages, and run AI agents★ 1.2k GitHub stars

More from gooseworks-ai

SkillMine the highest-converting ad angles from customer reviewsAd angle minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAnalyze ad campaign performance data to identify what'sAd campaign analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillAnalyze the message match between your ads and landing pagesAd to landing page auditorgooseworks-ai/goose-skills · by gooseworks-aiAnalyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.★ 1.2k GitHub starsSkillCheck and improve your brand's visibility across AI searchAeogooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillSearch Amazon products - find items, compare pricesAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub stars