pkpd-modeling

pkpd-modeling is a skill for Claude Code from synthetic-sciences/openscience. It costs 273 tokens per session (5,873 once invoked), scanned A, a copy of pkpd-modeling, Apache-2.0.

A toolkit for modelling how a drug moves through the body and how it affects the body. It covers drug concentration data, dose selection, population differences, drug interactions, and treatment monitoring.

In plain words
What is it for?
Use it to calculate exposure measures, fit drug and drug-effect models, compare formulations, scale doses to new groups, predict interactions, and guide therapeutic drug monitoring.
Why use it?
It helps turn drug measurements and biological responses into checked models instead of relying on rough guesses. It also separates model structure, natural variation, and patient factors so they are not confused.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to calculate exposure measures, fit drug and drug-effect models, compare formulations, scale doses to new groups, predict interactions, and guide therapeutic drug monitoring.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/synthetic-sciences/openscience/pkpd-modeling
About the project

synthetic-sciences/openscience is an AI workbench that carries out scientific research by reading papers, forming hypotheses, writing and running code, conducting experiments, analyzing results, and preparing reports. Researchers use it for work in machine learning, biology, physics, and chemistry with remote or local models. Catalogue add-ons extend its scientific workflows through skills and instructions.

synthetic-sciences/openscience · 4,025 stars · on GitHub · openscience.sh

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add synthetic-sciences/openscience --skill pkpd-modeling
Clone the repo
git clone --depth 1 https://github.com/synthetic-sciences/openscience

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pkpd-modeling

README.md
[![agentmods](https://agentmods.dev/badge/skills/synthetic-sciences/openscience/pkpd-modeling/github.svg)](https://agentmods.dev/skills/synthetic-sciences/openscience/pkpd-modeling)
Your own site
<a href="https://agentmods.dev/skills/synthetic-sciences/openscience/pkpd-modeling"><img src="https://agentmods.dev/badge/skills/synthetic-sciences/openscience/pkpd-modeling/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pkpd-modeling

Your own site · 80×15
<a href="https://agentmods.dev/skills/synthetic-sciences/openscience/pkpd-modeling"><img src="https://agentmods.dev/badge/skills/synthetic-sciences/openscience/pkpd-modeling.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 273 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,873 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 94% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00273 $0.05873
Opus 5.5 $0.00109 $0.02349
Sonnet 5.5 $0.00055 $0.01175
Haiku 4.5 $0.00027 $0.00587

Measured 1mo ago against content hash 9776bd4709c7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

pkpd-modeling scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

The scan reads SKILL.md. This mod also ships 11 executable files (scripts/_common.py, scripts/_models.py, scripts/allometry_and_fih.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

94% identical to pkpd-modeling — 449 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

backend/cli/skills/chemistry/pkpd-modeling/SKILL.md · 406 lines

How it starts

The opening of the file, as written. The whole thing — 406 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Pharmacokinetic and Pharmacodynamic Modelling

When to use

Any question about what the body does to a drug or what the drug does to the body: deriving exposure metrics from concentration-time data, fitting a structural model, building or checking a population analysis, choosing a dose or a regimen, relating exposure to effect, comparing formulations, or scaling to a new population.

The three rules

1. Fix the exposure metric and the analysis population before computing anything. AUC(0-t), AUC(0-inf), AUC(0-tau) at steady state, and Cavg are different quantities and answer different questions. So do AUCinf based on observed versus predicted Clast. Choosing after seeing the numbers is how a negative study becomes positive.

2. Structural model, variability model, and covariate model are three separate decisions. They get conflated constantly — an extra compartment added to absorb what is really unmodelled between-occasion variability, a covariate added to fix what is really a misspecified absorption model. Diagnose which one is wrong before changing any of them.

3. Convergence is not identifiability. A fit that converges with 200% relative standard error on a parameter, or a correlation of 0.99 between two, has told you the data cannot separate them. Every fitting script here reports both and flags them, because the parameter table alone looks fine in exactly this situation.

Scope

This skill computes, diagnoses, and structures. It does not decide that a formulation is bioequivalent, select a dose for a trial, recommend a dose for a patient, conclude that a drug has no QT liability, or replace a qualified pharmacometrician, clinical pharmacologist, or the regulatory review. The scripts report; none of them concludes. tdm_bayes.py in particular is a modelling aid — any change to a patient's regimen is the treating clinician's decision.

Scripts

cd skills/pkpd-modeling/scripts
Script Question answered
nca.py What are the exposure metrics, and is the terminal phase good enough to report them?
fit_compartmental.py Which structural model do these data support, and are its parameters identifiable?
simulate_regimen.py What does this regimen do at steady state, and to what fraction of the population?
check_popk_dataset.py Will NONMEM read this dataset the way I think it will?
exposure_response.py Is there an exposure-response relationship, and is the plateau in the data?
bioequivalence.py Does the 90% CI meet the criterion, and which criterion applies?
allometry_and_fih.py What is the starting dose, or the dose in a smaller/younger population?
ddi_static.py Does the in vitro data trigger a clinical DDI study under ICH M12?
tdm_bayes.py What are this patient's individual parameters from their measured levels?

Read the full file on GitHub · 406 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +5 lines 9776bd4709c7
  2. 1mo ago First seen · 401 lines · 273 tokens per session scan A e7d3f9b89f6f

Subscribe to this mod's changes

pkpd-modeling is a skill published in the GitHub repository synthetic-sciences/openscience (4,025 stars, last pushed today), licensed Apache-2.0. It adds 273 tokens to every session and 5,873 once invoked, about $0.0011 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 94% identical to pkpd-modeling, differing in 449 lines, and is treated as a copy.