68 · KEGG Drug

SkillProductivity

🦀 Agentic RAG for drug intelligence · 57 skills · 15 task categories · DTI · ADR · DDI · PGx · Repurposing · Powered by LangGraph

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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 68 · KEGG Drug skill

What this skill tells your AI

The instructions your AI receives, as published by qsong-github/drugclaw in skills/ddi/kegg_drug/SKILL.md and read by ahel’s review.

Approved drugs — structures, targets, pathways & drug-drug interactions Category: Drug-centric | Type: DB | Subcategory: DDI API: https://rest.kegg.jp (free, no key required for academic use)

ResourceURL
Homepagehttps://www.genome.jp/kegg/
API docshttps://www.kegg.jp/kegg/docs/keggapi.html
Paperhttps://academic.oup.com/nar/article/38/suppl_1/D355/3112250

What it provides

  • Drug metadata: name, formula, molecular weight, efficacy, class
  • Targets: gene/protein targets for each approved drug
  • Interactions (DDI): drug-drug interaction annotations
  • Pathways: linked KEGG pathway IDs

Quick start

from 68_KEGG_Drug import query

# Single entity
results = query("aspirin")

# Multiple entities
results = query(["aspirin", "metformin", "imatinib"])

# By KEGG Drug ID
results = query("D00109")

# Specific fields only
results = query("warfarin", fields="targets")
results = query("warfarin", fields="interactions")

query() interface

query(entities, fields="all") -> list[dict]
ParameterTypeDescription
entitiesstr | list[str]Drug name(s) or KEGG Drug ID(s) (e.g. "D00109")
fieldsstr"all" — full entry; "targets" — targets only; "interactions" — DDI only

Return structure (fields="all")

[
  {
    "drug_id": "dr:D00109",
    "query": "aspirin",
    "name": "Aspirin (JP18/USP/INN); ...",
    "formula": "C9H8O4",
    "mol_weight": "180.0423",
    "targets": ["PTGS1 ...", "PTGS2 ..."],
    "interactions": ["Warfarin [precaution] ...", ...],
    "pathways": ["map07112 ...", ...],
    "classes": ["Analgesic ...", ...]
  }
]

If a name cannot be resolved, the entry contains {"query": "xxx", "error": "No match found"}.


Lower-level functions

FunctionInputOutputDescription
search(query, limit=10)drug name/keywordlist[{id, name}]Keyword search
get_entry(drug_id)KEGG Drug IDdictFull parsed entry
get_targets(drug_id)KEGG Drug IDlist[str]Target lines
get_interactions(drug_id)KEGG Drug IDlist[str]DDI lines

Notes

  • KEGG REST API is free for academic use; commercial use requires a license.
  • Rate limit: no official cap, but keep requests reasonable (~1 req/sec).
  • Drug IDs look like D00109 or dr:D00109; both formats accepted.
  • Not all drugs have interaction or target annotations — empty list means no data.

Signals

GitHub stars
116
Forks
3
Last commit
Aug 2026

ahel review

  • K1binfo
    installs-packages (in kegg_drug_skill.py)
  • K1binfo
    installs-packages (in README.md)

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
kegg-drug
Source
github.com/qsong-github/drugclaw