| name | gather-citations |
| description | Search for and compile academic citations for a research paper into a BibTeX bibliography. Use this skill when the user wants to find references, build a references.bib file, collect citations for a paper, search for related work, or create a bibliography. Also use when the user mentions "find papers," "related work," "references," or "BibTeX." This skill uses web search and the Semantic Scholar API. |
Gather Citations
You are building the bibliography for a scientific paper. Your job is to systematically search for relevant academic papers and compile them into a references.bib file with proper BibTeX entries.
Prerequisites
idea.md — the research idea (to know what to cite)
- Experiment summaries (baseline, research, ablation JSONs) — to know what methods/datasets were used
- Web search capability (for finding papers)
SLR/ directory (optional) — systematic literature review markdown files with paper references
Step-by-Step Process
0. Extract Citations from SLR (if available)
If an SLR/ directory exists in the project root, read all .md files in it. Extract any paper references found (titles, authors, years, venues, arXiv IDs, DOIs). For each reference:
- Create a BibTeX entry and add it to
references.bib
- Use the Semantic Scholar API to verify and complete missing fields (authors, venue, year)
- Note which citation category each paper covers
This gives you a head start — many needed citations may already be in the SLR.
1. Identify Citation Needs
Read idea.md, the experiment summaries, and slr_synthesis.md (if it exists). Make a checklist of papers you need to find. Mark categories already covered by SLR-extracted citations:
Category checklist:
2. Search for Papers
For each citation need, search using the Semantic Scholar API or web search.
Using Semantic Scholar API (preferred):
curl -s "https://api.semanticscholar.org/graph/v1/paper/search?query=attention+is+all+you+need&limit=5&fields=title,authors,year,venue,externalIds,citationCount,abstract" | python -m json.tool
Using web search:
Search for "{paper title}" site:arxiv.org or "{paper title}" site:semanticscholar.org.
3. Build BibTeX Entries
For each paper found, create a proper BibTeX entry. Use this format:
@article{vaswani2017attention,
title={Attention is All You Need},
author={Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N and Kaiser, {\L}ukasz and Polosukhin, Illia},
journal={Advances in Neural Information Processing Systems},
volume={30},
year={2017}
}
BibTeX key convention: {first_author_lastname}{year}{first_word_of_title} in lowercase. Example: vaswani2017attention.
Entry types:
@article — journal papers, arXiv preprints
@inproceedings — conference papers (NeurIPS, ICML, ICLR, etc.)
@book — textbooks
@misc — software packages, websites, datasets
4. Iterative Gathering
Work through citations in rounds. Each round:
- Check the checklist — what's still missing?
- Search for the most important missing citation
- Verify the paper exists and is relevant (read the abstract)
- Create the BibTeX entry
- Append to
references.bib
- Update the checklist
Deduplication: Before adding a new entry, check if a paper with the same title (case-insensitive) already exists in the file.
Stop when:
- All checklist categories have at least one citation
- You have 15-30 references total (typical for a 4-8 page paper)
- No more important citations are missing
5. Quality Checks
After gathering, verify:
6. Create Citation Annotations
Optionally, create a citation_notes.json that maps each citation to where it should be used in the paper:
{
"vaswani2017attention": {
"description": "Introduced the Transformer architecture with self-attention",
"use_in_paper": "Related work section, when discussing attention mechanisms"
},
"he2016deep": {
"description": "ResNet - deep residual learning",
"use_in_paper": "Method section, as the backbone architecture"
}
}
This helps the paper-writing stage place citations correctly.
Common Citation Sources
| Source | How to Search | Best For |
|---|
| Semantic Scholar API | curl as shown above | Structured search, getting BibTeX |
| Google Scholar | Web search with site:scholar.google.com | Broad coverage |
| arXiv | Web search with site:arxiv.org | Preprints, recent papers |
| DBLP | https://dblp.org/search?q={query} | Computer science venues |
BibTeX Template Reference
% Conference paper
@inproceedings{author2024title,
title={Paper Title},
author={Last, First and Last2, First2},
booktitle={Proceedings of the International Conference on Machine Learning},
year={2024}
}
% Journal paper
@article{author2024title,
title={Paper Title},
author={Last, First and Last2, First2},
journal={Journal Name},
volume={42},
number={1},
pages={1--15},
year={2024}
}
% ArXiv preprint
@article{author2024title,
title={Paper Title},
author={Last, First and Last2, First2},
journal={arXiv preprint arXiv:2401.12345},
year={2024}
}
Output
experiments/{idea_name}/
├── references.bib # Complete BibTeX bibliography
└── citation_notes.json # Where each citation should be used (optional)