Agent skill · Databases

paper-lookup

Search 11 academic literature APIs for papers, preprints, citations, and open-access full text, and return results with reproducible provenance. Covers PubMed, PMC (full text), Europe PMC (full-text and preprint search), bioRxiv, medRxiv, arXiv, OpenAlex, Crossref, Semantic Scholar, CORE, Unpaywall. Use when searching for papers, citations, DOI/PMID/arXiv lookups, abstracts, full text, open-access PDFs, preprints, citation graphs, author publications, or any scholarly literature query. Triggers on mentions of any supported database or requests like "find papers on X", "look up this DOI", "who

K-Dense-AIgithub.com/K-Dense-AIGitHub ↗
claude-codecan modify filesships scriptsMIT
Install
npx skills add K-Dense-AI/scientific-agent-skills --skill paper-lookup --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 17
SKILL.md size: 21 KB
Bundled scripts: yes
Version: 2.0
Allowed tools: ReadBash
Requires: Needs network access and curl. The bundled scripts require Python 3.11+ and use only the standard library. No…
Path: skills/paper-lookup/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 32,619
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Paper Lookup This skill gives you 11 academic literature APIs with documented endpoints. Your job is to turn the user's intent into a reproducible retrieval: pick the authoritative database(s), make bounded and rate-limited calls, and return an answer with enough provenance (endpoints, parameters, identifiers, access date) that a human or another agent can repeat it. A literature lookup is only as trustworthy as it is repeatable. Prefer explicit identifiers and documented endpoints over broad guessing, report what you queried, and say plainly when a result is partial or a database came back empty — a silent gap reads as "nothing exists" when it may just mean "not indexed here." **These APIs fail with HTTP 200.** That is the recurring hazard across all eleven, and the reason for most of the rules below. PMC eFetch returns a well-formed article with no `<body>` when the publisher forbids redistribution. arXiv returns `totalResults: 1` and one entry titled `Error` for a malformed parameter, and silently rewrites an unknown field prefix to `all:`. Europe PMC puts `errCode` in a 200 body. bioRxiv accepts an out-of-step pagination cursor and returns the wrong 30 records. None of these

What's inside
Steps it walks through
  1. Core Workflow
  2. Database Selection Guide
  3. By Use Case
  4. Cross-Database Queries
  5. Common Identifier Formats
  6. API Keys and Access
  7. Making API Calls
  8. Request guidelines
  9. Error recovery
  10. Completeness and reproducibility
  11. Bundled Scripts
  12. Output Format
  13. Adding New Databases
  14. Available Databases
Ships with 16 files
  • references/arxiv.md
  • references/biorxiv.md
  • references/core.md
  • references/crossref.md
  • references/europepmc.md
  • references/medrxiv.md
  • references/openalex.md
  • references/pmc.md
  • references/pubmed.md
  • references/semantic-scholar.md
  • references/unpaywall.md
  • scripts/_common.py
  • scripts/arxiv_atom.py
  • scripts/jats_to_text.py
  • scripts/openalex_abstract.py
  • scripts/paginate.py
Commands it runs
curl -s --get "https://www.ebi.ac.uk/europepmc/webservices/rest/search" \
curl -s -H "Accept: application/json" -H "x-api-key: $S2_API_KEY" \
Exhaustive preprint walk, reconciled against the reported total
python3 scripts/paginate.py --api europepmc --query 'SRC:"PPR" AND "organoid"' --max-records 200
Full text, with the non-OA trap caught rather than reported as success
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pmc&id=7029759&retmode=xml" \
arXiv Atom, with the Error entry and the version suffix handled
curl -s "https://export.arxiv.org/api/query?id_list=1706.03762" | python3 scripts/arxiv_atom.py -
OpenAlex abstracts, without the duplicate-position bug the naive inversion has
curl -s "https://api.openalex.org/works/doi:10.7717/peerj.4375" | python3 scripts/openalex_abstract.py -
More from scientific-agent-skills
All skills →
About this skill
What does the paper-lookup skill do?

Search 11 academic literature APIs for papers, preprints, citations, and open-access full text, and return results with reproducible provenance. Covers PubMed, PMC (full text), Europe PMC (full-text and preprint search), bioRxiv, medRxiv, arXiv, OpenAlex, Crossref, Semantic Scholar, CORE, Unpaywall. Use when searching for papers, citations, DOI/PMID/arXiv lookups, abstracts, full text, open-access PDFs, preprints, citation graphs, author publications, or any scholarly literature query. Triggers on mentions of any supported database or requests like "find papers on X", "look up this DOI", "who

How do I install it?

Run `npx skills add K-Dense-AI/scientific-agent-skills --skill paper-lookup --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From K-Dense-AI/scientific-agent-skills, a repository with 32,619 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going