Skip to content
Research
Skill

/calc-sample-size

Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification). Walks a decision tree to the right test and returns reproducible R/Python code and IRB-ready justification text. Analyzing collected data is /analyze-stats.

BOOST
From plugin
medsci-skills
34462 skills
Install
$ npx -y skills add Aperivue/medsci-skills --skill calc-sample-size --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/calc-sample-size

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification). Walks a decision tree to the right test and returns reproducible R/Python code and IRB-ready justification text. Analyzing collected data is /analyze-stats.

SKILL.md

calc-sample-size.SKILL.md
name: calc-sample-size
description: Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification). Walks a decision tree to the right test and returns reproducible R/Python code and IRB-ready justification text. Analyzing collected data is /analyze-stats.
metadata:
  triggers: "sample size, power analysis, power calculation, how many patients, how many subjects, IRB sample size"

Calc-Sample-Size Skill

Decision Tree

Walk the user through this tree one question at a time; do not assume answers. Reader studies, segmentation and model-comparison designs sit outside the tree: see Tests 14–17.

What is your primary outcome?
|
+-- Binary (yes/no, positive/negative)
|   |
|   +-- Paired data (same subjects, two methods)?
|   |   +-- YES --> [5] McNemar test
|   |   +-- NO  --> How many groups?
|   |       +-- 2 groups, superiority     --> [4] Two-proportion comparison (chi-square)
|   |       +-- 2 groups, non-inferiority --> [10] Non-inferiority / equivalence
|   |       +-- Multivariable model       --> single-predictor hypothesis test? --> [9] Logistic regression
|   |                                     --> clinical prediction / AI model for use?
|   |                                         +-- developing the model  --> [12] Prediction-model development (Riley)
|   |                                         +-- externally validating  --> [13] External-validation (Riley)
|   |
+-- Continuous (measurement, score)
|   |
|   +-- How many groups?
|       +-- 2 groups  --> [6] Independent t-test
|       +-- 3+ groups --> [8] One-way ANOVA
|
+-- Time-to-event (survival, recurrence)
|   |
|   +-- Two groups, unadjusted      --> [7] Log-rank test
|   +-- Multivariable / adjusted HR  --> [7] Log-rank (Schoenfeld) + [11] Cox EPV
|
+-- Agreement (inter-rater, reproducibility)
|   |
|   +-- Continuous measurements --> [2] ICC
|   +-- Categorical ratings     --> [3] Kappa
|
+-- Diagnostic accuracy (Se, Sp, AUC precision)
    |
    +--> [1] Diagnostic accuracy (precision-based)

Tests 1–11

Once the test is chosen, read `${CLAUDE_SKILL_DIR}/references/formulas.md` § Test N — the parameter table with defaults, the effect-size interpretation, the formula, R/Python code and the methodological reference.

| # | Test | Use when | |---|------|----------| | 1 | Diagnostic accuracy — Se/Sp precision | desired 95% CI half-width for sensitivity or specificity | | 2 | ICC agreement (Walter 1998 test; Bonett 2002 CI width) | inter-/intra-rater agreement on continuous measurements (tumor size, angle) | | 3 | Kappa agreement (Donner & Eliasziw 1992; needs the trait prevalence) | agreement on categorical ratings (BI-RADS category, lesion present/absent) | | 4 | Two-proportion comparison (chi-square) | two independent groups (AI vs conventional detection rate) | | 5 | McNemar (paired proportions) | paired binary outcomes (two readers on the same cases, before/after) | | 6 | Independent t-test | means in two independent groups (lesion size, malignant vs benign) | | 7 | Survival / log-rank (Schoenfeld events, then patients) | time-to-event between two groups | | 8 | One-way ANOVA | means across 3+ independent groups | | 9 | Logistic regression (Peduzzi EPV + Hsieh 1998, continuous or binary predictor) | multivariable binary outcome, single-predictor hypothesis test | | 10 | Non-inferiority / equivalence | new method not worse than standard by more than a pre-specified margin, or equivalent within it | | 11 | Cox regression EPV | multivariable Cox model — enough events for stable estimates |

  • **Test 9**: Peduzzi EPV ≥ 10 is a minimum baseline for a single-predictor hypothesis test only. For

a clinical prediction / medical-AI model intended for use, EPV-10 is outdated and reviewer-vulnerable — use Test 12 (development) / Test 13 (validation). Always report both Peduzzi and Hsieh and recommend the larger N.

  • **Test 10**: NI alpha is one-sided (typically 0.025); orient the difference so > 0 favours the new

method. Equivalence is TOST, powered jointly. The margin must be clinically justified (see `formulas.md` § Margin selection).

  • **Test 11**: EPV ensures model stability, not power for a specific HR. If an HR is available, also

run Test 7 (Schoenfeld) and recommend the larger N.

Tests 12–17 (specialised designs)

Each has its own reference file (parameters, method, reporting); read it once the test is chosen.

  • **Test 12 — Prediction-model development (Riley).** Developing a clinical prediction /

classification model (including a medical-AI model evaluated as one) for use. EPV-10 does not apply: N is the largest satisfying all Riley criteria — three for a binary or time-to-event outcome, four for a continuous one (R `pmsampsize`).

  • **Test 13 — External validation (Riley).** Validating an existing prediction/AI model: size for the

CI width of the C-statistic, calibration slope, O:E and (if claimed) net benefit (R `pmvalsampsize`); ≥ 100 events and ≥ 100 non-events is only a floor. For Tests 12–13 read `${CLAUDE_SKILL_DIR}/references/prediction_model_sample_size.md`.

  • **Test 14 — MRMC reader study (Obuchowski–Rockette).** Readers with vs without the AI, or AI

non-inferior to readers. Test 1 under-sizes it because readers are a random effect: size readers `J` × cases from pilot/literature variance components with `RJafroc` / `MRMCaov` / `iMRMC` (do not hand-roll the OR algebra) and report the `J × N` power grid. Read `${CLAUDE_SKILL_DIR}/references/mrmc_reader_study_sample_size.md`.

  • **Test 15 — Segmentation-metric precision (Dice / HD95 / NSD).** The outcome is a per-case score,

not a proportion: `n ≈ (1.96·SD/δ)²` from the pilot SD of per-case Dice, sized on the worst structure; CI by patient-level bootstrap (BCa). This is precision; a comparison is Test 16. Read `${CLAUDE_SKILL_DIR}/references/segmentation_metric_sample_size.md`.

  • **Test 16 — Between-model comparison.** Model A beats B, C, …: pow
Read more
Ships withmedsci-skills

Created & maintained by Yoojin Nam, MD Department of Radiology and Research Institute of Radiology, University of Ulsan College of Medicine, Asan Medical Center, Seoul, Republic of Korea MedSci Skills is a set of Agent Skills for clinical research: literature

Get the whole plugin

Other skills on medsci-skills.