Install
openclaw skills install @ki-ngian/search-pubmedSearch biomedical literature on PubMed via NCBI E-Utilities. Use this skill whenever the user needs to search for scientific papers, biomedical articles, life science research, or any PubMed-indexed content. Triggers: 'search literature', 'find papers', 'PubMed', 'NCBI', 'PMID', 'biomedical', 'scientific articles', 'life science', 'organism research', 'gene/disease/drug papers'. Also use for any mention of searching literature about bacteria, plants, animals, diseases, genes, proteins, drugs, or clinical/biological topics — even if the user doesn't explicitly say 'PubMed'.
openclaw skills install @ki-ngian/search-pubmedSearch PubMed (and other NCBI databases) via the E-Utilities API, using a bundled
Python script that wraps Biopython's Bio.Entrez.
python scripts/search_pubmed.py "<query>" [--max N] [--db DB] [--pmid ID] [--full]
The script lives at scripts/search_pubmed.py relative to this skill directory.
Run it from the workspace root, using the skill's install path to locate the script.
If the skill is installed at .claude/skills/search-pubmed/, invoke it as:
python .claude/skills/search-pubmed/scripts/search_pubmed.py "cancer AND immunotherapy"
python .claude/skills/search-pubmed/scripts/search_pubmed.py "Sinorhizobium fredii biofilm"
python .claude/skills/search-pubmed/scripts/search_pubmed.py "CRISPR" --max 20
python .claude/skills/search-pubmed/scripts/search_pubmed.py "hopanoid AND rhizobium"
python .claude/skills/search-pubmed/scripts/search_pubmed.py "mouse OR rat"
python .claude/skills/search-pubmed/scripts/search_pubmed.py "hopanoid[Title/Abstract]"
python .claude/skills/search-pubmed/scripts/search_pubmed.py "Smith J[Author] AND 2024[Date - Publication]"
# Fast — title / author / journal / DOI only (1 request)
python .claude/skills/search-pubmed/scripts/search_pubmed.py --pmid 41185614
# With abstract (2 requests)
python .claude/skills/search-pubmed/scripts/search_pubmed.py --pmid 41185614 --full
# Multiple PMIDs
python .claude/skills/search-pubmed/scripts/search_pubmed.py --pmid 41185614,42332334 --full
python .claude/skills/search-pubmed/scripts/search_pubmed.py "TP53" --db nucleotide
python .claude/skills/search-pubmed/scripts/search_pubmed.py "cancer" --db pmc
| Parameter | Description | Default |
|---|---|---|
query | Search keywords (Entrez syntax supported) | Required (or use --pmid) |
--max N | Maximum results to return | 10 |
--db NAME | Target NCBI database | pubmed |
--email ADDR | NCBI contact email (optional, avoids warning) | — |
--api-key KEY | NCBI API Key (optional, raises rate limit) | — |
--pmid ID | Lookup by PMID directly, skip search | — |
--full | Include abstract text (with --pmid) | off |
Each result includes:
https://pubmed.ncbi.nlm.nih.gov/PMID)| Condition | Limit |
|---|---|
| No API key | 3 requests/sec |
With API key (--api-key) | 10 requests/sec |
A typical search uses 2 requests (search + summaries). PMID lookup uses 1 (or 2 with --full).
Staying within the rate limit is generally not a concern for interactive use.
AND to add terms, not to restrict fields."Sinorhizobium fredii" OR "Ensifer fredii".[Title/Abstract] qualifier for precision when a broad search returns
too many off-topic hits.biopython package: pip install biopythonscripts/search_pubmed.py — the search executablereferences/entrez-help.md — NCBI Entrez query syntax reference