Citation hygiene
A citation is a checkable claim: this work exists, says what I say
it says, and stands unretracted. All three parts fail routinely -
and AI assistance has made the first failure mode systematic:
language models fabricate plausible references with confident DOIs.
An agent that produces or touches citations therefore has a special
duty here, stated plainly: VERIFY EVERY CITATION YOU GENERATE
against an authoritative source before handing it to the user, and
say which were verified. No unverified reference should survive to
a published artifact. rseng-citation-metadata covers making YOUR
software citable; this skill covers the references you cite.
Verify existence and metadata (Crossref, OpenAlex)
For each reference with a DOI:
- Resolve it:
curl -sI https://doi.org/<DOI> - a failing DOI is
either a typo or a fabrication; both are findings.
- Fetch the registered metadata and compare with the citation as
written:
https://api.crossref.org/works/<DOI> (or the OpenAlex
record at https://api.openalex.org/works/doi:<DOI> - open,
keyless APIs). Title, authors, venue and year must match; a DOI
that resolves to a DIFFERENT paper than the citation claims is
the classic fabrication signature and worse than a dead link.
- References without DOIs: search Crossref/OpenAlex by title and
authors; if nothing plausible exists, flag it - books and grey
literature can be legitimate, but only a human can vouch for
them.
- Batch the work: extract all references (BibTeX, CSL JSON,
CITATION.cff references, markdown bibliographies), verify each,
and report a table: verified / metadata-mismatch / unresolvable /
no-DOI-needs-human.
Screen for retractions (Retraction Watch)
The Retraction Watch database is public, CC-BY, updated every
working day, and Crossref-distributed - screening is one step:
- Per DOI: query Crossref and inspect
message.updated-by, keeping
entries whose type is retraction, correction or
expression_of_concern. Mind the direction: update-to points the
opposite way, from a notice to the work it corrects, so querying
it against a retracted paper returns nothing and the paper reads
as clean. Or check against the full CSV (public git repository at
gitlab.com/crossref/retraction-watch-data).
- Screen at these moments: finalizing a bibliography, submitting a
manuscript (rseng-research-integrity runs the fuller pre-submission
battery), and citing a paper as the FOUNDATION of a method -
building on a retracted result is the costliest citation failure.
- A retraction hit is information, not automatic removal: report
it with the retraction reason and let the author decide - citing
retracted work knowingly (e.g. to discuss the retraction) is
legitimate; citing it unknowingly is the failure.
Where citations hide in code projects
Manuscripts are not the only bibliography. Check:
- CITATION.cff
references and preferred-citation entries
(rseng-citation-metadata), codemeta.json referencePublication.
- README "please cite" blocks and papers listed in docs.
- Algorithm-source comments ("implements the method of Smith
2019") - a wrong citation here misdirects future maintainers.
- Dependency citation duties: software the project builds on that
requests citation (rseng-software-reuse's cite-what-you-adopt) -
verify those entries like any other.
Currency and completeness
- Prefer the DOI form of a reference; preprint-vs-published drift
is common - when a cited preprint has a published version,
OpenAlex links the two; offer the update while preserving intent
(sometimes the preprint IS the cited artifact -
rseng-open-science-practices).
- Keep bibliographies regenerable: store references as structured
data (BibTeX/CSL/CFF) and render from it (rseng-documentation);
hand-maintained duplicated reference lists drift apart.
- Wire a lightweight check into CI where the project's references
are load-bearing (rseng-ci-cd): DOI resolution plus retraction
screen on the reference files - the citation analogue of a link
checker.
Working with this skill
This skill is source-independent: its authority is the Crossref,
OpenAlex and Retraction Watch services linked below. It is the
verification counterpart to rseng-citation-metadata and feeds
rseng-research-integrity's pre-submission checks.
Learn more (verified):
Related skills
Check whether any of these applies before moving on:
- rseng-ci-cd - reference resolution checks in CI
- rseng-citation-metadata - making own software citable
- rseng-discovery - verifying surveyed literature leads
- rseng-fact-checking - verifying non-citation claims
- rseng-open-science-practices - preprint-to-published version links
- rseng-research-integrity - pre-submission verification battery
1---2name: rseng-citation-hygiene3description: Covers verifying that every citation is real, correct and current: checking references in manuscripts, READMEs, references files and code metadata against Crossref and OpenAlex, screening cited DOIs against the Retraction Watch database, catching fabricated or mis-attributed citations (a documented AI failure mode), and keeping bibliographies and CITATION.cff files resolvable. Use PROACTIVELY before any bibliography, reference list or citation metadata is finalized or published, whenever the agent itself has produced citations, and when the user asks to check references, mentions broken DOIs, retracted papers or citation verification, or prepares a manuscript, README or software paper with references. (Making your own software citable is rseng-citation-metadata.)4license: CC-BY-4.05---67# Citation hygiene89A citation is a checkable claim: this work exists, says what I say10it says, and stands unretracted. All three parts fail routinely -11and AI assistance has made the first failure mode systematic:12language models fabricate plausible references with confident DOIs.13An agent that produces or touches citations therefore has a special14duty here, stated plainly: VERIFY EVERY CITATION YOU GENERATE15against an authoritative source before handing it to the user, and16say which were verified. No unverified reference should survive to17a published artifact. rseng-citation-metadata covers making YOUR18software citable; this skill covers the references you cite.1920## Verify existence and metadata (Crossref, OpenAlex)2122For each reference with a DOI:2324- Resolve it: `curl -sI https://doi.org/<DOI>` - a failing DOI is25 either a typo or a fabrication; both are findings.26- Fetch the registered metadata and compare with the citation as27 written: `https://api.crossref.org/works/<DOI>` (or the OpenAlex28 record at `https://api.openalex.org/works/doi:<DOI>` - open,29 keyless APIs). Title, authors, venue and year must match; a DOI30 that resolves to a DIFFERENT paper than the citation claims is31 the classic fabrication signature and worse than a dead link.32- References without DOIs: search Crossref/OpenAlex by title and33 authors; if nothing plausible exists, flag it - books and grey34 literature can be legitimate, but only a human can vouch for35 them.36- Batch the work: extract all references (BibTeX, CSL JSON,37 CITATION.cff references, markdown bibliographies), verify each,38 and report a table: verified / metadata-mismatch / unresolvable /39 no-DOI-needs-human.4041## Screen for retractions (Retraction Watch)4243The Retraction Watch database is public, CC-BY, updated every44working day, and Crossref-distributed - screening is one step:4546- Per DOI: query Crossref and inspect `message.updated-by`, keeping47 entries whose `type` is retraction, correction or48 expression_of_concern. Mind the direction: `update-to` points the49 opposite way, from a notice to the work it corrects, so querying50 it against a retracted paper returns nothing and the paper reads51 as clean. Or check against the full CSV (public git repository at52 gitlab.com/crossref/retraction-watch-data).53- Screen at these moments: finalizing a bibliography, submitting a54 manuscript (rseng-research-integrity runs the fuller pre-submission55 battery), and citing a paper as the FOUNDATION of a method -56 building on a retracted result is the costliest citation failure.57- A retraction hit is information, not automatic removal: report58 it with the retraction reason and let the author decide - citing59 retracted work knowingly (e.g. to discuss the retraction) is60 legitimate; citing it unknowingly is the failure.6162## Where citations hide in code projects6364Manuscripts are not the only bibliography. Check:6566- CITATION.cff `references` and `preferred-citation` entries67 (rseng-citation-metadata), codemeta.json referencePublication.68- README "please cite" blocks and papers listed in docs.69- Algorithm-source comments ("implements the method of Smith70 2019") - a wrong citation here misdirects future maintainers.71- Dependency citation duties: software the project builds on that72 requests citation (rseng-software-reuse's cite-what-you-adopt) -73 verify those entries like any other.7475## Currency and completeness7677- Prefer the DOI form of a reference; preprint-vs-published drift78 is common - when a cited preprint has a published version,79 OpenAlex links the two; offer the update while preserving intent80 (sometimes the preprint IS the cited artifact -81 rseng-open-science-practices).82- Keep bibliographies regenerable: store references as structured83 data (BibTeX/CSL/CFF) and render from it (rseng-documentation);84 hand-maintained duplicated reference lists drift apart.85- Wire a lightweight check into CI where the project's references86 are load-bearing (rseng-ci-cd): DOI resolution plus retraction87 screen on the reference files - the citation analogue of a link88 checker.8990## Working with this skill9192This skill is source-independent: its authority is the Crossref,93OpenAlex and Retraction Watch services linked below. It is the94verification counterpart to rseng-citation-metadata and feeds95rseng-research-integrity's pre-submission checks.9697Learn more (verified):98 - https://api.crossref.org/swagger-ui/index.html - Crossref REST99 API100 - https://help.openalex.org - OpenAlex API (open, keyless)101 - https://www.crossref.org/documentation/retrieve-metadata/retraction-watch/ -102 Retraction Watch data via Crossref103 - https://gitlab.com/crossref/retraction-watch-data - Retraction104 Watch database, public daily-updated repository105106<!-- related-skills:begin -->107108## Related skills109110Check whether any of these applies before moving on:111112- rseng-ci-cd - reference resolution checks in CI113- rseng-citation-metadata - making own software citable114- rseng-discovery - verifying surveyed literature leads115- rseng-fact-checking - verifying non-citation claims116- rseng-open-science-practices - preprint-to-published version links117- rseng-research-integrity - pre-submission verification battery118119<!-- related-skills:end -->