Reference Authenticity Auditor
Overview
Use this skill to verify that references exist, are described accurately, and are cited for claims they actually support. Treat the task as evidence collection, not bibliography formatting.
Core Rules
- Do not mark a reference as real from memory alone. Use an external bibliographic source, publisher page, DOI resolver, official proceedings page, arXiv/OpenReview page, Semantic Scholar/OpenAlex/Crossref metadata, or the paper PDF.
- Distinguish existence from correctness. A real paper can still have wrong authors, year, venue, title, DOI, page range, or claim usage.
- Distinguish reference authenticity from citation support. A citation can point to a real paper but fail to support the sentence where it is used.
- Preserve uncertainty. Use
unverified when sources are incomplete, paywalled, ambiguous, or conflicting.
- Prefer primary or bibliographic authority sources over search snippets. Search results are leads, not proof.
- Never invent missing metadata. If a field cannot be verified, mark it missing or uncertain.
Evidence Levels
Use exactly these status labels:
verified: the work exists and key metadata match a credible source.
metadata-mismatch: the work exists but one or more important fields disagree.
citation-misuse: the cited work exists, but the manuscript claim is unsupported, overstated, or contradicted by the source.
ambiguous: multiple works plausibly match, or sources conflict.
unverified: not enough evidence was found within available sources.
not-found: targeted searches across likely sources fail to find the work.
Audit Workspace
For manuscripts with more than a few references, create a workspace:
python <skill-dir>/scripts/init_reference_audit.py --source <manuscript-or-bib-path> --out <audit-dir>
Use these files as living records:
00-audit-protocol.md: task scope, source files, authority sources, and evidence rules.
01-reference-inventory.csv: one row per bibliography item.
02-citation-contexts.csv: citation keys and surrounding manuscript claims.
03-verification-log.md: source-by-source evidence notes.
04-mismatch-report.md: metadata errors, suspicious entries, missing fields, and likely fixes.
05-citation-support-report.md: whether the cited source supports the sentence or paragraph.
06-final-reference-audit.md: user-facing summary and required author actions.
When a .bib file is available, run the bundled extractor first:
python <skill-dir>/scripts/extract_bib_inventory.py references.bib --out <audit-dir>/01-reference-inventory.csv
The extractor is a first pass only. It does not prove authenticity.
Workflow
1. Define Scope
Identify what the user wants:
- Existence check: whether each reference is real.
- Metadata check: whether title, authors, venue, year, DOI, pages, arXiv ID, or URL are correct.
- Citation support check: whether each citation supports the surrounding claim.
- Full audit: all of the above.
If the user does not specify, choose full audit for papers under submission and metadata plus existence check for quick bibliography cleanup.
2. Inventory References
Extract every bibliography entry from .bib, LaTeX .bbl, Markdown references, Word bibliography, PDF reference section, or plain text. Record:
- local key or index;
- raw reference string;
- title;
- authors;
- year;
- venue or publisher;
- DOI, arXiv ID, OpenReview forum, URL, ISBN/ISSN if present;
- entry type;
- cited in manuscript? yes/no/unknown.
Do not silently drop uncited references or citations missing from the bibliography. Record them separately.
3. Extract Citation Contexts
For each in-text citation, record the local citation key, sentence, paragraph, section, and the claim being supported. For grouped citations, split the group and decide what each citation appears to support.
Pay special attention to high-risk contexts:
- claims about "first", "state of the art", "widely used", "proved", "shown", or "demonstrated";
- negative claims about prior work;
- benchmark, dataset, tool, model, or metric descriptions;
- related-work positioning;
- method justification;
- threats and limitations.
4. Verify Existence And Metadata
Use targeted sources in this order when possible:
- DOI resolver or Crossref for DOI-bearing entries.
- Publisher, ACM/IEEE/Springer/USENIX/ACL/OpenReview/arXiv official page.
- DBLP for CS venue/year/authors.
- Semantic Scholar, OpenAlex, Google Scholar, or library catalogs as secondary checks.
- The PDF itself, if available.
For each reference, compare normalized title, first author, author set, year, venue, DOI/arXiv ID, and page/article number. Record mismatches explicitly. If the DOI resolves to a different title or paper, treat it as metadata-mismatch or not-found depending on the rest of the evidence.
5. Verify Citation Support
When claim support matters, inspect the cited paper's abstract, introduction, method, results, limitations, and relevant tables/figures. Decide whether the cited source:
- directly supports the claim;
- supports a narrower version;
- is merely related background;
- contradicts or complicates the claim;
- cannot be checked from available material.
If a citation is used for a strong claim but only supports a weaker one, mark citation-misuse and suggest a narrower wording or a better source.
6. Diagnose Common Fabrication Patterns
Flag entries with:
- plausible title but no discoverable record;
- DOI prefix or suffix that resolves to another work;
- author/year/venue combination that does not exist;
- impossible venue volume, issue, page range, or conference year;
- title that combines terms from several real papers;
- arXiv ID format mismatch or ID assigned to a different paper;
- non-existent workshop, journal, or proceedings;
- copied BibTeX where title and DOI belong to different papers.
Do not assume fabrication when metadata is merely incomplete. Use the evidence levels.
7. Report
Lead with a concise risk summary:
- number of references checked;
- counts by evidence level;
- highest-risk entries;
- whether any manuscript claims need citation changes;
- unresolved items requiring author PDF access, library access, or manual confirmation.
For each problem entry, include the local key, current reference, evidence found, status label, and recommended action. Keep raw search trails in the audit workspace instead of overwhelming the final response.
Resources
scripts/init_reference_audit.py: create the audit workspace files.
scripts/extract_bib_inventory.py: parse BibTeX-like entries into a CSV inventory.
references/source-priority.md: authority-source guidance, evidence levels, and search patterns.
1---2name: reference-authenticity-auditor3description: Audit academic references and citations for authenticity, metadata accuracy, and claim support. Use when Codex is asked to verify whether references are real, detect fabricated or hallucinated citations, check BibTeX or bibliography entries, validate DOI/title/author/year/venue consistency, inspect citation contexts, confirm that cited papers support manuscript claims, or prepare a reference-integrity report for LaTeX, Markdown, Word, PDF, BibTeX, RIS, CSL JSON, or plain-text manuscripts.4---56# Reference Authenticity Auditor78## Overview910Use this skill to verify that references exist, are described accurately, and are cited for claims they actually support. Treat the task as evidence collection, not bibliography formatting.1112## Core Rules1314- Do not mark a reference as real from memory alone. Use an external bibliographic source, publisher page, DOI resolver, official proceedings page, arXiv/OpenReview page, Semantic Scholar/OpenAlex/Crossref metadata, or the paper PDF.15- Distinguish existence from correctness. A real paper can still have wrong authors, year, venue, title, DOI, page range, or claim usage.16- Distinguish reference authenticity from citation support. A citation can point to a real paper but fail to support the sentence where it is used.17- Preserve uncertainty. Use `unverified` when sources are incomplete, paywalled, ambiguous, or conflicting.18- Prefer primary or bibliographic authority sources over search snippets. Search results are leads, not proof.19- Never invent missing metadata. If a field cannot be verified, mark it missing or uncertain.2021## Evidence Levels2223Use exactly these status labels:2425- `verified`: the work exists and key metadata match a credible source.26- `metadata-mismatch`: the work exists but one or more important fields disagree.27- `citation-misuse`: the cited work exists, but the manuscript claim is unsupported, overstated, or contradicted by the source.28- `ambiguous`: multiple works plausibly match, or sources conflict.29- `unverified`: not enough evidence was found within available sources.30- `not-found`: targeted searches across likely sources fail to find the work.3132## Audit Workspace3334For manuscripts with more than a few references, create a workspace:3536```bash37python <skill-dir>/scripts/init_reference_audit.py --source <manuscript-or-bib-path> --out <audit-dir>38```3940Use these files as living records:4142- `00-audit-protocol.md`: task scope, source files, authority sources, and evidence rules.43- `01-reference-inventory.csv`: one row per bibliography item.44- `02-citation-contexts.csv`: citation keys and surrounding manuscript claims.45- `03-verification-log.md`: source-by-source evidence notes.46- `04-mismatch-report.md`: metadata errors, suspicious entries, missing fields, and likely fixes.47- `05-citation-support-report.md`: whether the cited source supports the sentence or paragraph.48- `06-final-reference-audit.md`: user-facing summary and required author actions.4950When a `.bib` file is available, run the bundled extractor first:5152```bash53python <skill-dir>/scripts/extract_bib_inventory.py references.bib --out <audit-dir>/01-reference-inventory.csv54```5556The extractor is a first pass only. It does not prove authenticity.5758## Workflow5960### 1. Define Scope6162Identify what the user wants:6364- **Existence check**: whether each reference is real.65- **Metadata check**: whether title, authors, venue, year, DOI, pages, arXiv ID, or URL are correct.66- **Citation support check**: whether each citation supports the surrounding claim.67- **Full audit**: all of the above.6869If the user does not specify, choose full audit for papers under submission and metadata plus existence check for quick bibliography cleanup.7071### 2. Inventory References7273Extract every bibliography entry from `.bib`, LaTeX `.bbl`, Markdown references, Word bibliography, PDF reference section, or plain text. Record:7475- local key or index;76- raw reference string;77- title;78- authors;79- year;80- venue or publisher;81- DOI, arXiv ID, OpenReview forum, URL, ISBN/ISSN if present;82- entry type;83- cited in manuscript? yes/no/unknown.8485Do not silently drop uncited references or citations missing from the bibliography. Record them separately.8687### 3. Extract Citation Contexts8889For each in-text citation, record the local citation key, sentence, paragraph, section, and the claim being supported. For grouped citations, split the group and decide what each citation appears to support.9091Pay special attention to high-risk contexts:9293- claims about "first", "state of the art", "widely used", "proved", "shown", or "demonstrated";94- negative claims about prior work;95- benchmark, dataset, tool, model, or metric descriptions;96- related-work positioning;97- method justification;98- threats and limitations.99100### 4. Verify Existence And Metadata101102Use targeted sources in this order when possible:1031041. DOI resolver or Crossref for DOI-bearing entries.1052. Publisher, ACM/IEEE/Springer/USENIX/ACL/OpenReview/arXiv official page.1063. DBLP for CS venue/year/authors.1074. Semantic Scholar, OpenAlex, Google Scholar, or library catalogs as secondary checks.1085. The PDF itself, if available.109110For each reference, compare normalized title, first author, author set, year, venue, DOI/arXiv ID, and page/article number. Record mismatches explicitly. If the DOI resolves to a different title or paper, treat it as `metadata-mismatch` or `not-found` depending on the rest of the evidence.111112### 5. Verify Citation Support113114When claim support matters, inspect the cited paper's abstract, introduction, method, results, limitations, and relevant tables/figures. Decide whether the cited source:115116- directly supports the claim;117- supports a narrower version;118- is merely related background;119- contradicts or complicates the claim;120- cannot be checked from available material.121122If a citation is used for a strong claim but only supports a weaker one, mark `citation-misuse` and suggest a narrower wording or a better source.123124### 6. Diagnose Common Fabrication Patterns125126Flag entries with:127128- plausible title but no discoverable record;129- DOI prefix or suffix that resolves to another work;130- author/year/venue combination that does not exist;131- impossible venue volume, issue, page range, or conference year;132- title that combines terms from several real papers;133- arXiv ID format mismatch or ID assigned to a different paper;134- non-existent workshop, journal, or proceedings;135- copied BibTeX where title and DOI belong to different papers.136137Do not assume fabrication when metadata is merely incomplete. Use the evidence levels.138139### 7. Report140141Lead with a concise risk summary:142143- number of references checked;144- counts by evidence level;145- highest-risk entries;146- whether any manuscript claims need citation changes;147- unresolved items requiring author PDF access, library access, or manual confirmation.148149For each problem entry, include the local key, current reference, evidence found, status label, and recommended action. Keep raw search trails in the audit workspace instead of overwhelming the final response.150151## Resources152153- `scripts/init_reference_audit.py`: create the audit workspace files.154- `scripts/extract_bib_inventory.py`: parse BibTeX-like entries into a CSV inventory.155- `references/source-priority.md`: authority-source guidance, evidence levels, and search patterns.