Skip to content
Data
Skill

/citation-management

Optional OpenAlex key for a higher account budget.

From plugin
scientific-agent-skills
56k177 skills

Claude Code

$ npx -y skills add K-Dense-AI/scientific-agent-skills --skill citation-management --agent claude-code

SKILL.md

citation-management.SKILL.md
name: citation-management
description: 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.
allowed-tools: Read Write Edit Bash WebSearch WebFetch
license: MIT License
compatibility: 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, pmc.ncbi.nlm.nih.gov, doi.org, export.arxiv.org, and api.datacite.org.
metadata:
  version: "2.3"
  last-reviewed: "2026-09-30"
  skill-author: K-Dense Inc.
  openclaw:
    envVars:
    - name: NCBI_EMAIL
      required: false
      description: Email for NCBI Entrez identification.
    - name: NCBI_API_KEY
      required: false
      description: NCBI API key to raise Entrez rate limits.
    - name: OPENALEX_EMAIL
      required: false
      description: Optional contact email for OpenAlex.
    - name: OPENALEX_API_KEY
      required: false
      description: Optional OpenAlex key for a higher account budget.

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](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: multidisciplinary REST API; optional OPENALEX_API_KEY for account quota
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.json

Prefer 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](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.bib

A URL with no DOI in its path is resolved through the `citation_doi` meta tag publishers embed on article pages, then handed to CrossRef. Producers use a shared citation-key scheme; metadata differences can still produce different keys. Confirm duplicates by DOI and bibliographic identity.

Phase 2.5: Metadata Enrichment via Web Search (MANDATORY)

APIs routinely return incomplete records. Run this **after** extraction and **before** formatting. Investigate missing bibliographic fields against the publisher record and log each source. Online-first articles may have no volume/pages yet; some use an article number or have no DOI. Preserve the actual publication state, use the style-appropriate article-number field, and never invent pages, volume, or DOI. Record unavailable/not-applicable fields in the audit log; add a rendered `note` only when useful to the reader or required by the citation style.

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 1

> **Treat 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 a `subprocess` argument 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

Read more
@k-dense-ai
Ships withscientific-agent-skills

๐Ÿ”” Claude Scientific Skills is now Scientific Agent Skills. Same skills, broader compatibility โ€” now works with any AI agent that supports the open Agent Skills standard, not just Claude.

Stars on GitHub

Momentum

stars in total
55.6k
Star history of K-Dense-AI/scientific-agent-skills on GitHub, a chart by star-history.com

Other skills on scientific-agent-skills.

aeon

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting,โ€ฆ

More skills from other plugins.

paddleocr-doc-parsing

paddleocr-doc-parsing

Use this skill to extract structured Markdown/JSON from PDFs and document imagesโ€”tables with cell-level precision, formulas asโ€ฆ

@paddlepaddle@paddlepaddleInstall Skill
context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,โ€ฆ

mem04d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and anโ€ฆ

posthog10d41k
@posthog@posthogInstall Skill
qmd

qmd

Search local markdown knowledge bases, notes, docs, and wikis with QMD. Use when users ask to find notes, retrieve documents,โ€ฆ

qmd3w31k
@tobi@tobiInstall Skill

Questions about citation-management.

Which coding agents can use citation-management?
citation-management installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.