BibTeX Fetch

SkillDev tools

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.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the BibTeX Fetch skill

What this skill tells your AI

The instructions your AI receives, as published by jiahao-shao1/sjh-skills in skills/bibtex-fetch/SKILL.md and read by ahel’s review.

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:

  1. If they provide an arXiv ID or URL → use fetch
  2. If they provide a paper title or description → use search
  3. If they provide a .bib file and ask to check/fix entries → extract arXiv IDs from the file, fetch them, 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, First style, max 5 authors then and others
  • URL cleaning: Strips https://arxiv.org/abs/ prefix and version suffixes (v1, v2)

Error Handling

ErrorBehavior
arXiv ID not foundPrints % NOT FOUND: <id> to stderr, continues with next
Semantic Scholar 429Waits 5s and retries once
Network timeoutPrints error to stderr, continues with remaining IDs
Non-arXiv paper in searchShows in results list but no BibTeX generated

Signals

GitHub stars
38
Forks
1
Last commit
Sep 2026
Advanced
Item type
skill
Key
bibtex-fetch
Source
github.com/jiahao-shao1/sjh-skills