Histolab Wsi Processing
jaechang-hits/SciAgent-Skills
WSI processing for digital pathology. An agent skill from jaechang-hits/SciAgent-Skills.
End-to-end R workflow to simulate individual patient data (IPD) for a registered clinical trial using a g-formula causal-DAG simulator.
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-sim --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/clinical-trial-ipd-sim .claude/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .claude/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-simType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-sim --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/clinical-trial-ipd-sim .agents/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .agents/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-sim --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/clinical-trial-ipd-sim .cursor/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .cursor/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/RConsortium/pharma-skills.git --path clinical-trial-ipd-sim--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-sim --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/clinical-trial-ipd-sim .gemini/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .gemini/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-simInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/clinical-trial-ipd-sim .github/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .github/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RConsortium/pharma-skills clinical-trial-ipd-sim --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RConsortium/pharma-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/clinical-trial-ipd-sim .opencode/skills/clinical-trial-ipd-sim && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "clinical-trial-ipd-sim" agent skill from https://github.com/RConsortium/pharma-skills/tree/main/clinical-trial-ipd-sim into .opencode/skills/clinical-trial-ipd-sim/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clinical-trial-ipd-sim", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
clinical-trial-ipd-simEnd-to-end R workflow to simulate individual patient data (IPD) for a registered clinical trial using a g-formula causal-DAG simulator.
Clinical Trial Ipd Sim is an agent skill from RConsortium/pharma-skills. End-to-end R workflow to simulate individual patient data (IPD) for a registered clinical trial using a g-formula causal-DAG simulator. Given an NCT ID with posted results and a protocol PDF, derives CRFs, builds an evidence-based causal DAG, parameterizes structural equations from ClinicalTrials.gov / literature priors, runs an R6 forward simulator, and calibrates marginal statistics to the published results without breaking causal identifiability. Emits CSV CRFs, a validated CDISC ODM v2.0 export, and an…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 90 other files, including scripts and assets (for example `README.md`, `calibration.md` and `examples/allergy/cath/DAG.md`).
It sits in Research & Science, covering Clinical and healthcare research. It works with Python. The repository describes itself as: A collection of agent skills for BioPharma use cases GSDBench Intake https://rconsortium.github.io/pharma-skills/gsdbench-intake/. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ae5d83b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (R, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
clinicaltrials.govFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Clinical Trial Ipd Sim loads about 4.1k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 1,864 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from RConsortium/pharma-skills at commit ae5d83b, republished under its MIT licence (© RConsortium). 1,864 words, ~4,097 tokens.
.claude/skills/clinical-trial-ipd-sim/SKILL.md (or your agent's skills folder). This skill also uses 85 other files; get the full folder from GitHub.End-to-end R workflow for generating individual-patient-level CRF data for a registered clinical trial. The output is a set of CSV CRFs whose marginal statistics match the published trial AND whose joint distribution follows an explicit causal DAG, plus a validated CDISC ODM v2.0 form + patients and an interactive DAG page.
The engine is an R6 class TrialSim (R/trial_sim.R) that every trial subclasses. The canonical
reference build — mirror it — is RAVE (examples/autoimmune/rave/, binary endpoint); the
continuous-change + ODM exemplar is CATH (examples/allergy/cath/, NCT00789880). Consult the
closest-archetype example when building a new trial. See r_implementation.md
for the R module layout.
Reproducible, not byte-identical to any Python build. R's base RNG cannot reproduce NumPy's bitstream, so this port re-implements the structure/logic/gates with its own reproducible draws (fixed seed → identical output) and is re-calibrated in R to the same published targets. The bar is: DAG gates all_pass (fail-closed) + marginals within tolerance — never a byte match.
The user provides an NCT ID and the trial has both a protocol (user PDF or via find-protocol) and posted results. Do not use for summary-level reconstruction (Cox HR / KM medians only) — use tabular IPD reconstruction for that.
R6, dplyr, readr, tibble, jsonlite (base R otherwise).python3 with vendor/python/requirements.txt installed (lxml, duckdb, pandas,
pypdf, requests) — used for the ODM steps, the DAG render, and find-protocol, all shelled out
from R. Point the skill at it with options(ctids.python="…") or the CTIDS_PYTHON env var, else
python3 on PATH is used. Never hardcode a personal interpreter path.vendor/python/find_protocol/find_protocol.py; see
find_protocol.md. Paperclip — the recommended evidence channel; see
paperclip.md. Every cited claim carries a Source origin tag + verbatim quote.Every evidence-backed row in DAG.md, the parameter table, and the SCM dossier carries its evidence
inline, in two columns:
ctgov: <field path> / paperclip: <id> <url> /
model: <default> (model is flagged — a foundation-model default with no external source).https://clinicaltrials.gov/api/v2/studies/{NCT}?format=json; extract design (arms,
allocation, stratifiers, endpoints), eligibility → baseline priors, the outcomes table, and the AE table.hasResults is false / resultsSection is empty, STOP and ask; continue
only with the user's explicit approval of an alternative calibration source (protocol design-stage
assumptions and/or a publication), tagged as an assumption, not a result.trialdesignbench/source);
else STOP and ask — never scrape the web. Read the Schedule of Activities (SoA) from it.{trial}_output/intake/{NCT}.json.Define the CRF once, from the SoA: forms × visits × variables. Write the human view
{trial}_output/CRF_spec.md and the machine schema {trial}_output/odm/crf_picks.json (same field
set). Use templates/crf_schema_template.md as the starting shape.
Coverage rule — the SoA decides what EXISTS; the results table only decides what gets CALIBRATED.
Put every variable the SoA collects into the frame (even with no posted result — it is emitted from
cited priors and left uncalibrated, target: null). Cross-check the field set against the SoA
row-by-row, then run the CDISC SDTM completeness sweep (checklist in
templates/crf_schema_template.md): (1) tag every form with its
SDTM 2-letter domain code and confirm the code matches the domain's real meaning — map by content,
watch for collisions (a disease-activity form labelled DA is not Drug Accountability), and record
each code mismatch as its own mis-coded/collision finding (a clean gap list does not mean the
coding is clean); (2) confirm a DM form (the only mandatory domain); (3) sweep the collected-class
domains for anything the SoA collects but the form list dropped (DV/HO/DA/DD/SC/SS/CO are the usual
misses). A concept may ride on a related standard form (accountability on EX) — but a ride-along
counts as a home only if it is lossless (a fold that drops collected levels — e.g. only former
smokers get an MH row — is still a gap), and disease-specific clinical indices with no standard domain
(BVAS, PASI) go in a sponsor-defined Findings domain. The SoA cross-check and this sweep are both
agent checks — nothing downstream enforces them; the trial-design/derived scaffolding domains are
out of scope (we do not convert to SDTM).
Applicability rule — some collected fields only EXIST for a sub-population. A subject's
demographics/characteristics decide which measurements are even possible: lesional-skin readings need a
lesion, a pregnancy test needs a female subject, a disease-severity score needs that disease. Declare
these as applicability_rules() on the trial subclass — list(form, cols, applicable = function(dm) …)
— and the engine blanks those fields for the subjects a rule excludes, while the g_logical_consistency
gate (Step 6) re-checks it fail-closed: a value where the measurement cannot exist, or a blank where it
must, fails the build. Value-only invariants (age within eligibility, no pregnancy record for a male) go
in consistency_rules(). This is what keeps impossible demographic↔data combinations out of the CSVs —
declare the rule, never hand-blank per trial.
crf_picks.json shape: study, metadata_oid/name, created, visits[], forms[] — each form has
oid (FO.{NCT}.{FORM}), visits[], section_oid/name, repeating (Simple if >1 row/subject),
and fields[]. Each field OID is IT.{NCT}.{FORM}.{COLUMN} (trailing segment = the CSV column the
simulator emits) and is EITHER an NCI pick {"oid":…, "cde":"<id>v<ver>"} or custom
{"oid":…, "custom":{"name":"…","type":"text|integer|float|date"}}. For each field, search NCI and
bind a CDE only on a semantically exact top hit, else leave it custom (a wrong bind is worse than
custom; the library is oncology-skewed). From R:
source("R/skill_root.R"); source("R/odm.R") # (or run any run_*.R, which loads the engine)
nci_search("neutrophil count", 5) # picker aid
odm_build_template("{trial}_output/odm/crf_picks.json", "{trial}_output") # build_spec→emit_odm→check_odmodm_build_template() writes odm/crf_spec.json + odm/crf_template.xml and validates it fail-closed
(Gate 1 = official ODM.xsd, Gate 2 = references resolve). The field set is the contract the
simulator must emit.
For every CRF variable, specify DAG parents + structural-equation form, categorized into the four
layers L₀ baseline / A treatment / Lₜ time-varying / Yₜ endpoints (endpoints are DERIVED from the
trajectory, never sampled). Gather every causal edge through paperclip (never from memory). Introduce
latent frailties per correlated AE/lab cluster (drawn once per patient, shared across equations —
this is what makes within-patient AEs correlated; never zeroed). Write {trial}_output/DAG.md
(one row per variable: parents · equation · Source · Evidence) using
templates/scm_spec_template.md. For a non-randomized group (e.g.
CATH's diagnosis strata), model it as a baseline stratum from a cited prior and randomize the arm
within it — argue exchangeability conditionally and flag the contrast observational; never a
silent coin-flip. You MAY also emit {trial}_output/dag.json ({nodes, edges}) to drive the render.
Set parameters from a priority hierarchy: (1) the CTGov results JSON, (2) fixed foundation-model rules
(CTCAE/FDA/RECIST grading — deterministic, never tuned), (3) literature priors via paperclip.
Uncalibrated variables (target: null) are parameterized from tiers 2–3 and flagged not-validated.
Pick the pattern for the endpoint archetype (time-to-event log-HR; continuous-change additive; binary
= threshold on the landmark trajectory). Parameters live in a per-trial params object (a list, or a
JSON snapshot the trial loads) — the only calibration surface. Multi-arm: one coefficient per
non-reference arm.
Implement the trial as a TrialSim R6 subclass (mirror examples/autoimmune/rave/rave.R): set the
config (prefix, nct, sched, admin_censor_day, emitters, default_n, default_seed) and the
three hooks — make_baseline(subj), simulate_trajectory(patient, jit), derive_endpoints(patient).
The base class supplies the per-patient loop, the CSV writer, the independent date-jitter substream
(new_substream, so the #182/#183 date fixes never shift the main draw order), and reconcile_ae_ds
(#184). Draw from the main stream via the np_* wrappers in R/rng.R; endpoints are read off the
trajectory. Run it:
Rscript examples/<area>/<trial>/run_<trial>.R [N] [SEED] [OUT_DIR]Contract check — as soon as the first CSVs exist, before calibrating:
odm_check_columns("{trial}_output/odm/crf_picks.json", "{trial}_output/crfs") # exit 0 requiredIt flags any drift between the schema and the emitted columns, both directions.
Calibrate only features with a posted result; leave target: null features at their priors (they are
still simulated and still must pass every gate). Tune structural-equation parameters only, never
structure — see the invariants in calibration.md. Each iteration: simulate →
measure_marginals() → run the two gate families and assert them fail-closed:
run_dag_gates — AE↔lab linkage,
arm→mediator direction, endpoint=trajectory, stratifier sign, frailty-cluster correlation), andg_logical_consistency) — the trial's applicability_rules() +
consistency_rules() re-checked on the CSVs: every field is filled exactly when it applies to the
subject, and no impossible demographic↔data combination appears (see Step 2).Gates read the emitted CSVs, never engine state, and the AE↔DS gate keys on the emitted reason
field. run() already runs the trial's gates fail-closed (stop() on any failure). Use
calibration_report(sim, …) to simulate + compare an already-calibrated trial, or calibrate(sim, targets, knob_map, …) for a new one (single-knob damped coordinate descent, ≤8 iters, reverts any
gate-breaking update). A many-small-cell continuous endpoint may not land every cell within tolerance
at small N — that is expected and does not fail the build; the verdict is gates all_pass.
At the end of each trial run, run the statistical-reviewer skill on the emitted bundle as an independent realism check (do not hardcode fixes to pass it — feed its findings back as spec/parameter improvements).
Insert the final patients into the Step-2 blank form and re-validate (the form is not rebuilt):
odm_fill("{trial}_output/odm/crf_template.xml", "{trial}_output/crfs", "{trial}_output/odm/odm.xml")odm_fill() errors if any CSV column has no field in the template, then validates fail-closed
(check_odm: official XSD + references resolve). Output: {trial}_output/odm/odm.xml.
run(render_html=TRUE) (the default) automatically renders {trial}_output/index.html — an
interactive Cytoscape DAG + the rendered DAG.md/CRF_spec.md/README.md — after the gates pass.
Best-effort: a missing DAG.md/renderer never breaks the run. The render also writes a secondary
copy under a sibling docs/trials/ of the skill folder (a convenience for a docs dashboard, outside
the run bundle and harmless); index.html in the run folder is the deliverable. The page title comes
from the output-folder name, so name it {TRIAL}_output. Re-run render_docs("{trial}_output") to
refresh after writing README.md last or editing DAG.md.
{trial}_output/)README.md # run manifest (trial/NCT/N/seed/date + per-gate PASS) + folder map
intake/{NCT}.json # step 1
CRF_spec.md # step 2 (human view)
DAG.md # step 3 (cited)
params/ # steps 4 & 6 snapshots
crfs/ # step 5/6 — {trial}_CRF_*.csv (the deliverable)
analysis/ # step 6 — marginals, sim-vs-published, gate results
odm/ # crf_picks.json + crf_spec.json + crf_template.xml (step 2) + odm.xml (step 7)
index.html # step 8 — interactive DAG + rendered docsintake/, CRF_spec.md, DAG.md, params/, and odm/crf_picks.json are authored across Steps
1–4 (for the shipped examples they live under examples/<area>/<trial>/); crfs/, analysis/,
README.md, odm/*.xml, and index.html are generated. The shipped run_<trial>.R entry points
stage the authored DAG.md + odm/crf_picks.json into the run folder and then build the ODM export
best-effort (skipped with a note if no ODM-deps python is configured), so a single
Rscript examples/<area>/<trial>/run_<trial>.R yields the full bundle. A brand-new trial authors those
inputs itself (Steps 2–4) and runs the ODM commands explicitly.
The engine (R/ + examples/<area>/<trial>/) lives outside the run folder; params/ + the RNG seed
make a run reproducible without copying code.
examples/autoimmune/rave/, NCT00104299) — binary complete-remission-at-6-months; 12 forms,
6 causal gates, calibrated marginals within TOL=0.07. Rscript examples/autoimmune/rave/run_rave.R.examples/allergy/cath/, NCT00789880) — continuous change-from-baseline biomarkers; 17
forms, observational diagnosis strata, ~zero serious AEs by design, the ODM demo.
Rscript examples/allergy/cath/run_cath.R.admin_censor_day from the CTGov cutoff.new_substream(seed, subj); drawing from
the shared stream shifts every downstream draw and silently breaks calibration.© RConsortium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 85 other files (scripts, assets) in clinical-trial-ipd-sim of RConsortium/pharma-skills.
Open the folder on GitHubat commit ae5d83b
Clinical Trial Ipd Sim next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Clinical Trial Ipd Sim this skillRConsortium/pharma-skills | 120 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Histolab Wsi Processingjaechang-hits/SciAgent-Skills | 374 | 1 repos | ~5.8k | Automated safety check: Notes | Apache-2.0 | |
| pydicom DICOM Toolkitdavila7/claude-code-templates | 33k | 11 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Histolab Whole Slide Image Tilingdavila7/claude-code-templates | 33k | 11 repos | ~5.1k | Automated safety check: Pass | MIT | |
| NeuroKit2 Biosignal Processingdavila7/claude-code-templates | 33k | 11 repos | ~3k | Automated safety check: Pass | MIT | |
| PyHealth Clinical ML Toolkitdavila7/claude-code-templates | 33k | 11 repos | ~4.4k | Automated safety check: Pass | MIT |
jaechang-hits/SciAgent-Skills
WSI processing for digital pathology. An agent skill from jaechang-hits/SciAgent-Skills.
davila7/claude-code-templates
Reads, edits, anonymizes and converts DICOM medical imaging files with pydicom, including pixel data extraction and compressed transfer syntaxes.
davila7/claude-code-templates
Processes digital pathology whole slide images with histolab: tissue detection, mask creation, tile extraction and dataset preparation for deep learning.
davila7/claude-code-templates
Processes physiological signals with NeuroKit2 in Python: ECG, PPG, EEG, EDA, respiration, EMG and EOG, including HRV, events and complexity measures.
davila7/claude-code-templates
Builds machine learning pipelines on clinical data with PyHealth: EHR datasets, prediction tasks, medical code mapping, healthcare models and evaluation.
K-Dense-AI/scientific-agent-skills
Searches and reads biomedical papers, FDA/PMDA/EMA documents, clinical trials, and protein records with the GXL Paperclip CLI and Python SDK.
RConsortium/pharma-skills
Audit R code that prepares CSR/TLF statistics for SAS-compatible rounding compliance (ties away from zero, round-once-at-display, fixed trailing-zero precision).
RConsortium/pharma-skills
Converts one or more GitHub Issues into standardized benchmark data using automated scripts.
RConsortium/pharma-skills
Generate a concise weekly progress summary for the pharmaskills repository.
RConsortium/pharma-skills
Derives an ADaM Adverse Events Analysis Dataset (ADAE) using the {admiral} R package and pharmaverse ecosystem.
RConsortium/pharma-skills
Derives an ADaM Subject-Level Analysis Dataset (ADSL) using the {admiral} R package and pharmaverse ecosystem.
RConsortium/pharma-skills
Derives ADaM Basic Data Structure (BDS) datasets using the {admiral} R package.
Works with
Categories
End-to-end R workflow to simulate individual patient data (IPD) for a registered clinical trial using a g-formula causal-DAG simulator. Clinical Trial Ipd Sim is an agent skill from RConsortium/pharma-skills. End-to-end R workflow to simulate individual patient data (IPD) for a registered clinical trial using a g-formula causal-DAG simulator.
Clinical Trial Ipd Sim fits situations like: tasks that involve Clinical and healthcare research.
Run `npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a claude-code`. Or copy the skill folder (clinical-trial-ipd-sim in RConsortium/pharma-skills) into .claude/skills/clinical-trial-ipd-sim in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a codex`. Or copy the skill folder (clinical-trial-ipd-sim in RConsortium/pharma-skills) into .agents/skills/clinical-trial-ipd-sim in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RConsortium/pharma-skills --skill clinical-trial-ipd-sim -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clinical-trial-ipd-sim, .gemini/skills/clinical-trial-ipd-sim, .github/skills/clinical-trial-ipd-sim and .opencode/skills/clinical-trial-ipd-sim in your project.
Going by SKILL.md and its folder, Clinical Trial Ipd Sim needs R for the scripts in its folder. Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: clinicaltrials.gov; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Clinical Trial Ipd Sim is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Clinical Trial Ipd Sim: Histolab Wsi Processing (jaechang-hits/SciAgent-Skills, 374 stars), pydicom DICOM Toolkit (davila7/claude-code-templates, 33k stars), Histolab Whole Slide Image Tiling (davila7/claude-code-templates, 33k stars) and NeuroKit2 Biosignal Processing (davila7/claude-code-templates, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RConsortium (a GitHub organization) maintains it in RConsortium/pharma-skills, which has 120 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 4, 2026.
Source: RConsortium/pharma-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.