跳到主要内容
知仓学习社ZHICANG

rss-digest

Fetch and digest any RSS or Atom feed with zero API keys — curl plus disciplined parsing into a ranked, deduplicated briefing instead of a link dump…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

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

  1. 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>.
  2. 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.
  3. The one-line rule: each item's line comes from its description/summary content — what the piece actually says — not a restatement of its title. When the description is empty or useless, say what can be said from the title and mark it thin; fetch the full article only if the user asks for a deep-dive on an item.
  4. Dedup and order: same-story detection across feeds by normalized title/URL similarity; ordering is newest-first within the window, or grouped by source when the user's mental model is per-source.
  5. Honest dating: pubDate/updated converted to the user's zone; items without dates are labeled undated, not invisibly slotted; and the digest states its own window ("covering the last 48h as of [time]").

Output Format

Digest: [N sources] — [window], as of [time]

[If a lens was set: the matching items first.]

[Source A]

  • [date] [title] — [one line of what it says] ([link])

[…]

[Duplicates noted: "also covered by X, Y" · thin-description items marked]

Feeds: [curl per feed] · window: [the since-filter applied]

Quality Checks

  • [ ] Every item line summarizes the description, not the title
  • [ ] The window is stated and applied — no undated "new"
  • [ ] Cross-feed duplicates are merged with sources noted
  • [ ] Malformed feeds produce a note, not silent item loss
  • [ ] Feed discovery was attempted when given a bare site URL

Anti-Patterns

  • [ ] Do not output a link dump — the one-line-of-substance rule is the product
  • [ ] Do not restate titles as summaries — the description field exists; use it or mark the item thin
  • [ ] Do not fetch every full article by default — the feed's own content first, deep-dives on request
  • [ ] Do not present an old cached item as new — the window does the filtering, visibly
  • [ ] Do not invent a feed's contents when the fetch fails — report the failure and move to the sources that answered

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 rss-digest 的技能。它们内容并不相同,别混用: