plugin/skills/tooluniverse-drug-drug-interaction/SKILL.md
Assess drug-drug interactions — CYP metabolic interactions (substrate/inhibitor/inducer), transporter (P-gp, BCRP, OATP) effects, pharmacodynamic synergy/antagonism, clinical significance scoring, and management recommendations. Use for polypharmacy review, prescribing decision support, and safety analysis when adding or switching drugs.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-drug-drug-interactionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematic analysis of drug-drug interactions with evidence-based risk scoring, mechanism identification, and clinical management recommendations.
KEY PRINCIPLES:
Before querying any external database, consult the local reference script for instant answers on CYP/UGT roles and known critical interactions:
scripts/pharmacology_ref.py (no external dependencies, runs offline)
# Q927 pattern — valproate + lamotrigine:
python scripts/pharmacology_ref.py --type interaction --drug1 "valproate" --drug2 "lamotrigine"
# What does a drug do to UGT enzymes?
python scripts/pharmacology_ref.py --type ugt_inhibitor --drug "valproate"
# What enzymes metabolise a drug?
python scripts/pharmacology_ref.py --type ugt_substrate --drug "lamotrigine"
python scripts/pharmacology_ref.py --type cyp_substrate --drug "warfarin"
# Which drugs inhibit / induce a specific CYP?
python scripts/pharmacology_ref.py --type cyp_inhibitor --enzyme "CYP3A4"
python scripts/pharmacology_ref.py --type cyp_inducer --enzyme "CYP2C9"
# Narrow therapeutic index checklist:
python scripts/pharmacology_ref.py --type narrow_ti
# All known interactions for one drug:
python scripts/pharmacology_ref.py --type all_interactions --drug "lamotrigine"
Covered interactions include (severity / mechanism): | Pair | Severity | Key mechanism | |------|----------|---------------| | valproate + lamotrigine | Major | UGT1A4 inhibition → 2× lamotrigine levels + SJS risk | | carbamazepine + lamotrigine | Major | UGT1A4 induction → 50% ↓ lamotrigine | | oral contraceptives + lamotrigine | Major | UGT1A4 induction → 50% ↓ lamotrigine | | valproate + phenytoin | Major | CYP2C9 inhibition + protein displacement | | carbamazepine + valproate | Moderate | Epoxide hydrolase inhibition → toxic metabolite ↑ | | simvastatin + ketoconazole | Contraindicated | CYP3A4 inhibition → rhabdomyolysis | | simvastatin + clarithromycin | Contraindicated | CYP3A4 inhibition → rhabdomyolysis | | rifampin + warfarin | Major | CYP2C9 induction → INR collapse | | amiodarone + warfarin | Major | CYP2C9 inhibition → INR rise | | clopidogrel + omeprazole | Moderate | CYP2C19 inhibition → reduced antiplatelet activation | | quinidine + digoxin | Major | P-gp inhibition → 2× digoxin levels | | lithium + NSAIDs | Major | Reduced renal clearance → lithium toxicity | | fluoxetine + MAOIs | Contraindicated | Serotonin syndrome |
The script also covers UGT2B7 substrates (morphine, zidovudine) inhibited by valproate, UGT1A1 induction by rifampin, and the complete narrow therapeutic index list with monitoring parameters.
When uncertain about any scientific fact, SEARCH databases first (PubMed, UniProt, ChEMBL, ClinVar, etc.) rather than reasoning from memory. A database-verified answer is always more reliable than a guess.
When a patient develops NEW symptoms after starting a new medication, the FIRST question is: could the new drug be interacting with an existing medication? Specifically check: (1) Does the new drug inhibit metabolism of an existing drug? (2) Does the new drug have additive pharmacodynamic effects?
Apply when users:
Before querying any database, apply this reasoning framework to predict interactions mechanistically.
In every drug interaction, identify two roles:
For each drug pair, ask these questions in order:
Special case -- Prodrugs: If the victim is a prodrug that requires metabolic activation, inhibiting its activating enzyme reduces efficacy (not toxicity). Inducing its activating enzyme may increase efficacy or toxicity of the active metabolite.
Most DDI reasoning focuses on CYP450 (Phase I metabolism), but Phase II conjugation reactions — especially glucuronidation via UGT enzymes — cause some of the most dangerous drug interactions. These are frequently missed because agents default to CYP-centric reasoning.
Core principle: UGT enzymes (UGT1A4, UGT2B7, UGT1A1, etc.) conjugate drugs with glucuronic acid for renal elimination. When a UGT inhibitor is co-administered with a UGT substrate, the substrate accumulates because its primary elimination pathway is blocked.
The valproate + lamotrigine paradigm (IDX 927 pattern):
Other critical UGT interactions:
Reasoning algorithm for UGT interactions:
Use scripts/pharmacology_ref.py --type ugt_inhibitor --drug "[drug]" and --type ugt_substrate --drug "[drug]" for rapid UGT lookup.
When a patient is on 3+ drugs, interactions can cascade. A common pattern:
Scenario: Patient on Drug A (CYP3A4 substrate) + Drug B (CYP3A4 inducer) at steady state. Drug C (CYP3A4 inhibitor) is added.
Key reasoning principles for cascading effects:
When a patient on multiple medications develops an adverse drug reaction:
Example (IDX 927): Elderly patient on lamotrigine develops seizures and rash after adding valproate.
Use the temporal pattern of symptoms to narrow the mechanism:
For any suspected drug interaction, classify it by asking:
1. Is this pharmacokinetic? (One drug changes the LEVEL of another)
2. Is this pharmacodynamic? (Both drugs act on the SAME SYSTEM)
3. Is this pharmaceutical? (Drugs interact BEFORE reaching the body)
Most clinically significant interactions are pharmacokinetic, pharmacodynamic, or both simultaneously. Always consider mixed PK+PD interactions, which tend to be the most dangerous.
Assess severity by reasoning about the victim drug's properties, not by memorizing lists:
Therapeutic index determines risk tolerance:
Prodrug logic inverts the prediction:
Severity classification process:
Management follows directly from the mechanism:
DO NOT show intermediate tool outputs or search processes. Instead:
Create report file FIRST - Before any data collection:
DDI_risk_report_[DRUG1]_[DRUG2].md (or _polypharmacy.md for 3+)[Analyzing...] in each sectionApply clinical reasoning FIRST - Before running tools, reason through:
Progressively update - As database data is gathered:
[Analyzing...] with findingsFinal deliverable - Complete markdown report with recommendations
Query tools in this order:
ChEMBL_get_drug_mechanisms or KEGG_get_drug for CYP substrate/inhibitor/inducer datadrugbank_get_drug_interactions_by_drug_name_or_id for known transporter interactions (P-gp, OATP, OAT, OCT)Transporter interactions (check when CYP analysis incomplete):
DailyMed_get_spl_by_setid - highest evidence tierPubMed_search_articles - second tierRisk Score (0-100):
For each Major/Contraindicated interaction:
Before finalizing DDI report:
tools
Post-market safety surveillance and recall/adverse-event RETRIEVAL across the full spectrum of FDA-regulated products that are NOT covered by the drug-AE signal skills: medical devices, food / dietary supplements / cosmetics, veterinary drugs, and drug supply (shortages). Orchestrates openFDA endpoints (MAUDE device adverse events + device recalls + 510(k), CAERS food/supplement/ cosmetic adverse events, veterinary adverse events, drug shortages, and cross-product enforcement/recall reports). USE WHEN the user asks: "are there adverse events for [device / pacemaker / infusion pump / insulin pump]", "device recalls for [firm/product]", "supplement / vitamin / cosmetic adverse reactions", "is [drug] in shortage", "what injectables are on shortage", "veterinary / animal adverse events for [drug] in [dog/cat/horse]", "food recall for listeria", "MAUDE report for [device]", "CAERS reactions for [brand]". DO NOT USE for drug adverse-event SIGNAL detection or disproportionality (PRR / ROR / IC) or drug-AE association scoring — that is `tooluniverse-pharmacovigilance` / `tooluniverse-adverse-event-detection`. This skill is multi-product surveillance and retrieval, not drug-AE statistical signal mining.
tools
--- name: tooluniverse-phewas description: Cross-ancestry / cross-biobank phenome-wide association (PheWAS) and replication. Given ONE variant (rsID) or ONE gene, look up every phenotype it associates with across European/UK (UKB-TOPMed), Finnish (FinnGen), Japanese (BioBank Japan), and Taiwanese (TPMI) biobanks, plus exome-wide gene-burden PheWAS (Genebass), then judge whether an association replicates across ancestries or is population-specific. Use whenever the user asks "what else is this va
tools
Dereplicate a putative natural product and assign its chemical taxonomy. Use to answer "is [compound] a known natural product", "what microbe/organism produces [compound]", "what chemical class is [compound]", "dereplicate this metabolite (by formula/exact mass/InChIKey/SMILES)", or "classify this molecule into ChemOnt". Searches NPAtlas for known microbial natural products (producing organism + literature reference), assigns the ChemOnt kingdom→superclass→class→subclass hierarchy via ClassyFire, resolves systematic IUPAC names to structure via OPSIN, and cross-references identity in PubChem. NOT for general drug/compound identity or ADMET (use tooluniverse-chemical-compound-retrieval / tooluniverse-small-molecule-discovery) and NOT for metabolomics pathway/enrichment analysis (use tooluniverse-metabolomics skills).
tools
Genome-ASSEMBLY discovery, QC, and replicon mapping for any organism (bacteria, archaea, fungi, and beyond) using NCBI Datasets. Resolves an organism name or taxid to assemblies, picks the reference/representative or best-quality assembly, pulls assembly QC metrics (total length, contig/scaffold N50, contig count, GC%, assembly level, RefSeq category), enumerates chromosomes and plasmids via per-replicon sequence reports, and compares candidate assemblies on quality. Use for "what genomes are available for [organism]", "assembly stats / N50 / GC content for [GCF_/GCA_ accession]", "how many plasmids does [strain] have", "compare assemblies for [species]", "find the reference genome for [taxon]", "is this assembly Complete Genome or just contigs". NOT for gene-level orthology/synteny (use tooluniverse-comparative-genomics), plant gene structure (use tooluniverse-plant-genomics), de novo assembly from raw reads (no tool exists), or taxonomy-only name/lineage lookups.