Loading...
Loading...
Verifies every citation in a BibTeX .bib file against Crossref, DBLP, Semantic Scholar, and arXiv to catch hallucinated, fabricated, or incorrect references before reviewers do. Use when the user says verify citations, check references, validate bibliography, check my .bib, fake or hallucinated citations, retracted paper, or DOI check — and before any draft, rebuttal, or camera-ready leaves the machine. Flags unresolvable entries (likely fabrications), author/year/venue mismatches, duplicates, and retractions, and points to the canonical record for each fix. Every skill that writes or edits citations must route new references through this gate.
npx skill4agent add shaishavmaisuria/research-paper-lifecycle-skills verify-citations.bib.bibdraft-related-workliterature-reviewwrite-rebuttalpreflight-check.bib*.bib.tex\bibliography{...}\addbibresource{...}CONTACT_EMAILS2_API_KEYexport CONTACT_EMAIL=user@university.edu # ask the user
python3 scripts/check_bibtex.py path/to/refs.bib --json /tmp/citecheck.json--offline--key smith2024--no-retraction-check--strict--refresh.cache/--thesis-file thesis.txt --core-key dean2008 --core-key vaswani2017LOW_RELEVANCEdraft-related-workliterature-review--no-canonical-instanceCANONICAL_INSTANCE--no-soft-fail--self-testENTRY_TYPE_MISMATCH.bib021| Flag | Severity | Meaning |
|---|---|---|
| UNRESOLVED / DOI_NOT_FOUND / ARXIV_NOT_FOUND | ERROR | Not found in any index — possible fabrication |
| TITLE_MISMATCH / AUTHOR_MISMATCH / YEAR_MISMATCH | ERROR | Identifier points at a different paper, or metadata is wrong |
| RETRACTED | ERROR | A retraction notice exists for this DOI |
| DUPLICATE_KEY / DUPLICATE_DOI / DUPLICATE_TITLE | ERROR | Same paper or key twice |
| MALFORMED_DOI / MALFORMED_ARXIV_ID | ERROR | Identifier cannot be valid |
| POSSIBLE_ID_TYPO / MISSING_DOI / VENUE_MISMATCH / AUTHOR_LIST_DIFFERS / TITLE_PARTIAL_MATCH / NOT_IN_INDEXES / EXPRESSION_OF_CONCERN | WARN | Real paper, imperfect entry — fix or justify |
| ENTRY_TYPE_MISMATCH | WARN | BibTeX type contradicts the resolved record (e.g. a journal article or monograph typed |
| CANONICAL_INSTANCE | WARN | Resolves, but a different artifact of the same work is what the field cites — pick the canonical instance |
| LOW_RELEVANCE | WARN | Resolves, but scored low topical fit to the paper — confirm it is load-bearing, never auto-remove |
| UNVERIFIABLE_TYPE / RESOLVED_VIA_SEARCH / HAS_CORRECTION / RELEVANCE_OK / CHECK_SKIPPED | INFO | Context for manual judgment |
.bib\citeCANONICAL_INSTANCELOW_RELEVANCE--keyVERDICT-LINE:verdict_lineverdict_lineVERDICT-LINE:--jsonverdict_linesummary.warnings_by_flag.bibVERDICT-LINECANONICAL_INSTANCELOW_RELEVANCEvenues/cfp_urlscripts/check_bibtex.pyCANONICAL_INSTANCELOW_RELEVANCE.paper-memory/paper-memory-convention.md.paper-memory/lessons.mdrecurring- [YYYY-MM-DD] (verify-citations | <scope>) issue -> recommendationreflect-and-improvereflect_log.py appendrecurringthis-paper.paper-memory/.gitignore