citation-validator

Validate bibliography citations against CrossRef, OpenAlex, and PubMed to detect hallucinated references.

Updated Apr 18, 2026
One-click install
npx skills add https://github.com/ppavlidis/skillz --skill citation-validator-ppavlidis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: citation-validator
Source: https://github.com/ppavlidis/skillz/tree/main/skills/citation-validator
Command: npx skills add https://github.com/ppavlidis/skillz --skill citation-validator-ppavlidis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, bibtexparser, python-docx, pymupdf, google-auth, google-api-python-client, and includes scripts (resource) components.

What problem does it solve? LLMs and manual errors produce citations that look plausible but do not exist, or attach real DOIs to fabricated papers. This Skill checks every entry in a bibliography against authoritative databases so you can catch phantom, chimera, and corrupted references before journal submission. ## Core Features & Use Cases - DOI existence and metadata verification: Resolves each DOI against CrossRef (the DOI registrar) and compares stated title, year, and first author against the registered record, with OpenAlex and PubMed as fallback sources for title search. - Broad input support: Accepts BibTeX (.bib), LaTeX (.tex/.bbl), Word (.docx), PDF, plain-text/Markdown reference lists, and Google Docs URLs, with an arXiv API fallback for DataCite-registered arXiv DOIs. - Structured TSV report: Outputs per-citation status (VERIFIED, PHANTOM, CHIMERA, CORRUPTED, SUSPICIOUS, NOT_FOUND, UNVERIFIABLE), similarity scores, flags, and a sidecar metadata JSON with input hash and per-status counts. - Use Case: Before submitting a manuscript, export your Zotero library as refs.bib and run the validator to find any hallucinated or mis-attributed citations an AI assistant may have inserted. ## Quick Start Ask the assistant to validate the citations in your exported refs.bib file against CrossRef and report any hallucinated references.

Frequently Asked Questions about citation-validator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if citations in my bibliography are real?

Run the validate.py script on your bibliography file, for example a BibTeX export from Zotero. Each citation's DOI is looked up in CrossRef and its title, year, and first author are compared against the registered record, producing a TSV report with per-citation status.

How to detect hallucinated references from ChatGPT or other LLMs?

Paste the reference list into a text file or export it as BibTeX, then run the validator. Fabricated DOIs are flagged as PHANTOM (not registered with CrossRef) and real DOIs attached to fabricated papers are flagged as CHIMERA when the title match falls below 50 percent.

What file formats does citation validation support?

The validator accepts BibTeX (.bib), LaTeX (.tex and .bbl with thebibliography), Word (.docx via python-docx), PDF (via PyMuPDF), plain-text or Markdown reference lists, and Google Docs URLs through the Docs API with a service account.

Why does a real citation get flagged as SUSPICIOUS or CORRUPTED?

Titles with subtitles, Unicode characters, or unusual punctuation can score below the 0.85 fuzzy-match threshold even when the paper is real. The thresholds favor low false negatives, so borderline legitimate citations may need a quick manual check.

Does the validator work with arXiv DOIs?

Yes. arXiv DOIs (10.48550/arXiv.*) are registered with DataCite rather than CrossRef, so the validator detects this prefix and verifies the paper through the arXiv export API instead, returning VERIFIED with an ARXIV_DOI flag when found.

What are the limitations of PDF bibliography extraction?

PDF extraction is best-effort: two-column layouts interleave text, line-wrapped DOIs get truncated and falsely flagged as PHANTOM, and page headers or figure captions can leak into references. Exporting .bib or plain text from a reference manager is far more reliable.