Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PubMed search with keyword optimization, result parsing, and metadata extraction
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 210% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 137% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 1% | 0% |
<!-- ╔══════════════════════════════════════════════════════════════╗ ║ 本文件为开源 Skill 原始文档,收录仅供学习与研究参考 ║ ║ CoPaper.AI 收集整理 | https://copaper.ai ║ ╚══════════════════════════════════════════════════════════════╝
来源仓库: https://github.com/kthorn/research-superpower 项目名称: research-superpower 开源协议: MIT License 收录日期: 2026-04-02
声明: 本文件版权归原作者所有。此处收录旨在为社会科学实证研究者 提供 AI Agent Skills 的集中参考。如有侵权,请联系删除。 -->
Search PubMed for scientific literature using optimized queries. Extract metadata and prepare papers for relevance evaluation.
Core principle: Cast a wide enough net to find relevant papers, but use targeted keywords to keep results manageable.
Use this skill when:
Extract:
Boolean operators:
Example queries:
"BTK inhibitor"[Title/Abstract] AND selectivity[Title/Abstract]
("kinase inhibitor" OR "protein kinase") AND (selectivity OR "off-target")
"ibrutinib"[Title/Abstract] AND ("IC50" OR "inhibitory concentration")Field tags:
[Title/Abstract] - search title and abstract only[Title] - title only (more precise)[Author] - specific author[Journal] - specific journal[Date] - date rangeAPI endpoint:
bashhttps://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?\ db=pubmed&\ term=YOUR_QUERY&\ retmax=100&\ retmode=json&\ sort=relevance
Parameters:
db=pubmed - search PubMed databaseterm= - your query (URL encode spaces and special chars)retmax=100 - max results (start with 100)retmode=json - return JSONsort=relevance - most relevant first (or pub_date for newest)Example bash:
bashcurl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=BTK+inhibitor+selectivity&retmax=100&retmode=json&sort=relevance"
Response format:
json{ "esearchresult": { "count": "156", "retmax": "100", "idlist": ["12345678", "87654321", ...] } }
API endpoint:
bashhttps://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?\ db=pubmed&\ id=12345678,87654321&\ retmode=json
Extract from response:
articleids)Getting DOI from PMID:
json"articleids": [ {"idtype": "pubmed", "value": "12345678"}, {"idtype": "doi", "value": "10.1234/example.2023"} ]
If DOI missing:
Create list of paper objects:
json[ { "pmid": "12345678", "doi": "10.1234/example.2023", "title": "Selective BTK inhibitors for autoimmune diseases", "authors": ["Smith J", "Doe A", "Johnson B"], "journal": "Nature Chemical Biology", "year": "2023", "abstract": "We developed a series of...", "source": "pubmed_search" } ]
Rate limits (CRITICAL - shared across all processes/subagents):
delay_seconds = (num_parallel / rate_limit) + safety_marginEmpty results:
Too many results (>500):
After search completes:
initial-search-results.jsonevaluating-paper-relevance skillpapers-reviewed.json (use DOI as key, fallback to PMID)| Task | Command | |------|---------| | Search PubMed | curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=QUERY&retmax=100&retmode=json" | | Get metadata | curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=PMID1,PMID2&retmode=json" | | URL encode query | Replace spaces with +, special chars with %XX | | Narrow results | Use AND, add field tags, more specific terms | | Broaden results | Use OR, remove field tags, add synonyms |
Too narrow: Only 5 results → Use OR, remove constraints Too broad: 5000 results → Add AND terms, use field tags Missing abstracts: Use efetch instead of esummary for full abstract text DOI not found: Many older papers lack DOI - use PMID as fallback Rate limiting: Add 500ms delays (single agent) or longer (parallel subagents sharing rate limit)
After completing search:
skills/research/evaluating-paper-relevanceOther measured skills in the registry, with their headline benchmark lift.