feat(skills): author the Continuous Research skills, and make its roles honest
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]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e20b321055
commit
a2d7e3ea92
@@ -0,0 +1,56 @@
|
||||
---
|
||||
name: executive-summary-writing
|
||||
description: 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.
|
||||
when_to_use: You are writing digest or analysis entries for harvested research items.
|
||||
tags: [research, writing]
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
```yaml
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user