crossref-lookup
Skill9 starsChanged 4 months agoMITView on GitHub
Query Crossref to validate DOIs, match titles to DOIs, fetch citation metadata, and audit bibliographies. Use when resolving references or cleaning citation records.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/agents.mdAGENTS.md
- ai-scientist-evaluatorSkill
- arxiv-searchSkill
- beautiful-data-vizSkill
- bio-annotationSkill
- bio-assembly-qcSkill
- bio-binning-qcSkill
- bio-fasta-database-curatorSkill
- bio-foundation-housekeepingSkill
- bio-gene-callingSkill
- bioinformatics-projectSkill
- bio-interdomain-hgtSkill
- bio-logicSkill
- bio-phylogenomicsSkill
- bio-prefect-dask-nextflowSkill
- bio-protein-clustering-pangenomeSkill
- bio-reads-qc-mappingSkill
- biorxiv-searchSkill
- bio-stats-ml-reportingSkill
- bio-structure-annotationSkill
- bio-viromicsSkill
- bio-workflow-methods-docwriterSkill
- csag-extractionSkill
- exploratory-data-analysisSkill
- manuscript-review-councilSkill
- notebooksSkill
- pdf-to-mdSkill
- plotly-dashboard-skillSkill
- polars-dovmedSkill
- proposal-reviewSkill
- public-db-lookupSkill
- scientific-impact-assessmentSkill
- scientific-writingSkill
- tracking-taxonomy-updatesSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Run the bundled CLI, scripts/lookup.
- Distinctive: line 20
When a title search returns several plausible records, show the candidates instead of choosing one silently.
- Very specific: line 22
Use --strict for audits that must fail on any invalid, missing, or unresolved record.
- Very specific: line 76
Solution: Treat potentially_missing_dois as a coverage gap, not proof of invalid citations.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Crossref Lookup
Validate DOIs, find DOIs from titles, and audit bibliographies against the Crossref REST API.
Instructions
- Run the bundled CLI,
scripts/lookup. Paths below are relative to this skill's directory, installed at~/.agents/skills/crossref-lookup. - Choose the narrowest mode:
--doivalidates or enriches one DOI.--titlereturns ranked DOI candidates for a title (--rows, default 5).--validate-filechecks one DOI per line.--audit-bibliographyextracts DOIs from a.bibor plain-text file and checks each one.
- DOI inputs are normalized before lookup.
10.xxxx/...,doi:10.xxxx/..., andhttps://doi.org/10.xxxx/...are all accepted, and trailing BibTeX punctuation is removed. - Pass
--emailonly with an address the user gave for Crossref's polite pool. Never take an address from the conversation, git config, or system context; without one the CLI uses the public pool. The CLI spaces requests to stay within the limits Crossref reported on 2026-10-01: single-DOI lookups at 5 per second (10 with--email), title searches at 1 per second (3 with--email). - When a title search returns several plausible records, show the candidates instead of choosing one silently.
- Crossref holds citation metadata, not full text. When exact wording, pagination, or publisher formatting matters, check the DOI landing page.
- Use
--strictfor audits that must fail on any invalid, missing, or unresolved record.
Quick Reference
| Task | Command |
| Validate a DOI | scripts/lookup --doi 10.1038/nature12373 |
| Search by title | scripts/lookup --title "CRISPR-Cas9 genome editing" --rows 5 |
| Validate a DOI list | scripts/lookup --validate-file dois.txt |
| Audit a bibliography | scripts/lookup --audit-bibliography refs.bib |
| Write the report to a file | --output crossref-report.json (refuses to overwrite) |
| Polite pool | --email you@example.org |
| Fail on any unresolved record | --strict |
Input Requirements
uvand network access; the wrapper runs the PEP 723 script, which pinsrequests.- One of: a DOI, a title, a DOI list file, or a bibliography file.
- Optional:
--email,--rows,--output,--strict.
Output
JSON on stdout, or in the --output file:
--doi:status,doi,detail,title,journal,year--title:queryandcandidateswithdoi,title,journal,year--validate-fileand--audit-bibliography:records,countsper status (valid,invalid,not_found,transient_error,http_error), andpotentially_missing_dois(BibTeX titles without a DOI)
Exit codes: 0 on success; 1 for an invalid or missing single DOI, a strict-mode audit failure, or a refused overwrite; 2 for transient service or network failures (HTTP 429, 5xx, timeouts).
Quality Gates
- The lookup mode matches the request.
- DOIs were normalized before any was reported as invalid.
- Ambiguous title matches are shown as candidates.
transient_errorrecords are reported as unchecked, not as invalid.- The answer separates Crossref metadata from publisher full text; reference formatting is left to the citation manager.
Examples
scripts/lookup --doi "10.1038/nature12373"
scripts/lookup --title "CRISPR-Cas9 genome editing" --email you@example.org
scripts/lookup --audit-bibliography refs.bib --strict --output crossref-audit.jsonTroubleshooting
Issue: A DOI looks valid but Crossref returns not_found.
Solution: Report that Crossref has no record. DataCite and other agencies register DOIs that Crossref does not hold, so check the DOI landing page before calling the citation wrong.
Issue: Many bibliography entries have no DOI.
Solution: Treat potentially_missing_dois as a coverage gap, not proof of invalid citations.
Issue: Exit code 2. Solution: Crossref rate-limited the run or was unreachable. Wait and rerun.
Related Skills
/polars-dovmed: full-text PMC Open Access search when the DOI is unknown/arxiv-searchand/biorxiv-search: preprint search/scientific-impact-assessment: citation counts and journal impact
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

