audit-engine
Activate when the user wants to audit a paper's empirical or technical claims against a linked code repository — checking whether experiments, datasets,…
Activate when the user needs to verify citations, check source accuracy, or validate that referenced papers actually support the claims attributed to them. Retrieves source abstracts and full text (for open-access papers), compares each citation claim against actual source
$ npx -y skills add TobiasBlask/open-paper-machine --skill verification-engine --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/verification-engineContext preview
The summary Claude sees to decide when to auto-load this skill.
Activate when the user needs to verify citations, check source accuracy, or validate that referenced papers actually support the claims attributed to them. Retrieves source abstracts and full text (for open-access papers), compares each citation claim against actual source
name: verification-engine description: > Activate when the user needs to verify citations, check source accuracy, or validate that referenced papers actually support the claims attributed to them. Retrieves source abstracts and full text (for open-access papers), compares each citation claim against actual source content, and produces a structured verification report with classifications (VERIFIED, PLAUSIBLE, MISMATCH, UNVERIFIABLE, NOT FOUND).
> **Orchestration Log**: When this skill is activated, append a log entry to `outputs/orchestration_log.md`: > ``` > ### Skill Activation: Verification Engine > **Timestamp:** [current date/time] > **Actor:** AI Agent (verification-engine) > **Input:** [brief description of the verification request] > **Output:** [brief description of results — e.g., "Verified 42 citations: 35 VERIFIED, 5 PLAUSIBLE, 2 MISMATCH"] > ```
A citation is only as good as its accuracy. This engine systematically checks whether the papers you cite actually say what you claim they say. It fetches real source material — abstracts at minimum, full text when available — and compares each attribution claim against the actual content.
This addresses the dominant failure mode of LLM-generated academic writing: citation hallucination and misattribution. Even when citations point to real papers (no fabricated DOIs), the attributed claims may not match what the source actually says.
---
Scan the `.tex` file for all citation commands and extract the surrounding context:
\citep{key} → parenthetical: "... as shown previously (Author, Year)."
\citet{key} → textual: "Author (Year) demonstrated that ..."
\citeauthor{key} → author name reference
\citeyear{key} → year referenceFor each citation occurrence, extract: 1. **Citation key** (the BibTeX key) 2. **Claim context** — the full sentence containing the citation, plus the preceding sentence if needed for meaning. This is the "attributed claim." 3. **Section** — which section of the paper contains this citation 4. **Claim type** — classify as:
Same logic, but scan for `(Author, Year)` and `Author (Year)` patterns instead of LaTeX citation commands.
Multiple citations of the same paper should be grouped. One paper may be cited 5 times with 5 different claims — each claim needs independent verification.
**Output:** A list of `{key, claim, section, claim_type, priority}` tuples.
---
For each citation key, look up the entry in `references.bib`:
1. Extract: `title`, `author`, `year`, `doi`, `journal`, `note` 2. If DOI exists: this is the primary lookup key for Step 3 3. If no DOI: use title + first author as search query 4. Flag any citation keys that have NO matching BibTeX entry (orphan citations)
**Output:** Enriched list with DOI and metadata for each citation.
---
For each unique referenced paper (not each citation — deduplicate by BibTeX key):
This is the baseline. Fast, reliable, works for any paper with a DOI or indexed title.
**Strategy (try in order, stop at first success):**
1. Search Semantic Scholar by title (use `academic_search_semantic_scholar` MCP tool):
2. Search OpenAlex by title (use `academic_search_openalex` MCP tool):
3. Search CrossRef by title (use `academic_search_crossref` MCP tool):
**What you get:** Title confirmation, abstract (50-300 words), TLDR (1-2 sentences), citation count, open access status, and PDF URL if available.
For open-access papers, go beyond the abstract:
1. **Check for open-access PDF URL** in the API response metadata
2. **arXiv preprints:** If DOI starts with `10.48550/arxiv.` or BibTeX key suggests arXiv, construct the PDF URL: `https://arxiv.org/pdf/{arxiv_id}` 3. **Fetch the PDF:**
(supports PDFs up to 100 pages) 4. **Extract relevant sections:** Don't read the entire paper. Search for:
**When to use Tier B:**
For large-scale verification (100+ papers) or complex documents with tables/figures:
PDF parsing with table extraction an
A Claude Code plugin that autonomously writes academic papers — from literature search to production-ready LaTeX/PDF. Scope note.
Activate when the user wants to audit a paper's empirical or technical claims against a linked code repository — checking whether experiments, datasets,…
Activate when the user needs to manage multi-author collaboration on a paper. Tracks author contributions using the CRediT taxonomy, manages responsibility…
Activate when the user needs to generate, refine, or evaluate academic figures, diagrams, or statistical plots. Uses PaperBanana to transform text descriptions…
Activate when the user needs to evaluate whether a research idea is worth pursuing, brainstorm new research directions, or stress-test a paper concept before…
Activate when the user wants to export a completed paper draft to production-ready LaTeX (.tex) and PDF. Converts draft.md + references.bib + figures/ into a…
ALWAYS activate when the user needs to find, organize, review, or synthesize academic literature. Uses academic APIs (Semantic Scholar, OpenAlex, CrossRef,…