habibur-rahman-sani/project_cleaned/rss-feeds

Claude Code and agent skill by habibur-rahman-sani/project_cleaned

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Read RSS, Atom, JSON feeds; discover feeds behind a page.

Install

npx vskill@latest install habibur-rahman-sani/project_cleaned/rss-feeds

SKILL.md

The same SKILL.md was published earlier as shiganluo/skill/rss-feeds.

RSS Feeds Skill

Reads any RSS 2.0, RSS 1.0/RDF, Atom, or JSON Feed URL into a clean, date-sorted list of entries, and discovers the feed behind an ordinary page URL (<link rel="alternate"> or the usual /feed, /rss.xml, /atom.xml paths). Standard library only, nothing to install. It does not fetch full article bodies — pass an entry's link to web_extract for that.

When to Use

  • "What's new on <blog/site>", "latest releases of <GitHub repo>", "recent posts in

<subreddit>", "read this feed", "does this site have an RSS feed".

  • Building a recurring digest with cronjob_manage (feeds are cheaper and more stable than

scraping the HTML front page every run). For a persistent read/unread database across many feeds install the optional blogwatcher skill; this skill is the zero-install read.

  • Anything where a structured list of title / link / date / author / summary beats a

rendered page: podcasts, changelogs, YouTube channels, newsrooms, forum categories.

Prerequisites

None. Python 3.10+, network access to the feed host.

How to Run

Run through terminal with the skill-relative script path:

bash
python3 scripts/feed.py read https://hnrss.org/frontpage --limit 10
python3 scripts/feed.py read https://simonwillison.net/ # page URL → discovers the feed
python3 scripts/feed.py read URL --since 2026-09-01 --json # only newer entries, machine-readable
python3 scripts/feed.py discover https://example.com/ # list candidate feed URLs

Quick Reference

SourceFeed URL pattern
GitHub releases / commits / tagshttps://github.com/OWNER/REPO/releases.atom, …/commits/BRANCH.atom, …/tags.atom
Subreddit / Reddit searchhttps://www.reddit.com/r/NAME/.rss, https://www.reddit.com/search.rss?q=… (1 req/min anon; see reddit-reading)
YouTube channelhttps://www.youtube.com/feeds/videos.xml?channel_id=UC…
Hacker Newshttps://hnrss.org/frontpage, https://hnrss.org/newest?q=TERM
arXiv categoryhttps://rss.arxiv.org/rss/cs.CL
Substack / Medium / WordPress / GhostSITE/feed, medium.com/feed/@user, SITE/rss/
Podcaststhe show's RSS URL from its hosting page (discover finds it)

Output fields per entry: title, link, published (UTC ISO 8601), author, summary (HTML stripped, ≤ 2000 chars). Entries are sorted newest-first.

Procedure

① If you only have a site URL, run read on it directly; the script discovers the feed and reports which URL it used (discovered_from). Use discover when you want to choose between several advertised feeds (comments feed vs posts feed, per-category feeds).

② Bound the request: --limit for "latest N", --since YYYY-MM-DD for "since last check". For a cron digest persist the last-seen published value and pass it as --since next run.

③ For full text, hand the entry link to web_extract; feed summaries are frequently truncated or the first paragraph only.

④ Cite the entry link, not the feed URL, when the result feeds a report (grounded-citations).

Pitfalls

  • A 200 response with HTML means the URL is a page, not a feed; the script falls through

to discovery automatically, but a site with no <link rel="alternate"> and none of the common paths reports no feed found — check the site's footer or /sitemap.xml before concluding there is none.

  • Reddit feeds share Reddit's anonymous throttle (about one request per minute per IP).

Chain them through reddit-reading, which waits out the window, when you need more than one Reddit call.

  • Dates: RSS pubDate is RFC 822 and Atom uses ISO 8601; the script normalises both to

UTC. Feeds that omit dates sort to the bottom and are dropped by --since.

  • Some feeds are Cloudflare-fronted and 403 non-browser clients; blocked-page-recovery

handles that class.

Verification

python3 scripts/feed.py read https://github.com/NousResearch/hermes-agent/releases.atom --limit 1 prints one entry with a releases/tag/ link and a [atom] format tag; discover https://simonwillison.net/ prints an /atom/ URL.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/habibur-rahman-sani/project_cleaned/rss-feeds/badge)](https://verified-skill.com/skills/habibur-rahman-sani/project_cleaned/rss-feeds)

Something wrong with this skill or its page? Tell us.