skills/60-regisely-superpapers/skills/citation-management/SKILL.md
Use when adding citations to a .bib file, importing references by DOI, cleaning a bibliography, detecting duplicate entries, or normalizing citation keys. Uses direct .bib manipulation with CrossRef API for metadata resolution — no external tool dependencies.
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research citation-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill manages the project's references.bib directly, using the CrossRef API to resolve DOIs into complete BibTeX entries. It does not require Zotero, any external CLI, or any desktop application. Everything happens through standard tools: curl (or equivalent HTTP client) and text editing of the .bib file.
Resolve every DOI via CrossRef. Call https://api.crossref.org/works/{doi}. Extract: title, full author list, year, journal, volume, issue, pages, publisher, and DOI. Do not invent fields missing from the API response — leave them out instead.
Generate a BibTeX entry with complete fields. Required for articles: author, title, year, journal, volume, pages, doi. For books: author (or editor), title, year, publisher, doi. For chapters: add booktitle and editor.
Citation key format: FirstAuthorLastnameYear, e.g., Santos2024. Disambiguate collisions with lowercase letters: Santos2024a, Santos2024b. Strip accents and non-ASCII characters from the key — BibTeX tooling does not always handle Unicode in keys.
Check for duplicates before adding. Duplicate definition: same DOI, OR same title (case-insensitive, normalized whitespace) AND same first author AND same year. If duplicate, skip and report the existing key.
Keep references.bib sorted alphabetically by citation key. Sort after every insert so the file stays stable across commits.
Preserve existing entries. Do not rewrite fields of existing entries unless the user explicitly asks. Append new entries in the correct sorted position.
curl -s 'https://api.crossref.org/works/10.1257/aer.84.4.772' \
| jq '.message | {title, author, issued, container-title, volume, page, DOI}'
The response provides all fields needed to build a complete BibTeX entry. Parse the author array to extract each author's given and family name, then format as Family, Given and Family2, Given2.
@article{CardKrueger1994,
author = {Card, David and Krueger, Alan B.},
title = {Minimum Wages and Employment: A Case Study of the Fast-Food Industry in New Jersey and Pennsylvania},
journal = {American Economic Review},
year = {1994},
volume = {84},
number = {4},
pages = {772--793},
doi = {10.1257/aer.84.4.772}
}
Use braces for titles that contain words requiring specific capitalization (e.g., proper nouns, acronyms): title = {The {DiD} Approach to Causal Inference}. Use double hyphens for page ranges (772--793).
santos2024 and Santos_2024)"et al." in the author field instead of the full author list.bib file unsorted after insertionet al.AuthorYear[letter] format consistently--)tools
Autonomous multi-round research review loop using MiniMax API. Use when you want to use MiniMax instead of Codex MCP for external review. Trigger with "auto review loop minimax" or "minimax review".
tools
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".
tools
Autonomous multi-round research review loop using MiniMax API. Use when you want to use MiniMax instead of Codex MCP for external review. Trigger with "auto review loop minimax" or "minimax review".
tools
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".