Skip to content

v0.1.0

Choose a tag to compare

@magifd2 magifd2 released this 08 Aug 07:54
· 5 commits to main since this release

Claude Code Skill that collects your own feeds, decides what is worth reading, and compiles a digest of only that.

Code here, data elsewhere

The skill holds no data. Your feed list, relevance profile, and article corpus live in a separate repository you own and keep private — it names what you watch and what you care about. .newsrc.toml is the contract between them, and the skill refuses to run against a corpus version it does not support, so an engine update cannot quietly corrupt data it cannot see. One installed skill serves any number of corpora.

The agent never writes a priority

It scores three axes — novelty (against what is already known), significance (the world with the reader removed), relevance (their own contact with it) — and a script applies the profile's decision table. There is no field for a verdict, so a score and its verdict cannot disagree.

Profiles carry all the domain knowledge: the axes, the table, the rubric, the layout, and the shape the corpus's interests.toml must have. Ships generic and security-news, which extends it. Axis IDs are shared vocabulary, so tuning a rubric leaves an accumulated corpus comparable with itself.

What else it does

  • Keeps every collected article, including the ones a rule dropped, with the rule that dropped them
  • Tracks continuing stories, and names the ones that turned up again with no new facts — the record of why something did not need reading
  • Reports a collection gap when a feed has rolled past what was last collected, rather than letting the absence read as quiet news
  • Isolates article text in nonce-delimited tags before the agent sees it
  • Names a destination, not a transport: sending uses whatever messaging tool the agent can reach at run time

Python 3.11+, standard library only. No service, no database, no credentials.

Install

Unzip into ~/.claude/skills/, or upload the zip at claude.ai under Settings → Skills. Then create a corpus from examples/corpus/ — see references/setting-up-a-corpus.md.