The boot log has said `continuous_research — 4 role skills bound, 8 unresolved`
on every start. Those eight roles ran without the instructions their template
promised them, silently: `skills_loader` reports the miss and carries on.
Worse than the missing files was what the prompts described. v1 told the
harvester to sweep "RSS feeds, GitHub trending, HN front page, YouTube /
podcast RSS" — none of which exist. `harvest.rs` searches arXiv and nothing
else. A role prompt describing a machine that was never built is the failure
this codebase keeps paying for, so v2 describes the machine that exists.
Roles now match the pipeline: paper_reader (the harvest already ran; read the
manifest and the papers), signal_ranker (unchanged in spirit), script_writer
(the podcast half, which had no role at all).
Seven skills authored under skills/research/, kebab-case to match the loader —
team_template_loader.rs:177-181 documents the snake_case/kebab-case trap that
already unbinds skills elsewhere:
arxiv-daily what the harvest guarantees, so an agent does
NOT re-search arXiv and corrupt the seen-set
paper-to-project-relevance name a file or roadmap item, or say "no bearing"
duplicate-detection the seen-set catches identity; this catches the
same work under a different id
signal-to-noise-ranking novelty/relevance/depth, and the two biases to
resist (recency up, inconvenience down)
executive-summary-writing what it is / why it matters / what to do — decide,
do not hedge
obsidian-vault-conventions the vault is a human's live workspace; never
main, never reorganise, hash the body not the file
podcast-dialogue-writing write for someone on a treadmill; the 10-70 char
highlight bound is the API's, not a style rule
`web_fetch` dropped from mcp_bundles: runtime_provision.rs binds every mission
claw to `["clawmates_door"]` and never reads that field, so declaring it
instructed roles to use a tool that never arrived. The prompts say `curl` via
Bash, which is what they actually have.
Boot now reports `continuous_research — 11 role skills bound`, with no
unresolved clause. 344 tests pass.
Co-Authored-By: Claude Opus 5 <[email protected]>
1.9 KiB
name, description, when_to_use, tags
| name | description | when_to_use | tags | ||
|---|---|---|---|---|---|
| executive-summary-writing | Writing the three-part item entry — what it is, why it matters to us, what to do — so a digest is readable in two minutes. | You are writing digest or analysis entries for harvested research items. |
|
The three-part entry
Every item gets exactly three parts. The shape is the discipline: it makes the omissions visible.
What it is — one sentence, what they actually did. Not what it enables, not why it is exciting. If you cannot state the contribution in one sentence you have not finished reading.
Why it matters to us — the named project, file or open question it touches. If nothing applies, the item does not belong in the digest. That rule is what keeps a digest from becoming a feed.
What to do about it — one decision, from a closed set:
read fully worth an hour of someone's time
add to backlog a concrete change we should make
ignore seen, judged, not for us
escalate changes a plan we are currently executing
Decide; do not hedge
"Consider evaluating whether this might inform our approach" is four words of
decision wrapped in ten of insulation. Write ignore or write add to backlog.
Being wrong in a specific direction is recoverable; being vague is not, because
nobody can tell later whether the call was right.
Two minutes, total
Not two minutes per item — two minutes for the digest. Five items at three sentences each is roughly the budget. If an item needs more, it is not a digest entry, it is a reading note: link to it and keep the entry short.
Frontmatter carries the ratio
---
date: 2026-08-17
harvested: 23
surfaced: 4
---
Harvested-versus-surfaced tracked over time is how you notice selectivity drift. A run that surfaces everything has stopped filtering; a run that surfaces nothing for a week is either a quiet field or a broken harvest, and the counts are what tell you which.