semantic-scholar

Search the Semantic Scholar graph and snowball citations for literature reviews.

1|Updated Jul 13, 2026
One-click install
npx skills add https://github.com/thurlow-research/ResearchClaudeCodeSkills --skill semantic-scholar-thurlow-research
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: semantic-scholar
Source: https://github.com/thurlow-research/ResearchClaudeCodeSkills/tree/main/desktop/skills/semantic-scholar
Command: npx skills add https://github.com/thurlow-research/ResearchClaudeCodeSkills --skill semantic-scholar-thurlow-research

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Systematic literature reviews require expanding a small set of known seed papers into a comprehensive candidate pool, but manually chasing citations forward and backward through the academic graph is slow and error-prone. This Skill automates citation snowballing, relevance search, and metadata lookup against the Semantic Scholar API (~200M+ papers) through a single stdlib-only Python CLI. ## Core Features & Use Cases - Citation Snowballing: Multi-hop forward (who cites a paper) and backward (what it cites) expansion from seed papers, with deduplication, provenance tracking (which seed, direction, hop, influential flag, citation intents), and filters for year, citation count, and fields of study. - Search & Lookup: Relevance search, boolean bulk search (up to ~1000 results), single-paper metadata by DOI/arXiv/S2 id, batch hydration of up to 500 ids, author search, and paper recommendations. - Disk Caching & Rate-Limit Handling: Every GET and batch POST is cached for 7 days by default, with ~1 request/second throttling and exponential backoff on 429/503 responses. - Use Case: Given five seed papers for a systematic review, run a 1-hop snowball in both directions restricted to influential citations, then hand the ranked candidate list (with DOIs) to the user for import into Zotero. ## Quick Start Ask Claude to snowball citations from your seed papers, for example: "Run a forward and backward snowball from DOI:10.1016/j.infsof.2008.09.009 with influential-only filtering and show me the top candidates."

Frequently Asked Questions about semantic-scholar

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I do citation snowballing for a systematic literature review?

Run the snowball command with your seed paper ids (DOI, arXiv, or S2 ids) and choose a direction: forward finds papers citing your seeds, backward finds what they cite. Keep hops at 1 and use --influential-only for high precision, since hop counts explode quickly on highly-cited papers.

How to search Semantic Scholar papers from the command line?

Use the search subcommand for relevance-ranked queries with filters for year, venue, fields of study, open access, and minimum citations. For large sweeps, the bulk subcommand supports boolean queries with AND/OR/quotes and returns up to about 1000 results.

Do I need a Semantic Scholar API key?

The API works without a key but on a heavily rate-limited shared pool that returns frequent 429 errors. A free key from semanticscholar.org fixes this; pass it inline as SEMANTIC_SCHOLAR_API_KEY on every script invocation.

Why am I getting 429 rate limit errors from Semantic Scholar?

429 errors mean you are on the anonymous shared pool or exceeding roughly 1 request per second. Set an API key, and note the CLI already throttles to 1 request/second and honors Retry-After with exponential backoff; cached repeat queries avoid the API entirely.

Can this skill import papers into Zotero?

No, this skill is read-only against Semantic Scholar and never writes to Zotero. It outputs candidate papers with DOIs and paperIds; importing them into your library is handled by the separate zotero skill.

What paper identifier formats does Semantic Scholar accept?

Endpoints accept S2 paperIds, DOI:, ARXIV:, CorpusId:, PMID:, PMCID:, MAG:, ACL:, and URL: prefixed identifiers. The CLI auto-prefixes obvious DOIs and arXiv ids, but explicit prefixes are safest when in doubt.