$npx -y skills add scdenney/open-science-skills --skill citation-checkAudit citation existence and fabrication risk, in-text/reference parity, DOIs, claim support, and style.
| 1 | # Citation Integrity Auditor |
| 2 | |
| 3 | ## Heritage and scope |
| 4 | |
| 5 | This is an original Open Science Skills workflow adapted for experimental social science. It remixes general citation-check and source-verification ideas from Cheng-I Wu's *Academic Research Skills for Claude Code* (CC BY-NC 4.0), especially the separation between citation formatting, existence checks, DOI checks, and uncertainty reporting. Do not copy ARS prose into reports; apply the workflow below. |
| 6 | |
| 7 | ## Instructions |
| 8 | |
| 9 | ### 1. Orient before checking |
| 10 | |
| 11 | Identify the inputs and constraints: |
| 12 | |
| 13 | - Manuscript source: LaTeX, Markdown, Word export, PDF text, or pasted prose. |
| 14 | - Bibliography source: `.bib`, CSL JSON, Zotero export, reference section, footnotes, or mixed. |
| 15 | - Target style: default to APA 7 unless the user names a journal or style. |
| 16 | - Scope: whole manuscript, one section, bibliography only, or DOI-only pass. |
| 17 | - Tool availability: if web lookup, Crossref, DataCite, DOI.org, Semantic Scholar, or OpenAlex are unavailable, mark verification status as `NOT CHECKED` rather than guessing. |
| 18 | - For LaTeX/BibTeX, drive the audit off the keys actually `\cite`d in the manuscript (follow `\input`/`\include`), not every entry in a master `.bib`. Only cited keys reach the printed reference list, which is what readers and critics actually check. |
| 19 | - Note the bibliography style. Many common styles (`apalike`, `plain`, `unsrt`) do not render the `doi` field, so a wrong or dead DOI is invisible in the compiled PDF and ranks as source-hygiene unless the style prints it. Author, year, title, volume, issue, and pages do render — prioritize those for any artifact that is already public. |
| 20 | |
| 21 | ### 2. Build the citation inventory |
| 22 | |
| 23 | Create two inventories before judging errors: |
| 24 | |
| 25 | - **In-text inventory:** every author-year, parenthetical, narrative, footnote, or numeric citation appearing in the manuscript. |
| 26 | - **Reference inventory:** every bibliography entry, including entry key if present, authors, year, title, outlet, DOI/URL, publication status, and notes. |
| 27 | |
| 28 | Normalize cautiously: |
| 29 | |
| 30 | - Treat spelling variants, diacritics, hyphenated surnames, particles (`de`, `van`, `von`), and organizational authors as possible matches until checked. |
| 31 | - For multiple works by the same author-year, verify `a/b/c` suffixes are assigned consistently. |
| 32 | - For BibTeX, preserve the entry key and report it with every finding. |
| 33 | |
| 34 | ### 3. Run structural checks |
| 35 | |
| 36 | Report: |
| 37 | |
| 38 | - Cited in text but missing from references. |
| 39 | - In references but never cited. |
| 40 | - Author-year mismatch between in-text citation and reference entry. |
| 41 | - Duplicate bibliography entries for the same work. |
| 42 | - Ambiguous citations where two reference entries could satisfy one in-text citation. |
| 43 | - Broken cross-references caused by LaTeX/BibTeX key drift. |
| 44 | |
| 45 | Do not "fix" ambiguous cases silently. List the likely match and the evidence. |
| 46 | |
| 47 | ### 4. Verify source existence and identifiers |
| 48 | |
| 49 | This is the highest-stakes check: confirm each cited work actually exists and that its identifier points to *that* work. Hallucinated citations — a real author with a plausible but nonexistent title, or a DOI that resolves to a different paper — are the failure mode that ends careers. Use programmatic indexes first; they are near-deterministic and resist hallucination. |
| 50 | |
| 51 | **Concrete lookups (via web fetch):** |
| 52 | |
| 53 | - Crossref bibliographic search: `https://api.crossref.org/works?rows=5&query.bibliographic=<URL-encoded "title first-author year">`. Compare returned title/authors/year/DOI. Append `&mailto=<email>` for the polite pool. On HTTP 429, fall back to OpenAlex. |
| 54 | - DOI resolution: `https://api.crossref.org/works/<doi>` (or `https://doi.org/<doi>`). Confirm the resolved title **and** authors match *this* entry. A DOI that resolves to a *different* real work is the single most common LLM-fabrication signature — never treat "DOI resolves" as "DOI correct." |
| 55 | - OpenAlex: `https://api.openalex.org/works?search=<URL-encoded title>` or `?filter=doi:<doi>`. Independent index; use when Crossref is rate-limited or for abstracts. |
| 56 | - Exact-title test: search the title in quotation marks. Zero hits anywhere is a strong fabrication signal. |
| 57 | - Author-corpus cross-check (catches the "fabricated title grafted onto a real author" pattern): query the real author's works (`...query.author=<name>`) and confirm the cited title appears in their corpus. A real author + nonexistent title + invented co-authors/venue is the classic hallucination. |
| 58 | |
| 59 | **Tiered fallback by source type:** |
| 60 | |
| 61 | - Journal articles → Crossref / OpenAlex / DOI resolution. |
| 62 | - Books and chapters → publisher page, WorldCat, Google Books, OpenAlex. Book DOIs are spotty and frequently 404 even for real books; a dead book DOI is usually source-hygiene, not a missing source. |
| 63 | - Datasets and official statistics → the issuing archive (ISSP, V-Dem, ANES, KGSS, national election studies, government statistical catalogues). Verif |