openFDA Human Drug Skill
SkillSearchQuery FDA drug labeling data via openFDA. Use whenever the user asks about drug prescribing information, indications, warnings, dosage, adverse reactions, contraindications, or administration routes. Supports single or batch lookup by brand/generic name or by indication/condition.
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 openFDA Human Drug Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/drug_labeling/openfda/SKILL.md and read by ahel’s review.
Query structured SPL (Structured Product Labeling) data from the FDA. No API key needed (≤1 000 req/day).
Input → Detection
| Input Example | Routed To |
|---|---|
"ASPIRIN" or ["METFORMIN","LISINOPRIL"] | search_drug — brand/generic name lookup |
"hypertension" or ["diabetes","migraine"] | search_by_indication — indication text search |
| (no input) | count_by_route — top administration routes |
All search functions accept a single string or a list of strings.
API
| Function | Input | Returns |
|---|---|---|
search_drug(query, limit) | str | list[str], int | {term: [label_dicts]} |
search_by_indication(query, limit) | str | list[str], int | {condition: [label_dicts]} |
count_by_route(top_n) | int | [{term, count}] |
summarize(results) | dict from above | compact multi-line text |
Each label_dict contains: brand_name, generic_name, manufacturer, route, substance_name, product_type, indications, contraindications, warnings, dosage, adverse_reactions.
Usage
See if __name__ == "__main__" block in 05_openFDA_Human_Drug.py for runnable examples covering: single drug, batch drugs, single indication, batch indications, route counts, and raw JSON output.
Notes
- Long text fields (
indications,warnings, etc.) are truncated to keep payloads concise. - On HTTP/query errors the result dict contains an
errorkey for that term. - Endpoint:
https://api.fda.gov/drug/label.json
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
openfda-human-drug- Source
- github.com/qsong-github/drugclaw
github.com/qsong-github/drugclaw