Skip to content
Research
Skill

/citation-management

Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.

From plugin
agent-research-skills
26531 skills1 command
Install
$ npx -y skills add lingzhi227/agent-research-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.

Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.

SKILL.md

citation-management.SKILL.md
name: citation-management
description: Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.
argument-hint: [tex-or-bib-file]

Citation Management

Manage the full lifecycle of citations in a LaTeX paper.

Input

  • `$0` — Action: `harvest`, `validate`, `add`, `format`
  • `$1` — Path to `.tex` or `.bib` file

Scripts

Validate citations (check all cite keys resolve)

python ~/.claude/skills/citation-management/scripts/validate_citations.py \
  --tex paper/main.tex --bib paper/references.bib --check-figures --figures-dir paper/figures/

Reports: missing citations, unused bib entries, duplicate keys, duplicate sections, duplicate labels, undefined references, missing figures.

Generate BibTeX from paper database

python ~/.claude/skills/deep-research/scripts/bibtex_manager.py \
  --jsonl paper_db.jsonl --output references.bib

Search for a specific paper to add

python ~/.claude/skills/deep-research/scripts/search_semantic_scholar.py \
  --query "attention is all you need" --max-results 5 \
  --api-key "$(grep S2_API_Key /Users/lingzhi/Code/keys.md 2>/dev/null | cut -d: -f2 | tr -d ' ')"

Harvest missing citations automatically

python ~/.claude/skills/citation-management/scripts/harvest_citations.py \
  --tex paper/main.tex --bib paper/references.bib --output candidates.bib --max-rounds 10

Scans .tex for uncited claims, searches Semantic Scholar, outputs candidate BibTeX entries. Key flags: `--dry-run` (preview only), `--verbose`, `--api-key`

Auto-fix missing citation placeholders

python ~/.claude/skills/citation-management/scripts/validate_citations.py \
  --tex paper/main.tex --bib paper/references.bib --fix

Generates `references_fixed.bib` with placeholder entries for all missing citation keys.

Action: `harvest` — Iterative Citation Harvesting

Based on AI-Scientist's 20-round citation harvesting loop. For each round:

1. Read the current `.tex` draft 2. Identify the most important missing citation 3. Search Semantic Scholar via script 4. Select the most relevant paper from results 5. Extract BibTeX and generate a clean key (`lastNameYearWord`) 6. Append to `.bib` (skip if key exists) 7. Insert `\cite{key}` at the appropriate location 8. Stop when no more gaps or 20 rounds reached

**Key rules:**

  • DO NOT add a citation that already exists
  • Only add citations found via API — never fabricate
  • Cite broadly — not just popular papers
  • Do not copy verbatim from prior literature

Action: `validate` — Pre-Compilation Check

Run `validate_citations.py` to catch all issues before compilation. Fix any reported problems.

Action: `add` — Add Specific Paper

Search Semantic Scholar for the paper, extract BibTeX, clean the key, append to `.bib`.

BibTeX key format: `firstAuthorLastNameYearFirstContentWord` (e.g., `vaswani2017attention`)

Action: `format` — Standardize .bib

  • Sort entries alphabetically by key
  • Ensure consistent indentation (2 spaces)
  • Remove empty fields
  • Protect proper nouns with `{Braces}` in titles
  • Ensure required fields per entry type

Related Skills

  • Upstream: [literature-search](../literature-search/), [deep-research](../deep-research/)
  • Downstream: [paper-compilation](../paper-compilation/), [latex-formatting](../latex-formatting/)
  • See also: [related-work-writing](../related-work-writing/)
Read more
Ships withagent-research-skills

31 skills for Claude Code covering the full academic research paper lifecycle — from literature search to slide generation — plus GitHub repository analysis for research topics. Extracted from 17 GitHub repos studying LLM-agent-driven research automation.

Get the whole plugin
Stats
282
Stars
34
Forks
Maintained
Maintenance
Python
Language
5mo ago
Last commit
5mo ago
Created

Repo: lingzhi227/agent-research-skills

Other skills on agent-research-skills.