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 validates whether a downloaded PDF matches the expected metadata (author, title, year). Anti-homonymy check on page 1. Invoke when a manual page 1 verification is needed on an acquired PDF, separate from the cascade's automatic validation.
$ 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 validates whether a downloaded PDF matches the expected metadata (author, title, year). Anti-homonymy check on page 1. Invoke when a manual page 1 verification is needed on an acquired PDF, separate from the cascade's automatic validation.
name: page1-validator description: 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 1 verification is needed on an acquired PDF, separate from the cascade's automatic validation. tools: [Bash, Read]
Verify that a PDF's page 1 matches an expected reference. This is the **core anti-homonymy guard** of the plugin :
title
Computer Science paper, "carcinoma" for a music paper)
The cascade invokes this validation automatically via `pipeline.cascade._save_and_validate`. This sub-agent is for **manual / explicit** validation when the user wants to recheck a specific PDF outside the cascade flow.
pdf_path: /absolute/path/to/the.pdf expected: author: "Surname Firstname" # or just Surname title: "Full expected title" year: 2020 # optional, used for cross-check
1. Read the PDF via `pdftotext "$pdf_path" -` (first page only via `-f 1 -l 1`) 2. Extract metadata from page 1 (author, title, year if visible) 3. Compute similarity scores :
(e.g., {spider, arachnology, carcinoma, RNA, ...} for non-bio papers — depends on context) 4. Return verdict with explanation
{
"verdict": "ok" | "mismatch" | "unable_to_extract",
"author_found": true | false,
"title_similarity": 0.42,
"off_domain_keywords": [],
"page1_text_excerpt": "First 500 chars of page 1...",
"reason": "human-readable explanation"
}Verdicts :
ref transitioned to `blocked_human:title_mismatch` or `needs_reacquisition`
(probably a scan with no text layer) — ref should be transitioned to `awaiting_rtfm_ocr`
Delegates to `lib/validate_pdf_content.py::validate_pdf_against_ref` which encodes the canonical anti-homonymy rules of the plugin.
python -c "
from lib.validate_pdf_content import validate_pdf_against_ref
ok, reason = validate_pdf_against_ref('$pdf_path', expected_author='$author',
expected_title='$title')
print('OK' if ok else f'KO: {reason}')
"for the sub-agent
`citation-receipts` / `claim-checker`
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 audits a specific claim against the PDF cited. Invoked by citation-receipts skill for deep PDF↔claim verification. Returns structured verdict…
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,…