percolate-reading
Review saved web captures or maintained quote notes in this repository's Markdown knowledge base, turn selected sources into evidence-backed reading digests or complete reading notes, and project only
SKILL.md.agents/skills/percolate-reading/SKILL.md
GitHubPercolate Reading
Move reviewed knowledge from the private vault to the public reading surface without making the website depend on the vault.
Boundary
- Markdown and Git in
kb/are the editorial authority. - A capture is evidence, not permission to publish.
- Only a maintained note at
kb/notes/reading/<slug>.mdwithreading.status: publishedenters the public registry. - The projector is local, deterministic, and network-silent.
- Production imports
personal-website/app/reading/entries.generated.ts; it never readskb/, capture manifests, cookies, browser state, or authenticated material. - Do not publish a private capture merely because its sanitizer removed obvious secrets. Screenshots and prose can still contain private information.
Read references/entry-format.md before creating or changing a reading note.
Inspect the inbox
List manifest-backed web captures that have no related reading note:
bun run reading:inbox
bun run reading:inbox --json
The inbox is advisory and read-only. Partial captures, private acquisition methods, warnings, and non-publishable capture states are reported as review signals. Do not convert them automatically.
Use $query-kb to inspect a candidate capture, its manifest, related notes, and relevant provenance. Re-capture with $save-url-kb or $save-pdf-kb when the evidence is incomplete rather than filling gaps from memory.
Choose a form
Use a digest for a public web source when a concise gist, three to five useful ideas, and up to four short verified quotations are the public object.
Use a note when the complete reviewed passage is the public object. Complete notes require reviewed public source metadata, a confined evidence note, a precise evidence locator, full_text_reviewed: true, and an explicit republication basis before publication.
Keep new notes in draft until every public field, quotation, date, author, source URL, evidence relation, privacy boundary, and publication-rights claim has been reviewed.
Write from evidence
- Read the entire relevant capture or evidence note. Preserve uncertainty and capture warnings.
- Confirm the canonical HTTPS source URL and remove tracking parameters.
- Verify author, publication, and date metadata against the saved evidence. Do not invent missing precision.
- Write the maintained note exactly to the selected schema.
- For digests, verify every quote occurs verbatim in a distinct passage of the captured text. Each quote is at most 25 words; all quotes together are at most 100 words.
- For complete notes, confirm transcription, formatting, privacy, source accuracy, evidence location, and republication basis. Review flags record editorial work; they do not create rights.
- Keep private vault paths, acquisition details, warnings, evidence IDs, and review-only flags out of public prose.
Validate and publish
Validate drafts and published notes without writing:
bun run reading:check
When the note is ready, set reading.status: published, then regenerate:
bun run reading:generate
bun run reading:check
bun run kb:refresh
bun run kb:check
Review the generated diff. It should contain only public fields: slug, title, dates, reviewed source metadata, and the selected digest or complete-note content.
Run bun run check before handoff. The application tests cover reading routes, Atom serialization, bookshelf data, SEO metadata, and the generated-file boundary.
Existing entries
Edit the maintained KB note, never entries.generated.ts by hand. Re-run generation and review the public diff. To unpublish an entry, change its status to draft and regenerate; do not delete the evidence solely to remove the public projection.