Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add EthanYoQ/Skill-hub --skill pubtator-entity-searchgit clone --depth 1 https://github.com/EthanYoQ/Skill-hubWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ethanyoq/skill-hub/pubtator-entity-search)<a href="https://agentmods.dev/skills/ethanyoq/skill-hub/pubtator-entity-search"><img src="https://agentmods.dev/badge/skills/ethanyoq/skill-hub/pubtator-entity-search/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ethanyoq/skill-hub/pubtator-entity-search"><img src="https://agentmods.dev/badge/skills/ethanyoq/skill-hub/pubtator-entity-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00289 | $0.03638 |
| Opus 5.5 | $0.00116 | $0.01455 |
| Sonnet 5.5 | $0.00058 | $0.00728 |
| Haiku 4.5 | $0.00029 | $0.00364 |
Grade A, and why
pubtator-entity-search scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PubTator3 Entity & Relation Search
封装 NLM PubTator3 RESTful API,做实体级标注 + 关系挖掘。聚焦"疾病 — 药物 — 基因 — 化学品 — 突变 — 物种 — 细胞系"的联动检索。
1. 何时使用本技能
适合 (✅ 自动触发):
| 用户问题 | 路由 |
|---|---|
| "找 BTK 与肺曲霉病的关联文献" | ✅ 本技能 (find_co_mentions) |
| "BTK 抑制剂 (MeSH D000077180) 在哪些研究被讨论" | ✅ 本技能 (search_by_entity) |
| "标注这些 PMID 中提到的所有疾病/药物/基因实体" | ✅ 本技能 (annotate_pmid) |
| "ibrutinib 在文献中映射到哪个 MeSH/DrugBank" | ✅ 本技能 (entity_normalize) |
| "voriconazole 与 CYP2C19 相互作用" | ✅ 本技能 (search_by_relation) |
| "BRAF V600E / rs113488022 突变文献" | ✅ 本技能 (search_by_entity concept=variant) |
不适合 (❌ 路由到其他 skill):
| 用户问题 | 路由 |
|---|---|
| "查 PubMed 上近 5 年所有 X 的 RCT" | ❌ → pubmed-eutils + Clinical Queries |
| "MeSH 树 / 出版类型 / PubDate 综合检索" | ❌ → pubmed-eutils |
| "Europe PMC 综合检索 + 引文" | ❌ → europepmc-search |
| "全文段落抽取 / BioC 全文" | ❌ → bioc-fulltext-fetch |
| "证据等级 / GRADE / 推荐级别" | ❌ → medical-evidence-grading |
| "正在招募的 X 临床试验" | ❌ → clinical-trials-v2 |
2. API 概览 (无需 Key)
Base URL: https://www.ncbi.nlm.nih.gov/research/pubtator3-api/
PubTator3 是 NLM 开放服务,无需 API key,但请遵守速率限制 (≤ 5 req/s,失败时指数退避)。
| 端点 | 用途 |
|---|---|
GET /search/?text=<query> |
自由文本 / 实体检索文献 |
GET /publications/export/biocjson?pmids=<csv> |
拉取 PMID 的实体标注 BioC-JSON |
GET /entity/autocomplete/?query=<text>&concept=<type> |
实体规范化 (text → ID) |
GET /relations?e1=<id>&e2=<id> |
关系/共现挖掘 |
文档: https://www.ncbi.nlm.nih.gov/research/pubtator3-api/
3. 5 个原子函数 (跨平台签名)
每个签名命名稳定,可在 Python / TS / Go / Rust 任意语言实现。
3.1 search_by_entity(entity_text, entity_type=None, max_results=50) -> list[PMID]
GET /search/?text=@<TYPE>_<ID> 或 ?text=<free text>
示例: text=@DISEASE_MESH:D055744 → 返回 {pmids:[...], score:[...]}。
3.2 search_by_relation(entity1_id, relation_type, entity2_id) -> list[Relation]
GET /relations?e1=<id1>&e2=<id2>&type=<relation>
关系类型见 references/relation-types.md。返回涉及关系的 PMID + score + 句级证据。
3.3 annotate_pmid(pmid_list) -> list[Annotation]
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 264 lines · 289 tokens per session scan A 3b30ff7d363a
pubtator-entity-search is a skill published in the GitHub repository EthanYoQ/Skill-hub (11 stars, last pushed yesterday), licensed MIT. It adds 289 tokens to every session and 3,638 once invoked, about $0.0012 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-13.
pubtator-entity-search compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| pubtator-entity-searchEthanYoQ/Skill-hub | Skill | 11 | yesterday | MIT | A | 289 | Claude Code, Codex |
| nlpericrisco/rsc-harness | Skill | 529 | 4d ago | MIT | A | 142 | Claude Code, Codex |
| Single-Cell Analysis Skills Indexaristoteleo/PantheonOS | Skill | 493 | today | BSD-2-Clause | A | 48 | Claude Code, Codex |
| tao-generate-video-reasoning-annotationsNVIDIA-TAO/tao-skill-bank | Skill | 99 | yesterday | Apache-2.0 | A | 134 | Claude Code |
| earthquakezhinjs/zhin | Skill | 137 | yesterday | MIT | A | 58 | Claude Code, Codex |
| sc-markersTianGzlab/OmicsClaw | Skill | 161 | 1mo ago | Apache-2.0 | A | 61 | Claude Code, Codex |
| bulkrna-geneid-mappingTianGzlab/OmicsClaw | Skill | 161 | 1mo ago | Apache-2.0 | A | 54 | Claude Code, Codex |