[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAPRT91AT5GDCBV0C036TK":3,"skill-same:01M6DAPRT91AT5GDCBV0C036TK":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":65,"commitSha":66,"skillDirectory":67,"forksCount":14,"repositoryHtmlUrl":68,"repositoryHomepageUrl":6,"ownerHtmlUrl":69,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":70,"install":71,"resources":84},"01M6DAPRT91AT5GDCBV0C036TK","tooluniverse-drug-mechanism-research",null,"Drug mechanism of action investigation -- systematic strategy to trace a drug from its primary target through pathways to clinical outcomes, identify off-target effects, and combine regulatory labels with literature evidence for a complete mechanism picture.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-drug-mechanism-research\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"research","tooluniverse drug mechanism research","investigation","how","trace","work","effect","context","strategy","outcomes","regulatory","evidence","clinical","systematic","2026-11-10 10:12:30",false,"---\nname: tooluniverse-drug-mechanism-research\ndescription: >\n  Drug mechanism of action investigation -- systematic strategy to trace a drug from its primary target\n  through pathways to clinical outcomes, identify off-target effects, and combine regulatory labels with\n  literature evidence for a complete mechanism picture.\ntriggers:\n  - keywords: [mechanism of action, drug target, pharmacology, pathway, pharmacogenomics, drug interaction, DailyMed, CPIC, MOA, off-target]\n  - patterns: [\"how does .* work\", \"mechanism of action\", \"drug target\", \"pathway context\", \"clinical pharmacology\", \"drug-drug interaction\", \"pharmacogenomic\", \"off-target effect\"]\n---\n\n# Drug Mechanism of Action Investigation\n\n## Investigation Philosophy\n\nDrug mechanism research follows one core question chain:\n\n**Target -> Downstream Effect -> Pathway -> Organ Effect -> Clinical Outcome**\n\nStart with the drug's primary target. What receptor, enzyme, or transporter does it bind? Then trace forward: what does inhibiting\u002Factivating that target do immediately? What pathway is disrupted? What organ-level change results? What does the patient experience?\n\nThe LLM already knows drug pharmacology. This skill teaches HOW TO INVESTIGATE using available tools, not what mechanisms exist.\n\n## When to Use\n\n- \"What is the mechanism of action of [drug]?\"\n- \"What are the molecular targets of [drug]?\"\n- \"Which pathways are affected by [drug]?\"\n- \"What pharmacogenomic interactions exist for [drug]?\"\n- \"What are the off-targets of [drug]?\"\n- \"Compare mechanisms of [drug A] vs [drug B]\"\n\n## NOT for (use other skills)\n\n- Drug safety\u002Fadverse events profiling -> `tooluniverse-adverse-event-detection`\n- Drug repurposing\u002Fnew indications -> `tooluniverse-drug-repurposing`\n- Target druggability assessment -> `tooluniverse-drug-target-validation`\n- Network pharmacology\u002Fpolypharmacology -> `tooluniverse-network-pharmacology`\n- CPIC dosing guidelines specifically -> `tooluniverse-pharmacogenomics`\n\n---\n\n## Step 1: Resolve the Drug\n\nBefore investigating mechanism, resolve the drug name to a canonical identifier. You need a ChEMBL ID for most downstream queries.\n\n```python\n# Resolve drug name to ChEMBL ID\nresult = tu.tools.OpenTargets_get_drug_id_description_by_name(drugName=\"metformin\")\n# Alternative: OpenTargets_get_drug_chembId_by_generic_name(drugName=\"metformin\")\n\n# Get PharmGKB ID (needed for PGx queries)\nresult = tu.tools.PharmGKB_search_drugs(query=\"metformin\")\n```\n\n**Fallback**: If OpenTargets returns no hits, try `PharmGKB_search_drugs` or `ChEMBL_get_drug` with a known ChEMBL ID.\n\n---\n\n## Step 2: Identify the Primary Target\n\nThe first question: what does this drug bind to, and what does it do to that target?\n\nTwo complementary sources give you this:\n\n```python\n# OpenTargets: quick summary of MOA with target gene symbols\nmoa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=\"CHEMBL1431\")\nfor row in moa[\"data\"][\"drug\"][\"mechanismsOfAction\"][\"rows\"]:\n    print(f\"{row['mechanismOfAction']} ({row['actionType']}) -> {row['targetName']}\")\n    for t in row.get(\"targets\", []):\n        print(f\"  Target gene: {t['approvedSymbol']} ({t['id']})\")\n\n# ChEMBL: detailed MOA with literature references and direct_interaction flag\nmechs = tu.tools.ChEMBL_get_drug_mechanisms(drug_chembl_id__exact=\"CHEMBL1431\")\nfor m in mechs[\"data\"][\"mechanisms\"]:\n    print(f\"MOA: {m['mechanism_of_action']}, Direct: {m['direct_interaction']}\")\n    print(f\"  Refs: {[r['ref_id'] for r in m.get('mechanism_refs', [])]}\")\n```\n\n**Key fields to extract**: action_type (INHIBITOR, AGONIST, ANTAGONIST, etc.), target gene symbol, direct_interaction (boolean), and literature references.\n\n**Known issue**: `OpenTargets_get_associated_targets_by_drug_chemblId` may fail (GraphQL schema change). Extract targets from the MOA results instead.\n\n---\n\n## Step 3: Assess Off-Target Effects\n\nMost drugs bind more than one target at clinical concentrations. After identifying the primary target, ask: what other proteins does this drug interact with? Off-target binding explains many side effects and drug interactions.\n\n```python\n# ChEMBL bioactivity data shows binding affinity across targets\nactivities = tu.tools.ChEMBL_get_target_activities(target_chembl_id__exact=\"CHEMBL2364\")\n\n# STRING interaction partners reveal the target's protein network\npartners = tu.tools.STRING_get_interaction_partners(identifiers=\"PRKAA1\", species=9606)\n```\n\n**Reasoning strategy**: If ChEMBL MOA lists multiple targets, compare their action types. Same action type across related targets suggests on-pathway polypharmacology. Different action types suggest true off-target effects. The binding affinity (IC50\u002FKi from bioactivity data) tells you which targets matter at clinical doses -- nanomolar affinity is primary, micromolar is likely off-target.\n\n---\n\n## Step 4: Map to Pathway Context\n\nA drug target does not work in isolation. Map it to its pathway to understand the breadth of effect.\n\n**Key question**: Is the target upstream (affects many downstream genes, broader effects, more side effects) or downstream (narrow, specific effect)?\n\n```python\n# KEGG: find gene ID, then get pathways\ngenes = tu.tools.kegg_find_genes(keyword=\"PRKAA1\", organism=\"hsa\")\npathways = tu.tools.KEGG_get_gene_pathways(gene_id=\"hsa:5562\")\n\n# Reactome: map protein to pathways (needs UniProt ID)\nreactome = tu.tools.Reactome_map_uniprot_to_pathways(uniprot_id=\"Q13131\")\n\n# WikiPathways: search by gene symbol\nwp = tu.tools.WikiPathways_find_pathways_by_gene(gene=\"PRKAA1\")\n\n# STRING: functional annotations (GO terms, pathway memberships)\nannot = tu.tools.STRING_get_functional_annotations(identifiers=\"PRKAA1\", species=9606)\n```\n\n**For multi-target drugs**, run pathway enrichment to find convergent pathways:\n\n```python\n# Reactome enrichment (space-separated gene list, NOT array)\nenrichment = tu.tools.ReactomeAnalysis_pathway_enrichment(identifiers=\"PRKAA1 PRKAA2 PRKAB1\")\n\n# STRING enrichment\nenrichment = tu.tools.STRING_functional_enrichment(identifiers=\"PRKAA1 PRKAA2\", species=9606)\n```\n\n**Reasoning strategy**: If multiple drug targets converge on the same pathway, that pathway is the drug's true mechanism. If targets are in different pathways, the drug has genuinely multi-pathway effects -- report each separately.\n\n---\n\n## Step 5: Get the Regulatory View (DailyMed)\n\nDrug labels describe WHAT the drug does. This is the FDA-approved mechanism narrative.\n\nDailyMed requires a two-step process: search for the drug to get a `setid`, then parse specific label sections.\n\n```python\n# Step 1: Get setid\nspls = tu.tools.DailyMed_search_spls(drug_name=\"metformin\")\nsetid = spls[\"data\"][0][\"setid\"]\n\n# Step 2: Parse the clinical pharmacology section (MOA, PK\u002FPD, metabolism)\npharmacology = tu.tools.DailyMed_parse_clinical_pharmacology(\n    operation=\"parse_clinical_pharmacology\", setid=setid)\n\n# Drug interactions from the label\ninteractions = tu.tools.DailyMed_parse_drug_interactions(\n    operation=\"parse_drug_interactions\", setid=setid)\n\n# Contraindications\ncontra = tu.tools.DailyMed_parse_contraindications(\n    operation=\"parse_contraindications\", setid=setid)\n```\n\n**Other DailyMed parse tools**: `DailyMed_parse_adverse_reactions`, `DailyMed_parse_dosing`.\n\n**Reasoning strategy**: The label's clinical pharmacology section often describes the mechanism differently from database entries. The label emphasizes clinically relevant effects; databases emphasize molecular detail. Both perspectives are needed.\n\n---\n\n## Step 6: Check Pharmacogenomics\n\nPharmacogenomic variants affect how a patient responds to the drug. This matters for mechanism because PGx genes are often the drug's metabolizing enzymes or targets.\n\n```python\n# CPIC gene-drug pairs (gold standard for PGx)\npairs = tu.tools.CPIC_search_gene_drug_pairs(gene_symbol=\"CYP2C19\", cpiclevel=\"A\", limit=20)\n# Or search by drug\ndrug_info = tu.tools.CPIC_get_drug_info(name=\"clopidogrel\")\n\n# FDA PGx biomarkers (what's on the label)\nfda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(drug_name=\"clopidogrel\", limit=100)\n# Or find all drugs affected by a gene\nfda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(biomarker=\"CYP2D6\", limit=100)\n\n# PharmGKB gene details\ngene_info = tu.tools.PharmGKB_search_genes(query=\"CYP2C19\")\n```\n\n**Reasoning strategy**: CPIC Level A\u002FB pairs have strong evidence and actionable guidelines. If a drug has CPIC Level A interactions, those genes are critical to its mechanism (usually metabolizing enzymes or direct targets). FDA PGx biomarkers tell you what's on the approved label.\n\n---\n\n## Step 7: Gather Literature Evidence\n\nLiterature describes WHY the mechanism works. Combine with labels (what) for a complete picture.\n\n```python\n# PubMed: returns a plain list of article dicts\narticles = tu.tools.PubMed_search_articles(\n    query=\"metformin mechanism of action AMPK mitochondrial\", limit=10)\n\n# EuropePMC: returns {status, data, metadata}\narticles = tu.tools.EuropePMC_search_articles(\n    query=\"metformin mechanism action mitochondrial\", limit=10)\n\n# Follow citation chains for seminal papers\ncitations = tu.tools.EuropePMC_get_citations(source=\"MED\", identifier=\"12345678\")\n```\n\n**Search strategy**: Start with \"[drug] mechanism of action [primary target]\". If the mechanism is debated, add the competing hypotheses as separate queries. Recent reviews (add \"review\" to query) give the current consensus.\n\n---\n\n## Step 8: Integrate and Report\n\n### Evidence Hierarchy\n\n- **Tier 1 (Regulatory)**: FDA label (DailyMed), CPIC Level A, FDA PGx biomarker\n- **Tier 2 (Experimental)**: ChEMBL mechanisms with literature refs, binding data\n- **Tier 3 (Database)**: OpenTargets MOA, pathway databases (KEGG\u002FReactome\u002FWikiPathways)\n- **Tier 4 (Literature)**: PubMed\u002FEuropePMC articles\n\n### Report Structure\n\n```\n## Drug Mechanism Report: [Drug Name]\n\n### Drug Identity\n- ChEMBL ID, PharmGKB ID, approval status\n\n### Primary Mechanism\n- Target: [gene symbol], Action: [INHIBITOR\u002FAGONIST\u002Fetc.]\n- Mechanism narrative (from DailyMed + databases)\n- Direct interaction: yes\u002Fno\n\n### Off-Target Effects\n- Additional targets with action types and binding affinities\n- Which off-targets explain known side effects\n\n### Pathway Context\n- Key pathways (from KEGG\u002FReactome\u002FWikiPathways)\n- Upstream vs downstream position of target\n- Convergent pathways for multi-target drugs\n\n### Pharmacogenomics\n- CPIC gene-drug pairs with levels\n- FDA PGx biomarkers\n\n### Drug Interactions\n- Mechanism-based interactions (enzyme inhibition\u002Finduction)\n- Key interactions from DailyMed\n\n### Evidence Summary\n| Finding | Source | Tier |\n|---------|--------|------|\n| Primary MOA | ChEMBL + DailyMed | T1\u002FT2 |\n| Off-targets | ChEMBL bioactivity | T2 |\n| Pathways | KEGG\u002FReactome | T3 |\n| PGx | CPIC\u002FFDA | T1 |\n```\n\n---\n\n## Comparing Two Drugs\n\nWhen comparing mechanisms, run Steps 2-4 for both drugs, then align:\n\n1. **Same target, different action?** (e.g., agonist vs antagonist at the same receptor)\n2. **Different targets, same pathway?** (e.g., both affect insulin signaling but at different nodes)\n3. **Different pathways entirely?** (e.g., metformin on AMPK vs pioglitazone on PPAR-gamma)\n\n```python\nfor drug in [(\"metformin\", \"CHEMBL1431\"), (\"pioglitazone\", \"CHEMBL595\")]:\n    moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=drug[1])\n    clin = tu.tools.DailyMed_parse_clinical_pharmacology(drug_name=drug[0])\n```\n\n---\n\n## Fallback Strategies\n\n| Step | Primary Tool | Fallback |\n|------|-------------|----------|\n| Drug ID | OpenTargets_get_drug_id_description_by_name | PharmGKB_search_drugs |\n| MOA | OpenTargets_get_drug_mechanisms_of_action_by_chemblId | ChEMBL_get_drug_mechanisms |\n| Pathways | KEGG_get_gene_pathways | WikiPathways_find_pathways_by_gene, Reactome_map_uniprot_to_pathways |\n| PGx | CPIC_search_gene_drug_pairs | fda_pharmacogenomic_biomarkers |\n| Clinical info | DailyMed_parse_clinical_pharmacology | OpenTargets_get_drug_description_by_chemblId |\n| DDI | DailyMed_parse_drug_interactions | PubMed_search_articles (DDI query) |\n| Literature | PubMed_search_articles | EuropePMC_search_articles |\n\n**MetaCyc note**: MetaCyc requires a paid account and is not available. Use KEGG, Reactome, or WikiPathways instead.\n","# Drug Mechanism of Action Investigation\n\n## Investigation Philosophy\n\nDrug mechanism research follows one core question chain:\n\n**Target -> Downstream Effect -> Pathway -> Organ Effect -> Clinical Outcome**\n\nStart with the drug's primary target. What receptor, enzyme, or transporter does it bind? Then trace forward: what does inhibiting\u002Factivating that target do immediately? What pathway is disrupted? What organ-level change results? What does the patient experience?\n\nThe LLM already knows drug pharmacology. This skill teaches HOW TO INVESTIGATE using available tools, not what mechanisms exist.\n\n## When to Use\n\n- \"What is the mechanism of action of [drug]?\"\n- \"What are the molecular targets of [drug]?\"\n- \"Which pathways are affected by [drug]?\"\n- \"What pharmacogenomic interactions exist for [drug]?\"\n- \"What are the off-targets of [drug]?\"\n- \"Compare mechanisms of [drug A] vs [drug B]\"\n\n## NOT for (use other skills)\n\n- Drug safety\u002Fadverse events profiling -> `tooluniverse-adverse-event-detection`\n- Drug repurposing\u002Fnew indications -> `tooluniverse-drug-repurposing`\n- Target druggability assessment -> `tooluniverse-drug-target-validation`\n- Network pharmacology\u002Fpolypharmacology -> `tooluniverse-network-pharmacology`\n- CPIC dosing guidelines specifically -> `tooluniverse-pharmacogenomics`\n\n---\n\n## Step 1: Resolve the Drug\n\nBefore investigating mechanism, resolve the drug name to a canonical identifier. You need a ChEMBL ID for most downstream queries.\n\n```python\n# Resolve drug name to ChEMBL ID\nresult = tu.tools.OpenTargets_get_drug_id_description_by_name(drugName=\"metformin\")\n# Alternative: OpenTargets_get_drug_chembId_by_generic_name(drugName=\"metformin\")\n\n# Get PharmGKB ID (needed for PGx queries)\nresult = tu.tools.PharmGKB_search_drugs(query=\"metformin\")\n```\n\n**Fallback**: If OpenTargets returns no hits, try `PharmGKB_search_drugs` or `ChEMBL_get_drug` with a known ChEMBL ID.\n\n---\n\n## Step 2: Identify the Primary Target\n\nThe first question: what does this drug bind to, and what does it do to that target?\n\nTwo complementary sources give you this:\n\n```python\n# OpenTargets: quick summary of MOA with target gene symbols\nmoa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=\"CHEMBL1431\")\nfor row in moa[\"data\"][\"drug\"][\"mechanismsOfAction\"][\"rows\"]:\n    print(f\"{row['mechanismOfAction']} ({row['actionType']}) -> {row['targetName']}\")\n    for t in row.get(\"targets\", []):\n        print(f\"  Target gene: {t['approvedSymbol']} ({t['id']})\")\n\n# ChEMBL: detailed MOA with literature references and direct_interaction flag\nmechs = tu.tools.ChEMBL_get_drug_mechanisms(drug_chembl_id__exact=\"CHEMBL1431\")\nfor m in mechs[\"data\"][\"mechanisms\"]:\n    print(f\"MOA: {m['mechanism_of_action']}, Direct: {m['direct_interaction']}\")\n    print(f\"  Refs: {[r['ref_id'] for r in m.get('mechanism_refs', [])]}\")\n```\n\n**Key fields to extract**: action_type (INHIBITOR, AGONIST, ANTAGONIST, etc.), target gene symbol, direct_interaction (boolean), and literature references.\n\n**Known issue**: `OpenTargets_get_associated_targets_by_drug_chemblId` may fail (GraphQL schema change). Extract targets from the MOA results instead.\n\n---\n\n## Step 3: Assess Off-Target Effects\n\nMost drugs bind more than one target at clinical concentrations. After identifying the primary target, ask: what other proteins does this drug interact with? Off-target binding explains many side effects and drug interactions.\n\n```python\n# ChEMBL bioactivity data shows binding affinity across targets\nactivities = tu.tools.ChEMBL_get_target_activities(target_chembl_id__exact=\"CHEMBL2364\")\n\n# STRING interaction partners reveal the target's protein network\npartners = tu.tools.STRING_get_interaction_partners(identifiers=\"PRKAA1\", species=9606)\n```\n\n**Reasoning strategy**: If ChEMBL MOA lists multiple targets, compare their action types. Same action type across related targets suggests on-pathway polypharmacology. Different action types suggest true off-target effects. The binding affinity (IC50\u002FKi from bioactivity data) tells you which targets matter at clinical doses -- nanomolar affinity is primary, micromolar is likely off-target.\n\n---\n\n## Step 4: Map to Pathway Context\n\nA drug target does not work in isolation. Map it to its pathway to understand the breadth of effect.\n\n**Key question**: Is the target upstream (affects many downstream genes, broader effects, more side effects) or downstream (narrow, specific effect)?\n\n```python\n# KEGG: find gene ID, then get pathways\ngenes = tu.tools.kegg_find_genes(keyword=\"PRKAA1\", organism=\"hsa\")\npathways = tu.tools.KEGG_get_gene_pathways(gene_id=\"hsa:5562\")\n\n# Reactome: map protein to pathways (needs UniProt ID)\nreactome = tu.tools.Reactome_map_uniprot_to_pathways(uniprot_id=\"Q13131\")\n\n# WikiPathways: search by gene symbol\nwp = tu.tools.WikiPathways_find_pathways_by_gene(gene=\"PRKAA1\")\n\n# STRING: functional annotations (GO terms, pathway memberships)\nannot = tu.tools.STRING_get_functional_annotations(identifiers=\"PRKAA1\", species=9606)\n```\n\n**For multi-target drugs**, run pathway enrichment to find convergent pathways:\n\n```python\n# Reactome enrichment (space-separated gene list, NOT array)\nenrichment = tu.tools.ReactomeAnalysis_pathway_enrichment(identifiers=\"PRKAA1 PRKAA2 PRKAB1\")\n\n# STRING enrichment\nenrichment = tu.tools.STRING_functional_enrichment(identifiers=\"PRKAA1 PRKAA2\", species=9606)\n```\n\n**Reasoning strategy**: If multiple drug targets converge on the same pathway, that pathway is the drug's true mechanism. If targets are in different pathways, the drug has genuinely multi-pathway effects -- report each separately.\n\n---\n\n## Step 5: Get the Regulatory View (DailyMed)\n\nDrug labels describe WHAT the drug does. This is the FDA-approved mechanism narrative.\n\nDailyMed requires a two-step process: search for the drug to get a `setid`, then parse specific label sections.\n\n```python\n# Step 1: Get setid\nspls = tu.tools.DailyMed_search_spls(drug_name=\"metformin\")\nsetid = spls[\"data\"][0][\"setid\"]\n\n# Step 2: Parse the clinical pharmacology section (MOA, PK\u002FPD, metabolism)\npharmacology = tu.tools.DailyMed_parse_clinical_pharmacology(\n    operation=\"parse_clinical_pharmacology\", setid=setid)\n\n# Drug interactions from the label\ninteractions = tu.tools.DailyMed_parse_drug_interactions(\n    operation=\"parse_drug_interactions\", setid=setid)\n\n# Contraindications\ncontra = tu.tools.DailyMed_parse_contraindications(\n    operation=\"parse_contraindications\", setid=setid)\n```\n\n**Other DailyMed parse tools**: `DailyMed_parse_adverse_reactions`, `DailyMed_parse_dosing`.\n\n**Reasoning strategy**: The label's clinical pharmacology section often describes the mechanism differently from database entries. The label emphasizes clinically relevant effects; databases emphasize molecular detail. Both perspectives are needed.\n\n---\n\n## Step 6: Check Pharmacogenomics\n\nPharmacogenomic variants affect how a patient responds to the drug. This matters for mechanism because PGx genes are often the drug's metabolizing enzymes or targets.\n\n```python\n# CPIC gene-drug pairs (gold standard for PGx)\npairs = tu.tools.CPIC_search_gene_drug_pairs(gene_symbol=\"CYP2C19\", cpiclevel=\"A\", limit=20)\n# Or search by drug\ndrug_info = tu.tools.CPIC_get_drug_info(name=\"clopidogrel\")\n\n# FDA PGx biomarkers (what's on the label)\nfda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(drug_name=\"clopidogrel\", limit=100)\n# Or find all drugs affected by a gene\nfda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(biomarker=\"CYP2D6\", limit=100)\n\n# PharmGKB gene details\ngene_info = tu.tools.PharmGKB_search_genes(query=\"CYP2C19\")\n```\n\n**Reasoning strategy**: CPIC Level A\u002FB pairs have strong evidence and actionable guidelines. If a drug has CPIC Level A interactions, those genes are critical to its mechanism (usually metabolizing enzymes or direct targets). FDA PGx biomarkers tell you what's on the approved label.\n\n---\n\n## Step 7: Gather Literature Evidence\n\nLiterature describes WHY the mechanism works. Combine with labels (what) for a complete picture.\n\n```python\n# PubMed: returns a plain list of article dicts\narticles = tu.tools.PubMed_search_articles(\n    query=\"metformin mechanism of action AMPK mitochondrial\", limit=10)\n\n# EuropePMC: returns {status, data, metadata}\narticles = tu.tools.EuropePMC_search_articles(\n    query=\"metformin mechanism action mitochondrial\", limit=10)\n\n# Follow citation chains for seminal papers\ncitations = tu.tools.EuropePMC_get_citations(source=\"MED\", identifier=\"12345678\")\n```\n\n**Search strategy**: Start with \"[drug] mechanism of action [primary target]\". If the mechanism is debated, add the competing hypotheses as separate queries. Recent reviews (add \"review\" to query) give the current consensus.\n\n---\n\n## Step 8: Integrate and Report\n\n### Evidence Hierarchy\n\n- **Tier 1 (Regulatory)**: FDA label (DailyMed), CPIC Level A, FDA PGx biomarker\n- **Tier 2 (Experimental)**: ChEMBL mechanisms with literature refs, binding data\n- **Tier 3 (Database)**: OpenTargets MOA, pathway databases (KEGG\u002FReactome\u002FWikiPathways)\n- **Tier 4 (Literature)**: PubMed\u002FEuropePMC articles\n\n### Report Structure\n\n```\n## Drug Mechanism Report: [Drug Name]\n\n### Drug Identity\n- ChEMBL ID, PharmGKB ID, approval status\n\n### Primary Mechanism\n- Target: [gene symbol], Action: [INHIBITOR\u002FAGONIST\u002Fetc.]\n- Mechanism narrative (from DailyMed + databases)\n- Direct interaction: yes\u002Fno\n\n### Off-Target Effects\n- Additional targets with action types and binding affinities\n- Which off-targets explain known side effects\n\n### Pathway Context\n- Key pathways (from KEGG\u002FReactome\u002FWikiPathways)\n- Upstream vs downstream position of target\n- Convergent pathways for multi-target drugs\n\n### Pharmacogenomics\n- CPIC gene-drug pairs with levels\n- FDA PGx biomarkers\n\n### Drug Interactions\n- Mechanism-based interactions (enzyme inhibition\u002Finduction)\n- Key interactions from DailyMed\n\n### Evidence Summary\n| Finding | Source | Tier |\n|---------|--------|------|\n| Primary MOA | ChEMBL + DailyMed | T1\u002FT2 |\n| Off-targets | ChEMBL bioactivity | T2 |\n| Pathways | KEGG\u002FReactome | T3 |\n| PGx | CPIC\u002FFDA | T1 |\n```\n\n---\n\n## Comparing Two Drugs\n\nWhen comparing mechanisms, run Steps 2-4 for both drugs, then align:\n\n1. **Same target, different action?** (e.g., agonist vs antagonist at the same receptor)\n2. **Different targets, same pathway?** (e.g., both affect insulin signaling but at different nodes)\n3. **Different pathways entirely?** (e.g., metformin on AMPK vs pioglitazone on PPAR-gamma)\n\n```python\nfor drug in [(\"metformin\", \"CHEMBL1431\"), (\"pioglitazone\", \"CHEMBL595\")]:\n    moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=drug[1])\n    clin = tu.tools.DailyMed_parse_clinical_pharmacology(drug_name=drug[0])\n```\n\n---\n\n## Fallback Strategies\n\n| Step | Primary Tool | Fallback |\n|------|-------------|----------|\n| Drug ID | OpenTargets_get_drug_id_description_by_name | PharmGKB_search_drugs |\n| MOA | OpenTargets_get_drug_mechanisms_of_action_by_chemblId | ChEMBL_get_drug_mechanisms |\n| Pathways | KEGG_get_gene_pathways | WikiPathways_find_pathways_by_gene, Reactome_map_uniprot_to_pathways |\n| PGx | CPIC_search_gene_drug_pairs | fda_pharmacogenomic_biomarkers |\n| Clinical info | DailyMed_parse_clinical_pharmacology | OpenTargets_get_drug_description_by_chemblId |\n| DDI | DailyMed_parse_drug_interactions | PubMed_search_articles (DDI query) |\n| Literature | PubMed_search_articles | EuropePMC_search_articles |\n\n**MetaCyc note**: MetaCyc requires a paid account and is not available. Use KEGG, Reactome, or WikiPathways instead.\n",{"name":5,"triggers":43,"description":64},[44,56],{"keywords":45},[46,47,48,49,50,51,52,53,54,55],"mechanism of action","drug target","pharmacology","pathway","pharmacogenomics","drug interaction","DailyMed","CPIC","MOA","off-target",{"patterns":57},[58,46,47,59,60,61,62,63],"how does .* work","pathway context","clinical pharmacology","drug-drug interaction","pharmacogenomic","off-target effect","Drug mechanism of action investigation -- systematic strategy to trace a drug from its primary target through pathways to clinical outcomes, identify off-target effects, and combine regulatory labels with literature evidence for a complete mechanism picture.\n","main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Flibrary\u002Fskills\u002Ftooluniverse-drug-mechanism-research","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-drug-mechanism-research",{"tool":77,"command":78},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-drug-mechanism-research",{"tool":80,"command":81},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-drug-mechanism-research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-drug-mechanism-research\u002FSKILL.md",true,[],[86,107,135,162,176,191],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":38},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[93,94,95,96,97,98,99,100,101,102,31,103,104,105,106],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","use","repo","injection","execution","file",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":116,"publishedAt":38},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[117,27,118,119,120,121,122,123,124,125,126,127,128,129,102,130,131,132,133,134],"openmm md","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":147,"publishedAt":38},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[141,144],{"categoryNo":142,"categoryName":143,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":145,"categoryName":146,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[148,149,150,151,152,153,154,155,156,157,27,158,159,160,161],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":38},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[164,169,170,171,172,173,174,175],"setup","report","project","installation","project setup","issues","state",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":38},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[182],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},[178,184,98,185,186,187,102,188,29,189,190],"start issue","issue","ready","work on issue","user","work on","development",{"skillNo":192,"name":169,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":38},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[169,171,132,197,173,198],"files","interactive"]