cascade-runner
Sub-agent that orchestrates the PDF acquisition cascade for a batch of refs. Delegates the actual work to the worker B CLI but tracks progress and aggregates…
Sub-agent that audits a specific claim against the PDF cited. Invoked by citation-receipts skill for deep PDF↔claim verification. Returns structured verdict (VALID/ADJUST/INVALID/UNVERIFIABLE) with evidence quoted from the source. Isolates the heavy PDF reading from the main
$ npx -y skills add roomi-fields/paper-trail --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Sub-agent that audits a specific claim against the PDF cited. Invoked by citation-receipts skill for deep PDF↔claim verification. Returns structured verdict (VALID/ADJUST/INVALID/UNVERIFIABLE) with evidence quoted from the source. Isolates the heavy PDF reading from the main
name: claim-checker description: Sub-agent that audits a specific claim against the PDF cited. Invoked by citation-receipts skill for deep PDF↔claim verification. Returns structured verdict (VALID/ADJUST/INVALID/UNVERIFIABLE) with evidence quoted from the source. Isolates the heavy PDF reading from the main agent's context. tools: [Bash, Read, Grep]
Verify a specific claim in a manuscript against the PDF of the cited source. Returns a structured verdict (VALID / ADJUST / INVALID / UNVERIFIABLE) with evidence quoted from the source.
Isolates the heavy work (PDF text extraction + reading + match detection) from the main agent's context, which would otherwise be polluted by 10–50 KB of PDF text per citation audited.
Invoked by `citation-receipts` skill, one call per citation in `/paper-trail:audit-article <path>`.
claim_in_manuscript: | Smith and Doe proved that X is NP-hard for case Y. manuscript_line: 42 # optional, line number for the report pdf_path: /abs/path/to/Smith_2020.pdf # required, the cited PDF ref_slug: smith_2020_x_complexity # the registry slug expected_verb: "prove" # optional, the verb to check expected_quote: "" # optional, verbatim quote if any
pdftotext -layout "<pdf_path>" - > /tmp/claim_check_<slug>.txt
If the claim mentions specific section / page numbers, use `pdftotext -f N -l N` to extract only those pages.
cat $RESEARCH_REGISTRY_PATH/refs/<ref_slug>.md
The body markdown should contain notes from sota-writer phase C (abstract verbatim, main claims, verbatim useful quotes, context / methodology, non-claims). Use this as a pre-digested index.
Strategy depends on the claim type :
verbatim → INVALID (fabricated quote).
the identifier, read the theorem statement, match to claim.
abstract + introduction + conclusion, look for the claim's keywords (using `Grep` with regex), read surrounding paragraphs.
paper's authors AND the paper actually shows Y.
If `expected_verb` is provided :
to the rules in `citation-receipts/SKILL.md`)
If the claim uses "prove" but the source only "argues" → ADJUST
| Verdict | Conditions | |---|---| | **VALID** | Source contains the claim with matching verb and (if any) verbatim quotes | | **ADJUST** | Claim approximately right but verb too strong, quote rephrased, or attribution chain confusing — needs rephrasing in manuscript | | **INVALID** | Source contradicts claim, or quote is fabricated (not in source verbatim), or attribution is to wrong author | | **UNVERIFIABLE** | PDF unreadable (corrupted, image-only, missing), or claim too vague to verify |
{
"ref_slug": "smith_2020_x_complexity",
"claim_in_manuscript": "Smith and Doe proved that X is NP-hard for case Y.",
"manuscript_line": 42,
"verdict": "VALID",
"source_evidence": {
"page": 5,
"section": "3.2",
"verbatim": "Theorem 3.2. The problem X is NP-hard for all instances satisfying Y."
},
"verb_check": {
"expected": "prove",
"found_in_source": "Theorem (formal proof)",
"match": true
},
"quote_check": {
"expected_quote": null,
"found_in_source": null,
"match": null
},
"required_correction": null,
"elapsed_seconds": 4.2
}If INVALID :
{
...
"verdict": "INVALID",
"source_evidence": {
"verbatim": "We leave the question of Z's complexity as future work."
},
"verb_check": {
"expected": "show",
"found_in_source": "leave as future work",
"match": false
},
"required_correction": "Remove citation, or replace with the actual source proving Z's polynomial decidability."
}`sota-auditor`
citation-receipts skill is fine (sub-agent is for batch / parallel audit of 10+ citations)
registry. For cross-checking against S2 / Crossref, that's `citation-receipts` skill's job
reports verdicts. The skill `citation-receipts` aggregates and writes `RECEIPTS.md`
UNVERIFIABLE with reason "pdf_extraction_timeout"
Anti-hallucination plugin for academic research in Claude Code. Create literature reviews and papers guaranteed without fabricated citations.
Sub-agent that orchestrates the PDF acquisition cascade for a batch of refs. Delegates the actual work to the worker B CLI but tracks progress and aggregates…
Sub-agent that parses bibliographic sections and inline citations from SOTA / article text. Takes raw text (a section header + content, or an inline excerpt)…
Sub-agent that validates whether a downloaded PDF matches the expected metadata (author, title, year). Anti-homonymy check on page 1. Invoke when a manual page…
Sub-agent that performs exhaustive multi-source academic search (paper-search MCP across 22 platforms + optional NotebookLM + optional WebSearch). Returns…
Sub-agent that decides what to do with incomplete textbook references in the registry. Takes a JSON list of candidates (refs with year=0000 or title=empty,…