Atc
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/atc
Query the WHO ATC/DDD Classification System. Use whenever the user asks about ATC codes, drug classification hierarchy, Defined Daily Doses (DDD), or wants to look up drugs by ATC class or find the ATC code for a drug name.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill atcAssembled 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
2.0 KB, 570 tokens by cl100k_base, as published. Nobody here has run it
ATC/DDD Query Skill
Look up ATC classification and DDD data for drugs. Auto-detects entity type:
| Input Pattern | Detected As | Query Path |
|---|---|---|
N02BA A10BA02 C09XX01 | ATC code | local DDD lookup + RxNav member drugs |
aspirin metformin | drug name | RxNav ATC classification + local DDD match |
ATC code regex: ^[A-Z]\d{2}([A-Z]{1,2}\d{0,2})?$
API
| Function | Input | Returns |
|---|---|---|
load_local(path) | Excel path | list[dict] — cached ATC/DDD records |
search(entity) | single string | dict with entity, entity_type, local_hits, api_hits |
search_batch(entities) | list of strings | dict[str, dict] — keyed by entity |
summarize(result) | search result dict | compact LLM-readable text |
to_json(result) | search result dict | JSON string |
All functions accept use_api=True|False to toggle RxNav queries (default: on).
Usage
See if __name__ == "__main__" block in 27_ATC_DDD.py for runnable examples:
from importlib import import_module
atc = import_module("27_ATC_DDD")
# Drug name → ATC classes
r = atc.search("aspirin")
print(atc.summarize(r))
# ATC code → member drugs + DDD
r = atc.search("N02BA")
print(atc.summarize(r))
# Batch
results = atc.search_batch(["metformin", "A10BA02", "C09XX01"])
# JSON for pipeline
print(atc.to_json(atc.search("sparsentan")))
Data
- Local file:
ATC_DDD_new and alterations 2026_final.xlsx - Columns:
atc_code,atc_level_name,new_ddd,unit,adm_route,note - Path:
DATA_DIR/XLSX_PATHin27_ATC_DDD.py - Remote API: RxNav RxClass (
rxnav.nlm.nih.gov/REST/rxclass/) - Citation: WHOCC — WHO Collaborating Centre for Drug Statistics Methodology, ATC/DDD Index 2026. https://atcddd.fhi.no/atc_ddd_index/
What ships with it: 5 files
14.1 KB alongside SKILL.md, 4 of them executable
- atc_skill.pyruns3.3 KB
- example.pyruns8.9 KB
- __init__.pyruns118 B
- README.md990 B
- retrieve.pyruns784 B