Skip to content
AI & Agents
Skill

/citation-management

Contact email for the faster OpenAlex polite pool.

From plugin
k-dense-ai-scientific-agent-skills
45k166 skills
Install
$ npx -y skills add k-dense-ai/claude-scientific-skills --skill citation-management --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/citation-management

Context preview

The summary Claude sees to decide when to auto-load this skill.

Contact email for the faster OpenAlex polite pool.

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, export.arxiv.org, and api.datacite.org.
metadata:
  version: "2.1"
  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: Contact email for the faster OpenAlex polite pool.

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: ~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.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. 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 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 logging format are in [references/core_workflow.md](references/core_workflow.md).

Phase 3: BibTeX Formatting

Produce clean, consistent entries. Entry types and required fields are in [references/bibtex_formatting.md](references/bibtex_formatting.md).

python scripts/format_bibtex.py references.bib --output cle
Read more
Ships withk-dense-ai-scientific-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.

Get the whole plugin
Stats
44,280
Stars
4,019
Forks
Active
Maintenance
Python
Language
MIT
License
8d ago
Last commit
11mo ago
Created
14d ago
Added

Repo: k-dense-ai/claude-scientific-skills