SKILL.md
RSS Digest Skill
RSS never died — every blog, newsroom, podcast, release page, and status page still speaks it, keylessly, and it remains the cleanest way for an agent to answer "what's new from the sources I care about." This skill fetches feeds with curl, parses the two dialects (RSS 2.0 and Atom) without ceremony, and produces what the user actually wanted: a dated, deduplicated briefing with one line of substance per item — not thirty titles.
What This Skill Produces
- The digest — items with date, source, title, and a one-line what-it-actually-says from the item's own description
- Cross-feed dedup — the same story via three feeds appears once, sources noted
- The since-filter — "what's new" means since the user last asked or a stated window, applied
- The commands — one curl per feed, rerunnable
Required Inputs
Ask for these if not provided:
- The feed URLs — or the site ("find the feed" is part of the job: try
/feed,/rss,/atom.xml,/index.xml, and the<link rel="alternate" type="application/rss+xml">tag in the page head) - The window — today, this week, since a date — "what's new" needs an epoch
- The lens — everything, or filtered to a topic; a briefing has a reader, and the reader has interests
Framework: Fetch, Parse, Digest
- The fetch:
curl -sL "https://hnrss.org/frontpage"— follow redirects (-L), and identify politely if a feed rejects default agents (-A "rss-digest/1.0"). Feeds are XML; both dialects carry the same essentials: RSS<item><title><link><pubDate><description>· Atom<entry><title><link href><updated><summary/content>. - Parse without heroics: items are extracted with straightforward pattern-matching on those tags; HTML inside descriptions gets stripped to text; entities decoded. Malformed feeds (common) get a best-effort parse and an honest note, not a crash or silent gaps.
