skills/43-wentorai-research-plugins/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md
Clinical pharmacology principles for dosing, drug interactions, and patient s...
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research clinical-pharmacology-guideInstall 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.
A skill for applying clinical pharmacology principles to research and practice. Covers pharmacokinetic/pharmacodynamic modeling, drug interaction assessment, therapeutic drug monitoring, and special population dosing.
The most widely used PK/PD model relates drug concentration to effect:
import numpy as np
import matplotlib.pyplot as plt
def emax_model(concentration: np.ndarray, emax: float, ec50: float,
hill: float = 1, baseline: float = 0) -> np.ndarray:
"""
Sigmoid Emax (Hill) model.
Args:
concentration: Drug concentration array
emax: Maximum effect
ec50: Concentration producing 50% of Emax
hill: Hill coefficient (steepness)
baseline: Baseline effect (E0)
"""
effect = baseline + (emax * concentration**hill) / (ec50**hill + concentration**hill)
return effect
# Example: dose-response curve
conc = np.logspace(-2, 3, 200)
effect = emax_model(conc, emax=100, ec50=10, hill=1.5)
fig, ax = plt.subplots(figsize=(8, 5))
ax.semilogx(conc, effect)
ax.set_xlabel('Concentration (ng/mL)')
ax.set_ylabel('Effect (%)')
ax.set_title('Sigmoid Emax Model')
ax.axhline(y=50, color='gray', linestyle='--', alpha=0.5)
ax.axvline(x=10, color='gray', linestyle='--', alpha=0.5)
ax.annotate('EC50', xy=(10, 50), fontsize=12)
plt.tight_layout()
def predict_cyp_interaction(victim_drug: dict, perpetrator_drug: dict) -> dict:
"""
Predict metabolic drug-drug interaction potential.
Args:
victim_drug: {'name': str, 'primary_cyp': str, 'fraction_metabolized': float}
perpetrator_drug: {'name': str, 'cyp_effects': dict}
cyp_effects maps CYP enzyme to 'inhibitor'|'inducer'|'none'
"""
cyp = victim_drug['primary_cyp']
fm = victim_drug['fraction_metabolized'] # fraction metabolized by this CYP
perp_effect = perpetrator_drug['cyp_effects'].get(cyp, 'none')
if perp_effect == 'inhibitor':
# AUC ratio = 1 / (1 - fm) for complete inhibition
auc_ratio = 1 / (1 - fm) if fm < 1 else float('inf')
risk = 'high' if auc_ratio > 5 else 'moderate' if auc_ratio > 2 else 'low'
elif perp_effect == 'inducer':
# Induction decreases exposure
auc_ratio = 1 - fm * 0.7 # approximate 70% induction
risk = 'high' if auc_ratio < 0.3 else 'moderate' if auc_ratio < 0.5 else 'low'
else:
auc_ratio = 1.0
risk = 'none'
return {
'victim': victim_drug['name'],
'perpetrator': perpetrator_drug['name'],
'affected_cyp': cyp,
'interaction_type': perp_effect,
'predicted_auc_ratio': round(auc_ratio, 2),
'clinical_risk': risk,
'recommendation': (
'Dose adjustment required' if risk == 'high'
else 'Monitor closely' if risk == 'moderate'
else 'No action needed'
)
}
Drugs requiring routine TDM due to narrow therapeutic windows:
| Drug | Therapeutic Range | Toxic Level | Monitoring Frequency | |------|------------------|-------------|---------------------| | Vancomycin | AUC/MIC 400-600 | AUC/MIC > 600 | Trough before 4th dose | | Lithium | 0.6-1.2 mEq/L | > 1.5 mEq/L | Weekly initially, then monthly | | Digoxin | 0.8-2.0 ng/mL | > 2.0 ng/mL | At steady state (5-7 days) | | Phenytoin | 10-20 mcg/mL | > 20 mcg/mL | 2 weeks after dose change | | Tacrolimus | 5-15 ng/mL | > 20 ng/mL | Twice weekly post-transplant |
def bayesian_dose_adjustment(prior_cl: float, prior_cl_cv: float,
measured_conc: float, expected_conc: float,
current_dose: float) -> dict:
"""
Simple Bayesian dose adjustment using one-point TDM.
Args:
prior_cl: Population clearance estimate (L/hr)
prior_cl_cv: CV of clearance in population (0-1)
measured_conc: Observed trough concentration
expected_conc: Expected concentration at population CL
current_dose: Current dose (mg)
"""
# Individual clearance estimate (MAP approach, simplified)
ratio = expected_conc / measured_conc
individual_cl = prior_cl * ratio
# Bayesian shrinkage toward population
weight = 1 / (1 + prior_cl_cv**2)
posterior_cl = weight * prior_cl + (1 - weight) * individual_cl
# New dose to achieve target
target_conc = (measured_conc + expected_conc) / 2 # midpoint of range
new_dose = current_dose * (posterior_cl / prior_cl)
return {
'individual_CL': round(individual_cl, 2),
'posterior_CL': round(posterior_cl, 2),
'recommended_dose': round(new_dose, 1),
'dose_change_pct': round((new_dose - current_dose) / current_dose * 100, 1)
}
Dosing considerations for specific patient groups:
All clinical pharmacology studies should follow ICH guidelines (E4 for dose-response, E5 for ethnic factors, E7 for geriatric, E11 for pediatric). Report results in standardized population PK/PD formats compatible with FDA and EMA submission requirements.
tools
Recommend AND run open-source AI tools, agents, Claude Code / Codex skills, and MCP servers for any stage of a literature review — searching, reading, extracting, synthesizing, screening, citation-checking, and paper writing. Use when the user asks "what tool should I use to..." OR "install/run/use <tool> to ..." for research/lit-review work: automating a survey or related-work section, PDF→Markdown extraction for LLMs (MinerU/marker/docling), PRISMA / systematic review (ASReview), citation-backed Q&A over PDFs (PaperQA2), wiring papers into Claude/Cursor via MCP (arxiv/paper-search/zotero servers), or chatting with a Zotero library. Ships a launcher (scripts/litrun.py) that installs each tool in an isolated venv and runs it. Curated catalog of 70+ vetted projects. 支持中英文(用于「文献综述工具选型」与「一键安装/运行」)。
development
Route empirical-research requests through the Auto-Empirical Research Skills catalog when this whole repository is installed as one skill in Codex, CodeBuddy, Claude Code, or another IDE. Use to choose and load the right vendored AERS skill for causal inference, econometrics, replication, data acquisition, manuscript writing, peer review and referee responses, citation checking, de-AIGC editing, or full empirical-paper workflows without reading the entire repository at once.
documentation
Use when the project collects primary data or runs a field, lab, or survey experiment, before the intervention begins — write the pre-analysis plan, size the sample from a power calculation, and register with the AEA RCT Registry. Apply after the design is chosen in aer-identification and before any outcome data are seen.
tools
Guide economists to authoritative data sources with explicit, confirmed data specifications before retrieval; interfaces with Playwright MCP to navigate portals and extract real data, not articles about data.