paper-lookup
# ClaudeWave: paper-lookup The paper-lookup skill searches ten academic paper databases via REST APIs, including PubMed, PMC, bioRxiv, medRxiv, arXiv, OpenAlex, Crossref, Semantic Scholar, CORE, and Unpaywall. Use it when users need to find research papers by topic, DOI, or author; retrieve abstracts or full text; locate open access copies; access preprints; or explore citation networks across biomedical, physics, mathematics, and computer science literature.
git clone --depth 1 https://github.com/K-Dense-AI/scientific-agent-skills /tmp/paper-lookup && cp -r /tmp/paper-lookup/skills/paper-lookup ~/.claude/skills/paper-lookupSKILL.md
# Paper Lookup You have access to 10 academic paper databases through their REST APIs. Your job is to figure out which database(s) best serve the user's query, call them, and return the results. ## Core Workflow 1. **Understand the query** -- What is the user looking for? A specific paper by DOI? Papers on a topic? An author's publications? Open access PDFs? Full text? This determines which database(s) to hit. 2. **Select database(s)** -- Use the database selection guide below. Many queries benefit from hitting multiple databases -- for example, searching PubMed for papers and then checking Unpaywall for open access copies. 3. **Read the reference file** -- Each database has a reference file in `references/` with endpoint details, query formats, and example calls. Read the relevant file(s) before making API calls. 4. **Make the API call(s)** -- See the **Making API Calls** section below for which HTTP fetch tool to use on your platform. 5. **Return results** -- Always return: - The **raw JSON** (or parsed XML for arXiv) response from each database - A **list of databases queried** with the specific endpoints used - If a query returned no results, say so explicitly rather than omitting it ## Database Selection Guide Match the user's intent to the right database(s). ### By Use Case | User is asking about... | Primary database(s) | Also consider | |---|---|---| | Papers on a biomedical topic | PubMed | Semantic Scholar, OpenAlex | | Full text of a biomedical article | PMC | CORE | | Biology preprints | bioRxiv | Semantic Scholar, OpenAlex | | Health/medical preprints | medRxiv | Semantic Scholar, OpenAlex | | Physics, math, or CS preprints | arXiv | Semantic Scholar, OpenAlex | | Papers across all fields | OpenAlex | Semantic Scholar, Crossref | | A specific paper by DOI | Crossref | Unpaywall, Semantic Scholar | | Open access PDF for a paper | Unpaywall | CORE, PMC | | Citation graph (who cites whom) | Semantic Scholar | OpenAlex | | Author's publications | Semantic Scholar | OpenAlex | | Paper recommendations | Semantic Scholar | -- | | Full text (any field) | CORE | PMC (biomedical only) | | Journal/publisher metadata | Crossref | OpenAlex | | Funder information | Crossref | OpenAlex | | Convert between PMID/PMCID/DOI | PMC (ID Converter) | Crossref | | Recent preprints by date | bioRxiv, medRxiv | arXiv | ### Cross-Database Queries | User is asking about... | Databases to query | |---|---| | Everything about a paper (metadata + citations + OA) | Crossref + Semantic Scholar + Unpaywall | | Comprehensive literature search | PubMed + OpenAlex + Semantic Scholar | | Find and read a paper | PubMed (find) + Unpaywall (OA link) + PMC or CORE (full text) | | Preprint and its published version | bioRxiv/medRxiv + Crossref | | Author overview with citation metrics | Semantic Scholar + OpenAlex | When a query spans multiple needs (e.g., "find papers about CRISPR and get me the PDFs"), query the relevant databases in parallel. ## Common Identifier Formats Different databases use different identifier systems. If a query fails, the identifier format may be wrong. | Identifier | Format | Example | Used by | |---|---|---|---| | DOI | `10.xxxx/xxxxx` | `10.1038/nature12373` | All databases | | PMID | Integer | `34567890` | PubMed, PMC, Semantic Scholar | | PMCID | `PMC` + digits | `PMC7029759` | PMC, Europe PMC | | arXiv ID | `YYMM.NNNNN` | `2103.15348` | arXiv, Semantic Scholar | | OpenAlex ID | `W` + digits | `W2741809807` | OpenAlex | | Semantic Scholar ID | 40-char hex | `649def34f8be...` | Semantic Scholar | | ORCID | `0000-XXXX-XXXX-XXXX` | `0000-0001-6187-6610` | OpenAlex, Crossref | | ISSN | `XXXX-XXXX` | `0028-0836` | Crossref, OpenAlex | **Cross-referencing IDs:** Semantic Scholar accepts DOI, PMID, PMCID, and arXiv ID via prefixes (e.g., `DOI:10.1038/nature12373`, `PMID:34567890`, `ARXIV:2103.15348`). OpenAlex accepts DOI and PMID via prefixes (`doi:10.1038/...`, `pmid:34567890`). Use the PMC ID Converter to translate between PMID, PMCID, and DOI. ## API Keys and Access Most of these databases are fully open. A few benefit from API keys for higher rate limits. ### Databases requiring or benefiting from API keys | Database | Env Variable | Required? | Registration | |---|---|---|---| | NCBI (PubMed, PMC) | `NCBI_API_KEY` | No (3 req/s without, 10 with) | https://www.ncbi.nlm.nih.gov/account/settings/ | | CORE | `CORE_API_KEY` | Yes for full text | https://core.ac.uk/services/api | | Semantic Scholar | `S2_API_KEY` | No (shared pool without) | https://www.semanticscholar.org/product/api#api-key-form | | OpenAlex | `OPENALEX_API_KEY` | Recommended | https://openalex.org/settings/api | ### Fully open databases (no key needed) | Database | Notes | |---|---| | bioRxiv / medRxiv | No auth, no documented rate limits | | arXiv | No auth, max 1 request per 3 seconds | | Crossref | No auth; add `mailto` param for polite pool (2x rate limit) | | Unpaywall | No auth; requires `email` parameter | ### Loading API keys 1. **Check the environment first** -- the key may already be exported (e.g., `$NCBI_API_KEY`). 2. **Fall back to `.env`** -- check `.env` in the current working directory. 3. **Proceed without** -- most APIs still work at lower rate limits. Tell the user which key is missing and how to get one. ## Making API Calls Use your environment's HTTP fetch tool to call REST endpoints: | Platform | HTTP Fetch Tool | Fallback | |---|---|---| | Claude Code | `WebFetch` | `curl` via Bash | | Gemini CLI | `web_fetch` | `curl` via shell | | Windsurf | `read_url_content` | `curl` via terminal | | Cursor | No dedicated fetch tool | `curl` via `run_terminal_cmd` | | Codex CLI | No dedicated fetch tool | `curl` via `shell` | | Cline | No dedicated fetch tool | `curl` via `execute_command` | If the fetch tool fails, fall back to `curl` via whatever shell tool is available. ### Special cases - **arXiv returns Atom XML**, not JSON. Parse it or use `curl` and extract the rel
How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.
Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.
Observe the user's screen via screenpipe, detect repeated research workflows, match them against existing scientific-agent-skills, and draft new skills (or composition recipes that chain existing ones) for the patterns not yet covered. Use when the user asks to analyze their recent work and propose skills based on what they actually do. Requires the screenpipe daemon (https://github.com/screenpipe/screenpipe) running locally on port 3030 — the skill has no other data source and will refuse to run if screenpipe is unreachable. All detection runs locally; only redacted cluster summaries reach the LLM.
Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.
Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.