How to install citation-management
npx skills add https://github.com/lingzhi227/agent-research-skills --skill citation-managementFull instructions (SKILL.md)
Source of truth, from lingzhi227/agent-research-skills.
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.texor.bibfile
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:
- Read the current
.texdraft - Identify the most important missing citation
- Search Semantic Scholar via script
- Select the most relevant paper from results
- Extract BibTeX and generate a clean key (
lastNameYearWord) - Append to
.bib(skip if key exists) - Insert
\cite{key}at the appropriate location - 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, deep-research
- Downstream: paper-compilation, latex-formatting
- See also: related-work-writing
Related skills
More from lingzhi227/agent-research-skills and the wider catalog.
literature-review
Conduct comprehensive literature reviews using multi-perspective dialogue simulation. Generate diverse expert personas, conduct grounded Q&A conversations, and synthesize findings into structured knowledge. Use when starting a new research project or writing a survey section.
literature-search
Search academic literature using Semantic Scholar, arXiv, and OpenAlex APIs. Returns structured JSONL with title, authors, year, venue, abstract, citations, and BibTeX. Use when the user needs to find papers, check related work, or build a bibliography.
figure-generation
Generate publication-quality scientific figures using matplotlib/seaborn with a three-phase pipeline (query expansion, code generation with execution, VLM visual feedback). Handles bar charts, line plots, heatmaps, training curves, ablation plots, and more. Use when the user needs figures, plots, or visualizations for a paper.
latex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.
data-analysis
Generate statistical analysis code with 4-round review. Select appropriate statistical tests, interpret results, and produce analysis reports with p-values, effect sizes, and confidence intervals. Use when analyzing experimental data for a paper.
math-reasoning
Formal mathematical reasoning for research papers — derive equations, write proofs, formalize problem settings, select statistical tests, and generate LaTeX math notation. Use when the user needs mathematical derivations, theorem proofs, notation tables, or statistical analysis formalization.