Skip to content
alyn
lingzhi227

Citation Management 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.

$npx skills add lingzhi227/agent-research-skills --skill citation-management
View this skill on GitHublingzhi227/agent-research-skills/skills/citation-management/SKILL.md
Pack stars
462
Pack installs
60k
Alyn Score
47/99
Updated
9 months ago
– views – installs via Alyn

lingzhi227

Citation Management

Install Citation Management

Pick your agent. Every command is ready to paste.

$npx skills add lingzhi227/agent-research-skills --skill citation-management

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads citation-management when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the citation-management skill”. In Codex, type $citation-management.

The skill itself

SKILL.md

FolderGitHub

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

Tips for Citation Management

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Citation Management

What does the Citation Management skill do?

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.

How do I install Citation Management?

Run "npx skills add lingzhi227/agent-research-skills --skill citation-management" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Citation Management work in Cursor and Codex?

Yes. Citation Management uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Citation Management free?

Citation Management is open source on GitHub. It is free to install; check the license before commercial use.

Who made Citation Management?

Citation Management is published by lingzhi227 in the lingzhi227/agent-research-skills repository, together with 29 other skills.

Similar skills. From other creators.