Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

drug-pipeline药品管道

Agent Skill

drug-pipeline 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,273

周安装

264

GitHub Stars

1

下载量

2,196
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:drug-pipeline(药品管道)
来源仓库:https://github.com/bombert/drug-pipeline
安装命令:
openclaw skills install drug-pipeline
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install drug-pipeline

简介

drug-pipeline 搜索药品开发管线信息,支持按名称、靶点或适应症查询。

  • 适用于药物研发跟踪、竞品分析或临床阶段调研等研究任务。
  • 从公开数据库提取最新进展,并以结构化形式返回关键节点数据。
  • 安装命令为 openclaw skills install drug-pipeline,宿主为 OpenClaw。
  • 结果仅供参考,不保证覆盖全部在研项目或内部试验数据。

SKILL.md

name
drug-search
description
Search a pharmaceutical drug database for pipeline and development information. Use this skill whenever the user asks about drugs by name, target, indication, company, modality, phase, or development progress. Automatically parses natural language questions into structured query parameters and calls the backend API to return matching drug records. Trigger words include: drug, compound, molecule, pipeline, drug target, indication, modality, antibody, small molecule, phase, approved, development stage, sponsor, drug company, bispecific, route of administration.
metadata
{ "openclaw": { "emoji": "🔍︎", "requires": { "bins": ["python3"], "env":["NOAH_API_TOKEN"]},"primaryEnv":"NOAH_API_TOKEN" } }

Drug Pipeline Search Skill

This skill converts natural language questions into structured API queries against a pharmaceutical drug database, then presents the results in a readable format.

Workflow

  1. Parse user intent — Extract key entities from the user's question
  2. Build query parameters — Map entities to the query schema below
  3. Execute the query — Run scripts/search.py
  4. Present results — Format and display drug records to the user

Step 1: Extract Keywords

Identify the following entity types from the user's question:

FieldTypeDescriptionExample
drug_namedictDrug name(s){"logic": "or", "data": ["pembrolizumab"]}
companyList[str]Sponsor / developer company["Pfizer", "Roche"]
indicationList[str]Disease / indication["lung cancer", "NSCLC"]
targetdictBiological target(s){"logic": "or", "data": ["PD-1", "VEGF"]}
drug_modalitydictDrug modality{"logic": "or", "data": ["Vaccine", "mRNA"]}
drug_featuredictDrug feature(s){"logic": "or", "data": ["Biologic", "Non-NME"]}
phaseList[str]Development phase(s)["Preclinical", "I", "II", "III", "IV", "Others", "IND", "Suspended", "Approved", "Unknow", "Withdraw from Market", "BLA/NDA"]
route_of_administrationdictRoute of administration (requires exact formatted values){"logic": "or", "data": ["Intravenous (IV)", "Oral (PO)"]}
page_numintPage index (0-based)0
page_sizeintResults per page (1–2000)200

Dict field format:

{"logic": "or", "data": ["value1", "value2"]}
  • logic controls how multiple values are combined: "or" (any match) or "and" (all must match). Default to "or" unless the user explicitly wants all terms to apply simultaneously.
  • data is the list of keyword strings to match.

Type rules:

  • company, indication, phase, location → plain List[str]
  • drug_name, target, drug_modality, drug_feature, route_of_administrationdict with logic and data
  • Default to page_num: 0, page_size: 10 unless the user specifies otherwise
  • Prefer English keywords (the database is indexed in English); translate non-English terms
  • drug_modality must use exact strings from this set:
  [
    "Steroids", "Vaccine", "Antisense RNA", "Antibody-Drug Conjugates, ADCs", "Unknown", "Protein Degrader",
    "Monoclonal Antibodies", "mRNA", "Others", "Cell-based Therapies", "Imaging Agents", "Gene Therapy",
    "miRNA", "Polypeptide", "Recombinant Proteins", "Small Molecule", "siRNA/RNAi", "Trispecific Antibodies",
    "Polyclonal Antibodies", "Bi-specific Antibodies", "Glycoconjugates", "Radiopharmaceutical",
    "Nucleic Acid-based", "Carbohydrates"
  ]
  • drug_feature must use exact strings from this set:
  [
    "505b2", "Bacterial Product", "Biologic", "Biosimilar", "Device", "Fixed-Dose Combination", "Immuno-Oncology",
    "New Molecular Entity (NME)", "Non-NME", "Precision Medicine", "Reformulation", "Specialty Drug", "Viral"
  ]
  • route_of_administration must use exact strings from this set:
  [
    "Intraarterial", "Intraurethral", "Inhaled", "Intranasal", "Subcutaneous (SQ) - Unspecified", "Transdermal",
    "Intraocular/Subretinal/Subconjunctival", "Subcutaneous (SQ) Injection", "Intrauterine", "Intralymphatic",
    "Intradiscal", "Intra-amniotic", "Intrathecal", "Intracerebral/cerebroventricular", "Intramuscular (IM)",
    "Intraarticular", "Intracochlear", "Surgical Implantation", "Hemoperfusion", "Subcutaneous (SQ) Infusion",
    "Intravitreal", "Intravenous (IV)", "Oral (PO)", "Intradermal", "Percutaneous Catheter/Injection",
    "Intranodal", "Intravesical", "Intracameral", "Intratympanic", "Intratumoral",
    "Sublingual (SL)/Oral Transmucosal", "Intravaginal", "N/A", "Rectal", "Intracavitary",
    "Intra-Cisterna Magna (ICM) Injection", "Injectable - Unspecified", "Intratracheal", "Topical",
    "Instillation", "Intraintestinal", "Submucosal"
  ]

Step 2: Execute the Query

python scripts/search.py --params '<JSON string>'

Or using a parameter file:

python scripts/search.py --params-file /tmp/query.json

Add --raw to receive the unformatted JSON response.

Step 3: Interpret Results

The response contains:

  • total_count — total number of matching drugs
  • results — current page of drug records, each with name, phase, modality, targets, companies, indication, development progress, etc.

Step 4: Review and Fallback Search Strategies

If no results are returned, apply the fallback strategies below before giving up. When an initial query returns zero or poor results, try these strategies in order:

Strategy 1 — Drug Name Variant Expansion

Drug names in the database may use different formats (with/without hyphens, partial codes, aliases). Expand the drug_name field to include common variants and merge deduplicated results.

{
  "drug_name": {"logic": "or", "data": ["SHR-A1904", "SHR A1904", "A1904", "SHR1904"]},
  "page_num": 0,
  "page_size": 50
}

Common variant patterns to try:

  • Remove or replace hyphens: SHR-A1904SHR A1904, SHRA1904
  • Strip prefix/suffix: 9MW-2821MW-2821, 9MW2821
  • Known alias: include trade names or INN alongside internal codes

Strategy 2 — Company-First with Application-Layer Filtering

When drug name matching is unreliable, use the company as the anchor. Fetch a broad set of the company's drugs, then filter by modality/indication/target in post-processing.

{
  "company": ["Roche", "Roche Inc"],
  "page_num": 0,
  "page_size": 500
}

After retrieving results, apply local filters:

  • modality == "Monoclonal Antibodies"
  • indication contains "breast cancer"
  • drug_name matches known code pattern

Use this strategy when the drug code is ambiguous or the API match rate is low.


Strategy 3 — Broad Target/Modality Search with Post-Filtering

When neither name nor company is reliable, search by biological target and modality, then narrow results client-side.

{
  "target": {"logic": "or", "data": ["CLDN18.2", "Nectin-4", "HER2"]},
  "drug_modality": {"logic": "or", "data": ["Monoclonal Antibodies"]},
  "page_num": 0,
  "page_size": 200
}

After retrieval, filter by company name or drug code pattern using substring matching (e.g. code starts with SHR, 9MW, A166).

Note: If the API supports regex, patterns like (SHR|9MW|A166) can be passed directly in drug_name.data to broaden matching in a single call.

Decision Tree

Initial query returns results?
├── Yes → present results
└── No  → Strategy 1: expand drug_name variants
          └── Still no results → Strategy 2: company anchor + local filter
                                 └── Still no results → Strategy 3: target/modality broad search
Any step hits HTTP 429?
└── Pause entire chain 30s → resume from current strategy
    (sleep ≥5s between every request to avoid triggering 429)

Conversion Examples

User: "Find PD-1 antibodies in Phase 3"

{
  "target": {"logic": "or", "data": ["PD-1"]},
  "drug_modality": {"logic": "or", "data": ["Monoclonal Antibodies"]},
  "phase": ["III"],
  "page_num": 0,
  "page_size": 30
}

User: "Roche bispecific antibodies for lung cancer"

{
  "company": ["Roche"],
  "drug_modality": {"logic": "or", "data": ["Bi-specific Antibodies"]},
  "indication": ["lung cancer"],
  "page_num": 0,
  "page_size": 30
}

User: "Oral small molecule KRAS G12C inhibitors"

{
  "target": {"logic": "or", "data": ["KRAS"]},
  "drug_modality": {"logic": "or", "data": ["Small Molecule"]},
  "route_of_administration": {"logic": "or", "data": ["Oral (PO)"]},
  "page_num": 0,
  "page_size": 30
}

User: "Drugs targeting both PD-1 and VEGF"

{
  "target": {"logic": "and", "data": ["PD-1", "VEGF"]},
  "page_num": 0,
  "page_size": 30
}

User: "Look up pembrolizumab"

{
  "drug_name": {"logic": "or", "data": ["pembrolizumab"]},
  "page_num": 0,
  "page_size": 30
}

Dependencies

  • Python 3.8+
  • requests library (pip install requests)
  • Environment variable NOAH_API_TOKEN — API authentication token (required)

- Register for a free account at noah.bio to obtain your API key.


Security & Packaging Notes

  • This skill only calls NoahAI official HTTPS endpoints under https://www.noah.bio/api/ and does not contact third-party services.
  • It requires exactly one environment variable: NOAH_API_TOKEN. Store it in the environment or a local .env file, and never place it inline in commands, chats, or packaged files.
  • The token is scoped to read medical public details only and cannot access private user records.
  • The skill does not intentionally persist request parameters locally. Any server-side retention is determined by the NoahAI API service and its operational logging policies.
  • It does not request persistent or system-level privileges and does not modify system configuration.
  • The skill is source-file based (Python scripts only) and does not require runtime installs, package downloads, or external bootstrap steps.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.15%
按下载量换算1,540

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills