Bibtex fetch
Fetch BibTeX entries from arXiv / Semantic Scholar. Triggers: 'fetch bibtex', 'cite this paper', 'arXiv bibtex', '拉 bibtex', '获取引用', '引用这篇论文'. Not for citation format conversion (APA/MLA) or literature review.From its SKILL.md
npx -y skills add jiahao-shao1/sjh-skills --skill bibtex-fetchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.7 KB, as published. Nobody here has run it
BibTeX Fetch
Fetch correct BibTeX entries from arXiv (by ID) or Semantic Scholar (by title search). Zero dependencies — uses only Python stdlib.
Script
scripts/bibtex_fetch.py — single self-contained Python script.
Commands
Fetch by arXiv ID
Given one or more arXiv IDs, fetch metadata from the arXiv API and generate BibTeX.
python3 scripts/bibtex_fetch.py fetch <arxiv_id> [<arxiv_id> ...] [--key <bibkey> ...]
Examples:
# Single paper
python3 scripts/bibtex_fetch.py fetch 2312.14135
# Multiple papers
python3 scripts/bibtex_fetch.py fetch 2312.14135 2505.14362 2408.15556
# With custom bibkeys
python3 scripts/bibtex_fetch.py fetch 2312.14135 --key vstar
# Full URL also works
python3 scripts/bibtex_fetch.py fetch https://arxiv.org/abs/2312.14135
Output: Standard @article{...} BibTeX entries, ready to paste into .bib files.
Search by title
Search Semantic Scholar for papers matching a query, then auto-fetch BibTeX for results that have arXiv IDs.
python3 scripts/bibtex_fetch.py search "<query>"
Examples:
python3 scripts/bibtex_fetch.py search "V* Guided Visual Search"
python3 scripts/bibtex_fetch.py search "DeepEyes Thinking with Images"
Output: Top 5 search results with author, year, and arXiv ID, followed by BibTeX for all results that have arXiv IDs.
Workflow
When the user asks to cite a paper:
- If they provide an arXiv ID or URL → use
fetch - If they provide a paper title or description → use
search - If they provide a
.bibfile and ask to check/fix entries → extract arXiv IDs from the file,fetchthem, compare with existing entries
Implementation Details
- arXiv API: Batches up to 20 IDs per request. 1s delay between batches.
- Semantic Scholar API: No auth key needed. 0.5s delay. 429 auto-retry with 5s backoff.
- Bibkey generation:
{first_author_last_name}{year}{first_significant_title_word}(e.g.,wu2023guided) - Author format:
Last, Firststyle, max 5 authors thenand others - URL cleaning: Strips
https://arxiv.org/abs/prefix and version suffixes (v1,v2)
Error Handling
| Error | Behavior |
|---|---|
| arXiv ID not found | Prints % NOT FOUND: <id> to stderr, continues with next |
| Semantic Scholar 429 | Waits 5s and retries once |
| Network timeout | Prints error to stderr, continues with remaining IDs |
| Non-arXiv paper in search | Shows in results list but no BibTeX generated |