Files
clawmates/skills/research/arxiv-daily.md
T
Omar SobhandClaude Opus 5 a2d7e3ea92
deploy / test (push) Successful in 4m4s
deploy / build (push) Successful in 1m45s
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]>
2026-08-17 14:44:03 -07:00

2.2 KiB

name, description, when_to_use, tags
name description when_to_use tags
arxiv-daily What the arXiv harvest already guarantees, and what an agent must therefore not redo. You are working with a harvest manifest in a Continuous Research mission.
research
sources

The harvest is already done when you start

Searching arXiv is not your job. Before your phase launches, the server has already run the harvest: searched each topic, checked the seen-set, downloaded each new PDF, verified it, shelved it in blob storage and written a vault note. It takes seconds and it is deterministic.

Your input is the result:

ContinuousResearch/<date>/harvest.jsonl
  { source, url, title, snippet, first_seen, topic_tags }

One line per paper that is new since the last run. Papers already covered are not in it — by design, not omission.

What that guarantees

  • No repeats across runs. corpus_items is keyed arxiv:<id> with the version suffix stripped, so 2401.12345v3 cannot reappear as new because v1 was seen. This is the entire reason a recurring mission is worth having.
  • Every shelved paper has a real PDF. Fetched bytes are rejected unless they start with %PDF — arXiv serves an HTML holding page while a paper renders, and shelving that would leave an unreadable file behind a checkmark.
  • A failed download stays unseen. The checkmark is written last, after the PDF and the note are both on disk, so a paper that failed halfway is retried next run rather than being lost behind a mark that says it was handled.

What that means for you

  • Do not search arXiv yourself. Anything you find outside the manifest is either already covered or was deliberately not selected, and shelving it outside the pipeline leaves the seen-set wrong.
  • Do not treat an empty manifest as a failure. A quiet day is a real outcome. Say "nothing new today" and stop — do not go looking for something to talk about.
  • Do read the paper. The manifest's snippet is a trimmed abstract, and the abstract is the authors' pitch. curl the arXiv abstract page for the rest. What a paper claims and what its evaluation shows differ often enough that catching the gap is most of the value you add.