| name | bib-audit |
| description | Thoroughly audit a BibTeX file for hallucinated or incorrect citations before paper submission. Spawns parallel Sonnet subagents (one per entry) to verify EVERY field (title, authors, year, venue, arXiv ID, DOI, page numbers) against authoritative web sources. Flags aggressively — "better over-flag than miss." Produces a markdown report for human review. Trigger when the user mentions "check bib", "verify citations", "audit refs.bib", "find hallucinated citations", or is preparing a paper for submission. |
bib-audit
Submission venues (ACL, EMNLP, NeurIPS, ICLR, etc.) desk-reject papers with fabricated citations. This skill verifies a BibTeX file by spawning one Sonnet subagent per entry, each tasked with independently confirming every claimed detail via the open web. The output is a markdown report; the user reviews every non-CLEAR entry by hand.
When to use
- The user asks to audit, verify, or check a bib / refs file.
- The user is preparing a paper for submission and mentions hallucination risk.
- A revision plan explicitly calls for citation verification (e.g. "C4 citation audit").
Inputs
$ARGS — path to the .bib file. If empty, find *.bib in cwd and prompt the user to confirm.
How this skill is organized
This skill is structured around two prompts, one per agent layer:
prompts/orchestrate.md — your prompt as the main agent. Step-by-step process, queue protocol, operating principles, and failure modes. Read it now (see Step 0 below) and follow it verbatim.
prompts/verify_entry.md — the prompt you will inline into each background subagent's Agent call. You do not read it for your own benefit; you copy it into the prompt parameter of every Agent tool call you dispatch, alongside the entry JSON. The subagent never has tool access to read it on its own.
Plus a native Workflow script and three Python helpers under scripts/, so you never maintain queue state in chat context:
scripts/parse_bib.py — .bib → JSON entry list
scripts/build_audit_workflow.py — embeds the parsed entries + auditor prompt into a self-contained copy of the Workflow script (de-duplicating bibkeys), so nothing has to travel through the unreliable Workflow args channel
scripts/audit_workflow.mjs — the Workflow template that fans out one Sonnet agent per entry (the harness handles concurrency and resume; no manual queue)
scripts/make_report.py — per-entry result files → markdown report
Step 0 — Load the orchestration prompt
Before doing anything else, read your main-agent prompt:
Read ~/.claude/skills/bib-audit/prompts/orchestrate.md
Then follow its Steps 1–4 in order. Do not paraphrase or summarize — that file is the authoritative source for the audit process. If you find yourself improvising about queue protocol, status definitions, or output format, stop and re-read orchestrate.md.
Out-of-scope behaviors
- Do not auto-fix the bib file. The output is a report for a human.
- Do not run an audit during install if a user has only asked you to install the skill. Installation (cloning into
~/.claude/skills/) and invocation (running the audit) are separate operations.
- Do not downgrade the subagent model from Sonnet.