用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aaione/everything-claude-code-zh --skill pubmed-database命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Kubernetes 工作负载模式、资源管理、RBAC、probes、autoscaling、ConfigMap/Secret 处理,以及面向生产级部署的 kubectl 调试。
完成任何非平凡任务后使用。智能体按 5 个维度自评输出——准确性、完整性、清晰度、可执行性、简洁性——每项都给出具体证据。生成结构化 1-5 评分卡和具体改进建议。
在 competitive-platform-analysis 产出分层竞品集合后使用。按九个加权维度(定位、声音、视觉工艺、offer packaging、证据、enterprise-readiness、thought leadership、定价、客户 strategic tension)为每个竞品评分,使用明确 1–5 rubrics 和 tension-plot。位于 competitive-report-structure 之前。
基于 SOC 职业分类
正在显示 SKILL.md
| name | pubmed-database |
| description | 直接使用 PubMed 和 NCBI E-utilities 搜索生物医学文献的工作流,包括 MeSH 查询、PMID 查找、引文检索和 API 支持的文献监控。 |
| origin | community |
当任务需要从 PubMed 获取生物医学文献而非一般网络搜索时,使用此技能。
从研究问题开始,将其拆分为概念,然后用布尔运算符组合概念。
concept_1 AND concept_2 AND filter
synonym_a OR synonym_b
NOT exclusion_term
常用的 PubMed 字段标签:
[ti]:标题[ab]:摘要[tiab]:标题或摘要[au]:作者[ta]:期刊标题缩写[mh]:MeSH 术语[majr]:主要 MeSH 主题[pt]:出版物类型[dp]:出版日期[la]:语言示例:
diabetes mellitus[mh] AND treatment[tiab] AND systematic review[pt] AND 2023:2026[dp]
(metformin[nm] OR insulin[nm]) AND diabetes mellitus, type 2[mh] AND randomized controlled trial[pt]
smith ja[au] AND cancer[tiab] AND 2026[dp] AND english[la]
当概念有稳定的受控词汇术语时优先使用 MeSH。当主题较新或术语变化较大时,将 MeSH 与标题/摘要术语组合使用。
正确的副标题语法将副标题放在字段标签之前:
diabetes mellitus, type 2/drug therapy[mh]
cardiovascular diseases/prevention & control[mh]
仅在主题必须是论文核心时使用 [majr]。它可以提高精确度,但可能会遗漏相关作品。
出版物类型:
clinical trial[pt]meta-analysis[pt]randomized controlled trial[pt]review[pt]systematic review[pt]guideline[pt]日期过滤器:
2026[dp]
2020:2026[dp]
2026/03/15[dp]
可用性过滤器:
free full text[sb]
hasabstract[text]
NCBI E-utilities 支持可重复的 API 工作流:
esearch.fcgi:搜索并返回 PMID。esummary.fcgi:返回轻量级文章元数据。efetch.fcgi:以 XML、MEDLINE 或文本格式获取摘要或完整记录。elink.fcgi:查找相关文章和链接资源。在生产脚本中使用电子邮件和 API 密钥。将 API 密钥存储在环境变量中,绝不要放在已提交的文件或命令历史记录中。
import os
import time
import requests
BASE = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils"
def esearch(query: str, retmax: int = 20) -> list[str]:
params = {
"db": "pubmed",
"term": query,
"retmode": "json",
"retmax": retmax,
"tool": "ecc-pubmed-search",
"email": os.environ.get("NCBI_EMAIL", ""),
}
api_key = os.environ.get("NCBI_API_KEY")
if api_key:
params["api_key"] = api_key
response = requests.get(f"{BASE}/esearch.fcgi", params=params, timeout=30)
response.raise_for_status()
time.sleep(0.35)
return response.json()["esearchresult"]["idlist"]
pmids = esearch("hypertension[mh] AND randomized controlled trial[pt] AND 2024:2026[dp]")
print(pmids)
对于批量操作,优先使用 NCBI 历史服务器参数(usehistory=y、WebEnv、query_key),而不是通过 URL 传递很长的 PMID 列表。
对于每次搜索,记录:
示例:
| 数据库 | 搜索日期 | 查询 | 过滤器 | 结果数 |
| --- | --- | --- | --- | ---: |
| PubMed | 2026-05-11 | `sickle cell disease[mh] AND CRISPR[tiab]` | 2020:2026[dp], English | 42 |
raise_for_status() 或以其他方式处理非 200 响应后再解析?