Agent Skills
› openai/plugins
› ncbi-entrez-skill
ncbi-entrez-skill
GitHub用于提交NCBI Entrez E-Utilities请求,支持PubMed、Gene等数据库的搜索与获取。要求输出Markdown摘要并格式化PMID/DOI链接,仅在显式请求时返回原始数据,避免无关工作流干扰。
Trigger Scenarios
用户需要查询NCBI生物医学数据库(如PubMed、Gene)信息
用户请求获取特定基因或蛋白质的元数据
用户询问GEO相关元数据
Install
npx skills add openai/plugins --skill ncbi-entrez-skill -g -y
SKILL.md
Frontmatter
{
"name": "ncbi-entrez-skill",
"description": "Submit compact NCBI Entrez E-Utilities requests for PubMed, Gene, Protein, Nucleotide, PMC metadata, and GEO metadata workflows. Use when a user wants concise Entrez search, fetch, summary, or link results; save raw JSON or XML only on request."
}
Operating rules
- Use
scripts/ncbi_entrez.pyfor all Entrez calls in this package. - Use explicit
endpointvalues such asesearch,esummary,efetch,elink, oreinfo. - Search-style Entrez calls are better with
retmax=10andmax_items=10. - GEO is nested under this skill. Use
db=gdsordb=geoprofilesfor GEO metadata and loadreferences/geo.mdonly when the user is specifically asking about GEO. - BLAST workflows belong in
ncbi-blast-skill. PMC Open Access workflows belong inncbi-pmc-skill. Datasets v2 workflows belong inncbi-datasets-skill. - Re-run requests in long conversations instead of relying on older tool output.
- Treat displayed
...in tool previews as UI truncation, not literal request content.
Execution behavior
- Return concise markdown summaries from the script output by default.
- In final user-facing summaries, never display a bare PMID or DOI. Render every PMID as a Markdown link in the form
[PMID <PMID>](https://pubmed.ncbi.nlm.nih.gov/<PMID>/)and every DOI as[<DOI>](https://doi.org/<DOI>), including in tables, bullets, parentheticals, and source lists. - Return raw JSON or XML only if the user explicitly asks for machine-readable output.
- Prefer targeted endpoint calls instead of broad unfiltered dumps.
- If the user needs the full raw response, set
save_raw=trueand report the saved file path.
Input
- Read one JSON object from stdin.
- Required field:
endpoint - Optional fields:
params,record_path,response_format,max_items,max_depth,timeout_sec,save_raw,raw_output_path - Common Entrez patterns:
{"endpoint":"esearch","params":{"db":"pubmed","term":"KRAS AND colorectal cancer","retmode":"json","retmax":10},"max_items":10}{"endpoint":"esummary","params":{"db":"gene","id":"7157","retmode":"json"},"max_items":10}{"endpoint":"efetch","params":{"db":"protein","id":"NP_000537.3","retmode":"xml"},"response_format":"xml","max_items":10}{"endpoint":"elink","params":{"dbfrom":"gds","db":"pubmed","id":"200000001","retmode":"json"},"max_items":10}
Output
- Success returns
ok,source, endpoint metadata, and either compactrecords, a compactsummary, ortext_head. - Use
raw_output_pathwhensave_raw=true. - Failure returns
ok=falsewitherror.codeanderror.message.
Execution
echo '{"endpoint":"esearch","params":{"db":"gene","term":"TP53[gene] AND human[orgn]","retmode":"json","retmax":10},"max_items":10}' | python scripts/ncbi_entrez.py
References
- Load
references/geo.mdonly when the user specifically needs GEO query patterns. - Keep the import package limited to this file,
references/geo.md, andscripts/ncbi_entrez.py.
Version History
- 11c74d6 Current 2026-07-19 09:39


