Skip to main content

PharmaSkills

Pharma skills for AI agents.

The skills pack that teaches your AI agent the drug development lifecycle: protocols, CDISC, CSRs, safety, CMC and regulatory, with every output checked against the standard it claims.

Licence: Apache-2.0 CI Works with Claude Code, Codex, Cursor, Gemini CLI, OpenCode Status: pre-release

简体中文 | 日本語

Status: pre-release. PharmaSkills is not yet published to PyPI, npm, GHCR or any plugin marketplace. Install from a clone until the owner publishes v1.0.0. Everything it produces is a draft for qualified review and it is not validated GxP software. See Guardrails and disclaimer.

Headline

Raw EDC to SDTM with 0 validation errors on two synthetic studies (PSK-001 and PSK-002). Measured 2026-10-14: 100% record match against the gold datasets (18,771 records), byte-identical rebuild, 0.81 s or less per study, validated by the pharmaskills-native 0.5.0 checks (CDISC CORE was not run in this build environment). Details and caveats: Benchmarks.

Demo

A vhs tape is committed at docs/demo.tape: a raw EDC folder to SDTM datasets and Define-XML 2.1, then a CSR section with every number traced to its table. The GIF has not been rendered or published yet; render it with vhs docs/demo.tape (writes docs/assets/demo.gif).

Install

The tools package is on PyPI (pharmaskills). npm, GHCR and the plugin marketplace are not published yet; the channels below that use them are planned for v1.0.0. Or use from source.

One command (needs uv; it installs the tool, the skills and the MCP server for every agent it finds, then runs doctor):

uvx pharmaskills setup                       # every agent found on this machine
uvx pharmaskills setup --agent claude-code   # or name one (repeatable)
uvx pharmaskills setup --dry-run             # show what would change

Run it again after an upgrade to refresh the skills. Piece by piece:

# tools package (CLI, checkers, MCP server)
uv tool install pharmaskills
pipx install pharmaskills
npx pharmaskills doctor

# skills for your agent (Codex, Claude Code, Cursor, Gemini CLI, OpenCode)
npx skills add aiagentpro/pharmaskills

# Claude Code plugin marketplace
/plugin marketplace add aiagentpro/pharmaskills
/plugin install pharmaskills

# MCP server entry for an agent
pharmaskills mcp install --client claude-code

# Docker (CLI and MCP server)
docker run ghcr.io/aiagentpro/pharmaskills
Agent Skills MCP
Claude Code npx skills add aiagentpro/pharmaskills or the plugin commands pharmaskills mcp install --client claude-code
Codex npx skills add aiagentpro/pharmaskills pharmaskills mcp install --client codex
Cursor npx skills add aiagentpro/pharmaskills pharmaskills mcp install --client cursor
Gemini CLI npx skills add aiagentpro/pharmaskills pharmaskills mcp install --client gemini-cli
OpenCode npx skills add aiagentpro/pharmaskills pharmaskills mcp install --client opencode

One skill only: pharmaskills skills install --agent claude-code --skill sdtm-mapper. Skills work in a degraded, template-only mode (marked unverified) without the tools package. Details: docs/install.md.

From a clone today:

git clone https://github.com/aiagentpro/pharmaskills && cd pharmaskills
uv sync --extra dev
uv run pharmaskills doctor
uv run pharmaskills skills install --agent claude-code

Lifecycle map

PharmaSkills lifecycle map: nine stages and 36 skills, with lifecycle-navigator above all stages

Skill catalogue

36 skills: 24 Tier 1 (backed by a deterministic tool or validator) and 12 Tier 2 (templates, references and a scored rubric). One page per skill is on the docs site (docs/skills/).

Skill Stage Tier What it produces Verified by
competitive-landscape Discovery 1 Build a competitor program landscape from ClinicalTrials.gov for an indication or mechanism, grouped by sponsor, mechanism, phase and status, with withdrawn trials separated and readout dates. connectors clinicaltrials search, trials landscape
compound-profiler Discovery 1 Profile small molecules from SMILES or SDF (MW, cLogP, TPSA, HBD, HBA, rotatable bonds, Lipinski, Veber, PAINS and Brenk alerts, QED) and interpret developability risks. chem profile, chem alerts
literature-review Discovery 1 Run a PubMed literature review. connectors pubmed build-query, connectors pubmed search, connectors pubmed fetch, lit check-prisma, lit check-screening-log
target-dossier Discovery 1 Build a target assessment dossier for a gene or protein and disease from Open Targets, UniProt, ChEMBL and PubMed with source ids on every claim, risks, competition and a low-evidence warning. connectors opentargets search, connectors opentargets fetch, connectors uniprot search, connectors uniprot fetch, connectors chembl search, connectors pubmed search
fih-dose Preclinical 1 Derive a first-in-human starting dose from animal NOAELs (HED by body surface area, most sensitive species, safety factor, MRSD) and recommend a MABEL approach for high-risk biologics. stats hed
nonclinical-study-plan Preclinical 2 Draft an IND-enabling nonclinical study plan by clinical stage and modality (ICH M3(R2), S7A, S7B, S2(R1), S5(R3), S6(R1), S9), with a required-study checklist, timeline and gap list. reg required-studies
pk-nca Preclinical 1 Run noncompartmental PK analysis on concentration-time data (AUClast, AUCinf, Cmax, Tmax, half-life, CL/F, Vz/F) with documented BLQ handling and summary statistics. stats nca
send-checker Preclinical 1 Validate SEND (SENDIG) XPT datasets with pharmaskills send validate, summarise findings by domain and severity, and report honestly whether CDISC CORE or the native structural checks ran. send validate
crf-cdash Clinical development 1 Derive an eCRF specification from a protocol schedule of activities, with forms per visit mapped to CDASH variables and controlled terminology codes with codelist ids. cdash map, cdash build-spec, ct lookup, ct codelist
icf-writer Clinical development 1 Draft an informed consent form in plain language from a protocol summary, check the 21 CFR 50.25 elements and the reading grade, and explain randomisation for placebo designs. docs check-icf, docs readability
protocol-m11 Clinical development 1 Draft a clinical trial protocol in ICH M11 structure with a five-attribute estimand for every primary endpoint, a schedule of activities and comparable trials, then check structure. docs check-structure, protocol check-estimands, protocol check-soa, trials feasibility, stats sample-size
rbqm-plan Clinical development 2 Draft a risk-based quality management plan and risk register from a protocol under ICH E6(R3) and E8(R1), covering critical-to-quality factors, key risk indicators, quality tolerance limits and a monitoring strategy, then check the register for completeness. protocol check-risk-register, protocol check-estimands
sample-size Clinical development 1 Write a sample size justification with formula, inputs, result and sensitivity table for means, proportions, log-rank, non-inferiority and equivalence designs, with dropout inflation. stats sample-size
sap-writer Clinical development 2 Draft a statistical analysis plan from a protocol and its estimands under ICH E9 and E9(R1), covering analysis sets, estimand handling, primary and sensitivity analyses, multiplicity, missing data, interim analyses and planned TLFs, then check structure and estimands. docs check-structure, protocol check-estimands, docs build
trial-feasibility Clinical development 1 Assess feasibility from comparable completed trials on ClinicalTrials.gov with enrolment rate per site-month where inputs exist, country footprint and common exclusion criteria. connectors clinicaltrials search, trials feasibility
adam-spec Clinical data 1 Specify ADSL and ADAE from SDTM datasets and the SAP, then build the datasets, derivation programs and spec workbook with unit-tested derivations. adam build, adam test
define-xml Clinical data 1 Build, validate and render Define-XML 2.1 for SDTM datasets from a study folder and mapping spec, and report coverage of datasets, variables and codelists. define build, define validate, define render
sdtm-mapper Clinical data 1 Turn raw EDC exports into SDTM datasets (DM, AE, CM, VS, LB, EX, TS), a mapping spec, Define-XML 2.1, a reviewer's guide draft and a traceability matrix, validated and repaired in a loop. sdtm init, sdtm profile, sdtm validate-spec, sdtm review, sdtm build, sdtm validate, sdtm repair, sdtm document, sdtm run
tlf-shells Clinical data 2 Generate numbered table, listing and figure shells and a tlf_index.csv from a statistical analysis plan, with placeholders only and AE tables by SOC and PT, then check numbering and that every SAP analysis has a shell. protocol check-tlf-shells, docs build
csr-e3 Regulatory 1 Draft clinical study report sections structured to ICH E3 from a protocol, SAP and TLF outputs, with every number traced to its source table. docs trace-numbers, docs check-structure --standard ich-e3, docs detect-pii
ctd-module2 Regulatory 1 Draft CTD Module 2 summaries (2.4 and 2.6 nonclinical, 2.5 and 2.7 clinical) from study summaries, check ICH M4 numbering, add cross-references to Modules 4 and 5, and produce a gap list. docs check-structure --standard ich-m4, reg ctd-map
ha-query-response Regulatory 2 Draft a health authority query response that restates each question, answers with cited data and guidance, flags insufficient data, and lists commitments separately; checks citations with a tool. docs check-citations, docs build
ib-writer Regulatory 2 Draft an investigator's brochure and its reference safety information from nonclinical, clinical and CMC summaries, with a required-section check and frequency-labelled candidate ADRs. docs check-structure --standard ib, docs build
ind-assembler Regulatory 1 Map available documents to 21 CFR 312.23(a) IND content items, Form 1571 and 1572 fields and eCTD placement, and list gaps such as a missing investigator's brochure. reg ind-checklist, reg ctd-map
regulatory-intelligence Regulatory 2 Fetch an official guidance page (FDA, EMA, ICH, MHRA), summarise what changed, state effective dates or mark them unknown, and assess impact on the user's program, with source links checked against an official-domain list. docs check-citations --require-official-links
aggregate-report Safety 2 Draft a PBRER (ICH E2C(R2)) or DSUR (ICH E2F) section structure with data placeholders, a stated reporting interval and a structured benefit-risk framework; checks mandatory sections. docs check-structure --standard pbrer, docs check-structure --standard dsur, docs build
icsr-e2b Safety 1 Turn an email, call note or literature article into a structured case.json, check ICH E2D minimum criteria, seriousness and expectedness, and build and validate an E2B(R3) ICSR XML draft. safety minimum-criteria, safety seriousness, safety expectedness, safety build-e2b, safety validate-e2b
literature-surveillance Safety 2 Run a weekly PubMed search for named products, screen every record for the four ICSR minimum criteria and safety findings (EU GVP VI.B.1.1.2), log each decision with a reason, and document no-result weeks. connectors pubmed build-query, connectors pubmed search, lit check-screening-log
signal-detection Safety 1 Screen a drug-event pair in FAERS with openFDA 2x2 counts and PRR, ROR and IC with intervals, and write a signal report that states the limits of spontaneous reports. connectors openfda search, stats disproportionality
specification-builder CMC and manufacturing 1 Draft drug substance and drug product specifications per ICH Q6A (small molecules) or Q6B (biologics) with impurity thresholds from Q3A and Q3B, residual solvent limits from Q3C and elemental limits from Q3D, as an Excel workbook and a rationale. cmc impurity-thresholds, cmc solvent-limits, cmc elemental
stability-protocol CMC and manufacturing 1 Draft an ICH Q1A(R2) stability protocol with storage conditions and time points by climatic zone and pack, a Module 3.2.P.8 outline, and an ICH Q1E shelf-life estimate when data are supplied. cmc stability-conditions, stats shelf-life
csv-gamp5 Quality and compliance 2 Draft a computerised system validation pack using a GAMP 5 risk-based approach, FDA CSA and Part 11 and Annex 11 checks, including AI agent controls. quality part11-checklist, docs build, docs detect-pii
deviation-capa Quality and compliance 2 Structure a GMP deviation investigation (timeline, 5 whys, Ishikawa), assess product impact, and draft CAPA with owner, due date and effectiveness check. quality check-capa, docs build, docs detect-pii
heor-model Medical and access 1 Compute an ICER with dominance logic and a one-way sensitivity table, and a multi-year budget impact, from supplied costs, QALYs, population and uptake; write a summary and an Excel model. stats icer, stats budget-impact
label-writer Medical and access 1 Draft US PLR prescribing information or an EU SmPC in the required section order, fetch a comparator label from DailyMed by name and compare it section by section, and check structure. connectors dailymed search, connectors dailymed fetch, docs check-structure
lifecycle-navigator All stages 2 Place a drug program on the nine-stage lifecycle map, list the next regulatory milestones and required studies or documents, and route every step to a skill that exists in the pack. skills list, skills route, reg required-studies, reg ind-checklist

Every output is checked

Skills that produce a standards-governed artefact run a deterministic check (schema, controlled terminology, required sections, number tracing) and report what passed and failed, naming the engine that ran. Prose quality is scored with a rubric. Published numbers are read from bench/results/ by a script; a number with no result file is not published.

Benchmark Result Source (2026-10-14)
SDTM mapper, PSK-001 0 errors, 2 warnings; spec accuracy 117/117; record match 100% of 10,410; 0.81 s; rebuild identical: yes bench/results/2026-10-14/sdtm.json
SDTM mapper, PSK-002 0 errors, 2 warnings; spec accuracy 112/112; record match 100% of 8,361; 0.6 s; rebuild identical: yes bench/results/2026-10-14/sdtm.json
Tool accuracy suite 7/7 reference calculations matched (100%) bench/results/2026-10-14/tools.json
Skill evals (deterministic replay, 36 skills) 197/197 cases pass (100%) bench/results/2026-10-14/deterministic.json
Safety and honesty suite 26/26 tests pass bench/results/2026-10-14/safety.json

Read before quoting these numbers:

  • The SDTM benchmark runs the deterministic engine on a committed gold specification of two synthetic studies. It shows the engine reproduces the gold datasets exactly; it is not a measurement of a model drafting a spec, and not a result on real data.
  • Validation used the native engine (pharmaskills-native). CDISC CORE was not run in the build environment, so no CORE conformance is claimed. Reports always name the engine.
  • Skill evals are a deterministic replay of recorded answers, not a model measurement.

Methodology and per-domain tables: docs/benchmarks.md.

Guardrails and disclaimer

  • Draft banner on every generated document. Drafts are for qualified review.
  • Not validated GxP software; not 21 CFR Part 11 or EU GMP Annex 11 compliant. The csv-gamp5 skill explains how to validate it for your own use.
  • No licensed content: MedDRA, WHODrug, SNOMED CT and UMLS are not included; bring your own licensed files.
  • Local option: no telemetry; the deterministic tools run locally; point your agent at a local OpenAI-compatible model when data must stay on your machine.
  • No fabrication: missing inputs become [DATA NEEDED: ...], never invented values.
  • Safety outputs (icsr-e2b, signal-detection) do not replace your reporting obligations.
  • Honest limits: some rules rest on instruction text only. See docs/guardrails-validation.md and DISCLAIMER.md.

One synthetic, committed example per lifecycle stage (inputs, real tool outputs, refusal samples). Commands and headline outputs: docs/examples-gallery.md.

Stage Skill Folder
Discovery compound-profiler examples/discovery/compound-profiler
Preclinical fih-dose examples/preclinical/fih-dose
Clinical development sample-size examples/clinical/sample-size
Clinical data sdtm-mapper examples/clinical-data/sdtm-mapper
Regulatory csr-e3 examples/regulatory/csr-e3
Safety signal-detection examples/safety/signal-detection
CMC and manufacturing stability-protocol examples/cmc/stability-protocol
Quality and compliance csv-gamp5 examples/quality/csv-gamp5
Medical and access heor-model examples/medical-commercial/heor-model

Contributing a skill

A skill is a skills/<id>/SKILL.md with frontmatter, standard sections, references, templates and evaluation cases (including an adversarial case). Lint with uv run pharmaskills skills lint, run uv run pharmaskills eval run --skill <id>, add a synthetic worked example, then make check. See CONTRIBUTING.md, the FAQ and docs/EXTENSION_POINTS.md. Contributors sign the CLA.

Roadmap

Out of v1, planned for v1.x:

  • ADaM beyond ADSL and ADAE
  • SDTM domains beyond the six core (plus TS)
  • eCTD XML backbone
  • MedDRA and WHODrug auto-coding (user-licensed)
  • RWE study design
  • Medical information letters
  • Promotional review
  • Pediatric plans
  • Orphan designation
  • Device and combination products

Licence

Code: Apache-2.0 (LICENSE, NOTICE). Examples and synthetic data: CC BY 4.0.

Metadata

Release files for pharmaskills 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pharmaskills 0.6.2
File Size Uploaded
pharmaskills-0.6.2.tar.gz 987.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pharmaskills 0.6.2
File Interpreter ABI Platform
pharmaskills-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / pharmaskills-0.6.2.tar.gz

Download URL pharmaskills-0.6.2.tar.gz
Size 987.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f2dccc5a08dd3df190aac94db2637aed9dec5e1f4a8d7f26fc9d9e601e4beb3b
BLAKE2b-256 checksum
How to use checksums
4dcb6e2b54da16a8e6a608ed33c47e89ea5caba4bbb4d0c2f73754d3701d02e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / pharmaskills-0.6.2-py3-none-any.whl

Download URL pharmaskills-0.6.2-py3-none-any.whl
Size 636.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
958491383ef9115891c7ea0032d687d8be42cc63de3e3910ed6f0eed99a15831
BLAKE2b-256 checksum
How to use checksums
4c701ec96a33135f0a2bdd80770f4dc4a7afa8ba074400e90b45666d98b3b010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page