Skip to content
cccskills
FreePublished on GitHub

rss-feeds

Read website updates from RSS, Atom, or JSON feeds and return entries in date order. Discover feeds from ordinary page URLs, filter by date or entry count, and collect titles, links, authors, and summaries.

OriginalShow the original description

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

Works withYouTubeReddit
See how to install

Good for

  • Checking recent posts on a blog or news site
  • Finding feed URLs for a website
  • Collecting recent GitHub release entries
  • Preparing updates for a recurring digest

Files included (2)

  • SKILL.md4.5 KB
  • scripts/feed.py9.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

1password

FreeSummaryAI rating 100

Set up the 1Password CLI and use stored passwords or API keys in commands and configuration templates. Choose an authentication method, retrieve secret references, and pass credentials to processes through environment variables.

  • Installing and configuring the 1Password CLI
  • Running commands with stored API keys
  • Filling configuration templates with stored secrets
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

3-statement-model

FreeSummaryAI rating 90

Build an Excel workbook linking the income statement, balance sheet, and cash flow statement. Populate historical figures, create formula-based forecasts, compare scenarios, and check that balances and cash totals agree across all three statements.

  • Populating a financial model template with historical data
  • Building linked forecasts across three financial statements
  • Comparing base, upside, and downside scenarios
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

accelerate

FreeSummary

Adapt existing PyTorch training scripts to use multiple GPUs or machines with limited code changes. The skill guides configuration, launch commands, mixed precision, which uses lower-precision numbers, and DeepSpeed or FSDP settings for distributing training work and memory.

  • Move a single-GPU training script to multiple GPUs
  • Configure mixed precision training
  • Set up DeepSpeed or FSDP to reduce memory use
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

actual-setup

FreeSummary

Configure Hermes to run AI models through Actual Computer on your own hardware. Set up either the hosted relay or a local connection, select models, verify responses, and troubleshoot request errors or empty output.

  • Connecting Hermes with an Actual inference key
  • Running models through a local Actual daemon
  • Downloading and loading local models
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

adversarial-ux-test

FreeSummaryAI rating 80

Test an app from the perspective of a frustrated, less technical user. Find confusing steps and barriers, separate actionable usability problems from personal complaints, and produce screenshots, suggested fixes, and prioritized tickets.

  • Reviewing usability before a launch or demo
  • Checking the experience of a new user
  • Finding friction in signup and subscription flows
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

agent-merge-conflict-arbiter

FreeSummaryAI rating 100

Resolve Git merge conflicts between two agents by comparing both changes and their stated goals. Combine compatible work, explain choices where designs differ, and verify the merged result with project builds or tests.

  • Resolving conflicts between branches edited by two agents
  • Integrating changes from parallel worktrees
  • Reviewing reasons for conflicting design choices
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

See all skills by NousResearch

Report a problem with this skill