CGPT Citation Bib Audit
Use this skill when the user asks to check citations, verify references, audit a .bib file, inspect Quarto citation syntax, run BibVerify, or prepare a pre-submission reference check.
Guardrails
- Do not edit manuscript or bibliography files unless the user explicitly asks for fixes after seeing the audit.
- Do not include or request API keys. The deployed BibVerify workflow uses free scholarly APIs and a polite contact email only if the user supplies one.
- Do not run deep external verification automatically. It must be explicitly requested with terms such as "deep check", "BibVerify", "verify against databases", "pre-submission reference check", or "run full bibliography verification".
- When reporting external verification, cite the sources queried or the generated BibVerify report files. Distinguish database evidence from local format checks.
- Keep outputs compact: summary first, then tables of items needing attention.
Local Citation Audit
For pasted text, .qmd, .md, .docx, or manuscript sections:
- Extract parenthetical, narrative, and Quarto citations.
- Check APA 7 mechanics:
- parenthetical citations use
&, notand - narrative citations use
and, not& - 3 or more authors use
et al. - multiple works in one parenthetical citation use semicolons
- page references use
p.orpp. - same-author same-year citations use suffixes such as
2020a
- parenthetical citations use
- Report line-level issues with suggested fixes.
BibTeX Consistency Audit
When a .bib file is available:
- Prefer
MANUSCRIPT-DEV-KIT/scripts/bibtex_parser.pyfor parsing. - Compare cited keys against bibliography entries.
- Flag:
- cited keys missing from the
.bib - unused bibliography entries
- year mismatches
- author/name mismatches
et al.usage inconsistent with author count- duplicate or ambiguous keys
- cited keys missing from the
- For Quarto, check
@key,[@key],[-@key], and multi-cite syntax such as[@a; @b].
Deep Verification
Use only when the user explicitly requests external verification.
Script locations:
MANUSCRIPT-DEV-KIT/scripts/verify_bibliography.pyMANUSCRIPT-DEV-KIT/scripts/bibtex_parser.py
Supported input:
.bib.docxreference lists
Typical command pattern:
python MANUSCRIPT-DEV-KIT/scripts/verify_bibliography.py path\to\references.bib -o path\to\verification --email user@example.edu
If the user did not provide an email, ask whether to use one for polite API headers or run without adding personal information. Never invent contact details.
Deep verification checks scholarly metadata against CrossRef, OpenAlex, Semantic Scholar, DataCite, PubMed, and DOI.org. It generates:
*_report_v2.csv*_for_R_v2.csv*_source_breakdown_v2.csv*_log_v2.txt
Statuses to explain:
VERIFIED: high-confidence match, usually supported by multiple sourcesLIKELY_MATCH: probable match with moderate confidencePARTIAL_MATCH: one source matchesLOW_CONFIDENCE: weak match requiring manual reviewNOT_FOUND: no source found the itemANCIENT_TEXT: pre-1800 item skipped for modern database lookup
Deep Verification Scope
- Spot check: verify only user-named entries by creating a temporary filtered
.bib. - Selected set: filter manually by user criteria such as no DOI, books, author, or year.
- Full run: verify the complete bibliography, preferably at pre-submission or after major reference changes.
The deployed script may not have native --keys, --filter, or Markdown output. If those flags are absent, create a temporary filtered .bib and run the existing script against that file.
Report Format
Use this structure:
# Citation and Bibliography Audit
## Summary
- Citations checked:
- Bibliography entries:
- Format issues:
- Missing keys:
- Unused entries:
- Deep verification: not run / run on N entries
## Must Fix
| Location | Issue | Suggested fix |
|---|---|---|
## Warnings
| Location | Issue | Why it matters |
|---|---|---|
## Deep Verification Evidence
| Entry | Status | Sources | Action |
|---|---|---|---|
If deep verification was not run, say so plainly and note that it requires explicit user approval because it queries external services.