Use when the user wants to discover papers, summarize a candidate, ingest approved papers, directly add an arXiv URL or arXiv DOI, or process inbox approvals.
Move papers from discovery to raw evidence without bypassing the human approval boundary. The visible path is inbox/ -> raw/evidence/ -> wiki/papers/.
For read/index work, consult docs/qmd-cli.md and runtime qmd --help.
| Tool | Purpose |
|---|---|
discover_papers | Search, score, deduplicate, and write inbox stubs |
ingest_and_read | Capture approved inbox notes or one direct arXiv URL / DOI |
upsert_wiki_page | Create canonical paper pages after reading and distilling |
check_concept_alias | Resolve uncertain concept names before creating core concept pages |
Execute this decision tree before any tool call:
ingest_and_read(input_value=...).ingest_and_read(input_value="approved").discover_papers(query=...), then stop and tell the user to approve inbox stubs by adding #approved in the note body.qmd query or qmd get.upsert_wiki_page(page_type="paper", ...).#approved tag in the inbox note body counts.raw/evidence/ by hand. It is normally read-only after capture; capture repair may rewrite the same paper ID.ingest_and_read(input_value="approved") reads approved inbox notes and writes captured Markdown to raw/evidence/.ingest_and_read(input_value=<identifier>) accepts direct arXiv URLs and arXiv DOI values.paper_id, title, raw evidence path, and any errors.After reading and distilling captured evidence:
qmd query to find related papers and concepts.qmd get for any cited local pages you need to inspect.upsert_wiki_page(page_type="paper", target=..., frontmatter=..., body=...).check_concept_alias first when the canonical surface is uncertain.insights/conversations/ through the Python write path. Do not save verbatim transcripts or edit insight files by hand.qmd query, qmd get, qmd status, qmd update, qmd embed -f, and collection/context health.docs/qmd-cli.md first for the Paper Distill mapping.qmd --help.This skill is responsible for intent routing, enforcing approval, summarizing outcomes, and suggesting the next useful action.
Python tools are responsible for deterministic I/O, path safety, capture, and structured errors.