Drug Pipeline Search Skill
name: drug-search
by bombert · published 2026-04-01
$ claw add gh:bombert/bombert-drug-pipeline---
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, ADC, route of administration."
---
# 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:
| Field | Type | Description | Example |
|-------|------|-----------------------------|-----------------------------------------------------------|
| `drug_name` | `dict` | Drug name(s) | `{"logic": "or", "data": ["pembrolizumab"]}` |
| `company` | `List[str]` | Sponsor / developer company | `["Pfizer", "Roche"]` |
| `indication` | `List[str]` | Disease / indication | `["lung cancer", "NSCLC"]` |
| `target` | `dict` | Biological target(s) | `{"logic": "or", "data": ["PD-1", "VEGF"]}` |
| `drug_modality` | `dict` | Drug modality / type | `{"logic": "or", "data": ["antibody", "small molecule"]}` |
| `drug_feature` | `dict` | Drug feature(s) | `{"logic": "or", "data": ["bispecific"]}` |
| `phase` | `List[str]` | Development phase(s) | `["Phase 3", "Approved"]` |
| `location` | `List[str]` | Geographic location(s) | `["China", "USA"]` |
| `route_of_administration` | `dict` | Route of administration | `{"logic": "or", "data": ["IV", "oral"]}` |
| `page_num` | `int` | Page index (0-based) | `0` |
| `page_size` | `int` | Results per page (1–60) | `30` |
**Dict field format:**
{"logic": "or", "data": ["value1", "value2"]}**Type rules:**
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.jsonAdd `--raw` to receive the unformatted JSON response.
Step 3: Interpret Results
The response contains:
If no results are returned, suggest relaxing one or more filters (e.g. broader indication, remove phase filter).
Conversion Examples
**User:** "Find PD-1 antibodies in Phase 3"
**Parameters:**
{
"target": {"logic": "or", "data": ["PD-1"]},
"drug_modality": {"logic": "or", "data": ["antibody"]},
"phase": ["Phase 3"],
"page_num": 0,
"page_size": 30
}---
**User:** "Roche bispecific antibodies for lung cancer"
**Parameters:**
{
"company": ["Roche"],
"drug_feature": {"logic": "or", "data": ["bispecific"]},
"indication": ["lung cancer"],
"page_num": 0,
"page_size": 30
}---
**User:** "Oral small molecule KRAS G12C inhibitors"
**Parameters:**
{
"target": {"logic": "or", "data": ["KRAS G12C"]},
"drug_modality": {"logic": "or", "data": ["small molecule"]},
"route_of_administration": {"logic": "or", "data": ["oral"]},
"page_num": 0,
"page_size": 30
}---
**User:** "Drugs targeting both PD-1 and VEGF"
**Parameters:**
{
"target": {"logic": "and", "data": ["PD-1", "VEGF"]},
"page_num": 0,
"page_size": 30
}---
**User:** "Look up pembrolizumab"
**Parameters:**
{
"drug_name": {"logic": "or", "data": ["pembrolizumab"]},
"page_num": 0,
"page_size": 30
}Dependencies
- Register for a free account at [noah.bio](https://noah.bio) to obtain your API key.
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...