DrugBank Local Query Skill
SkillDatabases & dataQuery a locally downloaded DrugBank database. Use whenever the user asks about drug information, drug targets, drug-drug interactions, drug categories, or wants to look up any entity (DrugBank ID, drug name, CAS number, synonym) in DrugBank.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the DrugBank Local Query Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/drug_knowledgebase/drugbank/SKILL.md and read by ahel’s review.
Search local DrugBank data by any entity. Auto-detects query type:
| Input Pattern | Detected As | Match Logic |
|---|---|---|
DB00945 | DrugBank ID | exact on drugbank_id |
| anything else | free text | substring on name, synonyms, cas_number |
Data
- Base dir:
resources_metadata/drug_knowledgebase/DrugBank/ - Files:
full database.xml— rich fields: description, targets, interactions, categories, synonyms, groupsdrugbank vocabulary.csv— lightweight: DrugBank ID, name, CAS, synonyms
- Auto-select: prefers XML if present, falls back to vocabulary CSV
API
| Function | Input | Returns |
|---|---|---|
load(path) | file path (XML or TSV/CSV, auto-detected) | list[dict] |
search(data, entity) | single entity string | list[dict] |
search_batch(data, entities) | list or comma-separated string | dict[str, list[dict]] |
summarize(hits, entity) | hit list + label | compact text |
to_json(hits) | hit list | JSON string |
Usage
from 07_DrugBank import load, search, search_batch, summarize, to_json
data = load() # auto-selects XML or CSV
# single query
hits = search(data, "aspirin")
print(summarize(hits, "aspirin"))
# batch query
results = search_batch(data, ["metformin", "DB00316", "ibuprofen"])
for entity, hits in results.items():
print(summarize(hits, entity))
# JSON output
print(to_json(hits[:1]))
See if __name__ == "__main__" block in 07_DrugBank.py for runnable examples.
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
drugbank-query- Source
- github.com/qsong-github/drugclaw
github.com/qsong-github/drugclaw
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonconnect
Skill · composiohq
More in Databases & dataanalytics
Skill · coreyhaines31
More in Databases & dataazure-kusto
Skill · microsoft
More in Databases & dataagentic-os
Skill · affaan-m
More in Databases & data