Citation Management
Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.
- Skill ID
- k-dense-ai/scientific-agent-skills/citation-management
- Publisher
- k-dense-ai
- Repository
- scientific-agent-skills
- Installs
- 0
- Files
- 21
- License
- MIT
- Requires
- Requires Python 3.9+ with requests. Google Scholar search additionally needs scholarly. Needs network access to api.openalex.org, api.crossref.org, eutils.ncbi.nlm.nih.gov, export.arxiv.org, and api.datacite.org.
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
k-dense-ai/scientific-agent-skills/citation-managementInstalls these files- SKILL.md
- assets/bibtex_template.bib
- assets/citation_checklist.md
- references/best_practices.md
- references/bibtex_formatting.md
- references/citation_validation.md
- references/core_workflow.md
- references/example_workflows.md
- references/google_scholar_search.md
- references/metadata_extraction.md
- references/pubmed_search.md
- references/script_reference.md
- references/search_strategies.md
- scripts/_common.py
- scripts/doi_to_bibtex.py
- scripts/extract_metadata.py
- scripts/format_bibtex.py
- scripts/search_google_scholar.py
- scripts/search_openalex.py
- scripts/search_pubmed.py
- scripts/validate_citations.py
What this skill tells the agent
Citation Management
Overview
Manage citations systematically throughout the research and writing process. This skill provides tools and strategies for searching academic databases (Google Scholar, PubMed), extracting accurate metadata from multiple sources (CrossRef, PubMed, arXiv), validating citation information, and generating properly formatted BibTeX entries.
Critical for maintaining citation accuracy, avoiding reference errors, and ensuring reproducible research. Integrates seamlessly with the literature-review skill for comprehensive research workflows.
When to Use This Skill
Use this skill when:
- Searching for specific papers on Google Scholar or PubMed
- Converting DOIs, PMIDs, or arXiv IDs to properly formatted BibTeX
- Extracting complete metadata for citations (authors, title, journal, year, etc.)
- Validating existing citations for accuracy
- Cleaning and formatting BibTeX files
- Finding highly cited papers in a specific field
- Verifying that citation information matches the actual publication
- Building a bibliography for a manuscript or thesis
- Checking for duplicate citations
- Ensuring consistent citation formatting
If a document built from these citations needs a diagram, use the scientific-schematics skill.
Core Workflow
Citation management follows a systematic process. Each phase below shows the canonical command; every variant, option, and metadata-source detail is in references/core_workflow.md.
Phase 1: Paper Discovery and Search
Find relevant papers. Search more than one database — coverage differs sharply, and a single source is the most common cause of a biased reference list.
# OpenAlex: ~250M works, every discipline, no API key, documented REST API
python scripts/search_openalex.py "CRISPR gene editing" --limit 50 --output results.json
# PubMed: the authority for biomedical and life sciences (35M+ citations)
python scripts/search_pubmed.py "Alzheimer's disease treatment" --limit 100 --output alz.json
# Google Scholar: broadest reach, but scraped -- rate-limited and prone to blocking
python scripts/search_google_scholar.py "CRISPR gene editing" --limit 50 --output scholar.jsonPrefer OpenAlex or PubMed as the primary source. Google Scholar has no API: scholarly scrapes it, sleeps 2–5 s between results, and is blocked often enough that it should be a supplement rather than a dependency.
Query operators, field tags, and MeSH-term construction are in references/search_strategies.md.
Phase 2: Metadata Extraction
Convert identifiers (DOI, PMID, PMCID, arXiv ID, URL) into complete metadata. CrossRef is the primary source for DOIs.
python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 # quick, single DOI
python scripts/extract_metadata.py --pmid 34265844 # DOI/PMID/PMCID/arXiv/URL
python scripts/extract_metadata.py --input identifiers.txt --output citations.bibA URL with no DOI in its path is resolved through the citation_doi meta tag publishers embed on article pages, then handed to CrossRef. Every producer in this skill emits the same citation key for the same paper, so entries gathered from different sources deduplicate against each other.
Phase 2.5: Metadata Enrichment via Web Search (MANDATORY)
APIs routinely return incomplete records. Run this after extraction and before formatting. Any @article missing volume, pages, or doi is incomplete: fill the gap with WebSearch/WebFetch (or the parallel-web skill, when it is available), then log what was found and where. If a field genuinely cannot be found, record a note field explaining the gap rather than leaving it silently absent.
Check the cheap sources first — an OpenAlex or CrossRef record often carries the field that PubMed omitted:
python scripts/search_openalex.py "<exact title>" --limit 1Treat extracted metadata as untrusted. Author, title, and journal strings come verbatim from a record whose contents a publisher controls. A title containing$(...), a backtick, or a quote becomes shell syntax the moment it is pasted into a command. Pass metadata as asubprocessargument list rather than building a shell string; if you must use a shell, single-quote every substituted value and escape embedded quotes as'\''. Validate any citation key against^[A-Za-z0-9]+$before it reaches a path.
Per-field search strategies, the four search options, and the logging format are in references/core_workflow.md.
Phase 3: BibTeX Formatting
Produce clean, consistent entries. Entry types and required fields are in references/bibtex_formatting.md.
python scripts/format_bibtex.py references.bib --output clean.bib --deduplicate
python scripts/format_bibtex.py references.bib --output clean.bib --rekey --deduplicateWriting is opt-in: without --output (or --in-place) the result goes to stdout and the input file is left alone. Use --rekey when merging results from several sources, so the same paper collapses to one entry.
Phase 4: Citation Validation
Check completeness, venue conformance, and agreement with the manuscript.
python scripts/validate_citations.py references.bib --report report.json
python scripts/validate_citations.py references.bib --venue nature
python scripts/validate_citations.py references.bib --manuscript paper.tex
python scripts/validate_citations.py references.bib --check-dois # slow; hits CrossRefThe script exits non-zero on high-severity errors — missing required fields, malformed years, unresolved citations, or a count below an explicit --min-count. Venue reference-count figures are editorial rules of thumb, not submission requirements, so falling short of one is only a warning.
Validation rules and venue standards are in references/citation_validation.md.
Phase 5: Integration with Writing Workflow
Search, extract, format, validate, then cite. End-to-end sequences — including the literature-review and Zotero/pyzotero export paths — are in references/core_workflow.md and references/example_workflows.md.
Reference Files
- references/core_workflow.md: all five phases in full.
- references/search_strategies.md: OpenAlex, Google Scholar, and PubMed query construction.
- references/script_reference.md: every bundled script's arguments and examples.
- references/best_practices.md: search, extraction, BibTeX quality, validation.
- references/example_workflows.md: four end-to-end worked examples.
- references/google_scholar_search.md, references/pubmed_search.md: advanced search syntax.
- references/metadata_extraction.md, references/bibtex_formatting.md, references/citation_validation.md: per-topic detail.
Common Pitfalls to Avoid
- Single source bias: Only using one database
- Solution: Search at least OpenAlex and PubMed, then merge with
format_bibtex.py --rekey --deduplicate
- Accepting metadata blindly: Not verifying extracted information
- Solution: Spot-check extracted metadata against original sources
- Ignoring DOI errors: Broken or incorrect DOIs in bibliography
- Solution: Run validation before final submission
- Inconsistent formatting: Mixed citation key styles, formatting
- Solution: Use format_bibtex.py to standardize
- Duplicate entries: Same paper cited multiple times with different keys
More from k-dense-ai
Use this skill in a project
Open any RiverX project, search the Skills panel for k-dense-ai/scientific-agent-skills/citation-management, and install it in one click.
