pubmed-database

Search PubMed and fetch abstracts, full text, and cross-database links via NCBI E-utilities APIs.

1|Updated Mar 7, 2025
One-click install
npx skills add https://github.com/carmonalab/ECODA_paper --skill pubmed-database-carmonalab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pubmed-database
Source: https://github.com/carmonalab/ECODA_paper/tree/main/.agents/skills/pubmed_database
Command: npx skills add https://github.com/carmonalab/ECODA_paper --skill pubmed-database-carmonalab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires polite-http, python-dotenv, and includes scripts (resource) and references (resource) components.

What problem does it solve? Finding and grounding scientific literature requires querying PubMed, resolving citations, and linking papers to genes, compounds, and sequences across NCBI databases, which is tedious and error-prone when done manually or through ad-hoc API calls. ## Core Features & Use Cases - Literature Search & Retrieval: Search PubMed with full NCBI query syntax, fetch abstracts and metadata in bulk, and retrieve open-access full text from PMC. - Cross-Database Linking: Traverse NCBI ELink connections from papers to genes, proteins, nucleotides, PubChem compounds, citing articles, and similar papers. - Citation & Utility Tools: Resolve messy bibliographic citations to PMIDs, spell-check biomedical terms, and cache large PMID sets on the NCBI History Server for bulk workflows. - Use Case: Given a research question about a drug, search PubMed for relevant trials, fetch and slim abstracts with jq, then link the top papers to PubChem compound IDs to identify the chemicals discussed. ## Quick Start Ask the agent to search PubMed for recent papers on a topic such as "mRNA vaccines melanoma" and summarize the abstracts of the top five results.

Frequently Asked Questions about pubmed-database

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

FAQPage Schema
How do I search PubMed from the command line?▼

Run the pubmed_api.py CLI with the search_pubmed function, passing a free-text or structured NCBI query. It returns a JSON list of PMIDs that you can pipe into fetch_article_abstracts to retrieve titles, authors, and abstracts.

How do I find genes or compounds mentioned in a PubMed paper?▼

Use find_linked_biological_data with a target database such as gene or pccompound and the appropriate linkname like pubmed_gene. It returns NCBI record IDs, which fetch_database_summary resolves into gene names or compound synonyms.

Can I get full text of PubMed articles programmatically?▼

Yes, but only for articles in the PMC Open Access Subset via get_full_text_pmc through the BioC API. Paywalled or embargoed articles return an error, so fall back to fetch_article_abstracts for those papers.

Why does cross-database linking return empty results for recent papers?▼

NCBI cross-database links lag publication by four to eight weeks due to indexing delays. For very recent papers, search the abstract or full text directly for accession numbers and identifiers instead of relying on ELink.

How do I resolve an incomplete citation to a PMID?▼

Use match_raw_citations with a pipe-delimited string in the format journal|year|volume|first_page|author|key|. If ecitmatch fails, fall back to search_pubmed with the title, author, or DOI as the query.

Do I need an NCBI API key to use the PubMed API?▼

No, the API works without a key at 3 requests per second. Setting the NCBI_API_KEY environment variable raises the limit to 10 requests per second, which is recommended for bulk queries or if you encounter 429 errors.