cascade-runner
AgentSub-agent that orchestrates the PDF acquisition cascade for a batch of refs. Delegates the actual work to the worker B CLI but…
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
Claude Code
$ npx -y skills add roomi-fields/paper-trail --agent claude-code
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
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…
Sub-agent that parses bibliographic sections and inline citations from SOTA / article text. Takes raw text (a section header +…
Sub-agent that validates whether a downloaded PDF matches the expected metadata (author, title, year). Anti-homonymy check on…
Sub-agent that performs exhaustive multi-source academic search (paper-search MCP across 22 platforms + optional NotebookLM +…
Sub-agent that decides what to do with incomplete textbook references in the registry. Takes a JSON list of candidates (refs with…
Agent for managing AI prompts on prompts.chat - search, save, improve, and organize your prompt library.
정밀(strict) 모드 1단계 진단 에이전트. 글 전체를 한 번에 보고 "가장 지배적인 AI 티 패턴 3~6개"를 taxonomy ID와 함께 진단한다. 불안정한 span 열거(0↔18개로 요동) 대신 "무엇이 이 글을…
Topic Clusters curator for the Claude Blog Brain. Maintains and answers from the Topic Clusters theme of the brain, grounded in…
Optional gallery research helper. Use when a caller wants to find references, explore styles, build a mood board, or needs…