agentsclimarketplace

Drugbank

Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/drugbank

Query 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.From its SKILL.md

Install
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill drugbank

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

1.8 KB, 434 tokens by cl100k_base, as published. Nobody here has run it

DrugBank Local Query Skill

Search local DrugBank data by any entity. Auto-detects query type:

Input PatternDetected AsMatch Logic
DB00945DrugBank IDexact on drugbank_id
anything elsefree textsubstring on name, synonyms, cas_number

Data

  • Base dir: resources_metadata/drug_knowledgebase/DrugBank/
  • Files:
    • full database.xml — rich fields: description, targets, interactions, categories, synonyms, groups
    • drugbank vocabulary.csv — lightweight: DrugBank ID, name, CAS, synonyms
  • Auto-select: prefers XML if present, falls back to vocabulary CSV

API

FunctionInputReturns
load(path)file path (XML or TSV/CSV, auto-detected)list[dict]
search(data, entity)single entity stringlist[dict]
search_batch(data, entities)list or comma-separated stringdict[str, list[dict]]
summarize(hits, entity)hit list + labelcompact text
to_json(hits)hit listJSON 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.

What ships with it: 5 files

17.3 KB alongside SKILL.md, 4 of them executable

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.