Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design clinical studies and report using CONSORT, STROBE guidelines
.claude/skills/brycewang-stanford-clinical-research-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 99% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 142% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 55% | 0% |
| case-10 | ✓→✓ | = Same ✓ | 200% | 0% |
| case-11 | ✓→✓ | = Same ✓ | 234% | 0% |
A skill for designing clinical studies and reporting results according to established guidelines. Covers randomized controlled trials (CONSORT), observational studies (STROBE), diagnostic studies (STARD), and systematic reviews (PRISMA).
Systematic Reviews / Meta-analyses
|
Randomized Controlled Trials (RCTs)
|
Cohort Studies (prospective)
|
Case-Control Studies
|
Cross-Sectional Studies
|
Case Reports / Case Series
|
Expert Opinion
Choose the design that best answers your research question
given ethical, practical, and resource constraints.pythondef select_study_design(research_question: str, can_randomize: bool, outcome_prevalence: str, time_constraint: str) -> dict: """ Guide selection of clinical study design. Args: research_question: The clinical question can_randomize: Whether randomization is ethical and feasible outcome_prevalence: 'common' or 'rare' time_constraint: 'short', 'medium', or 'long' """ if can_randomize: design = { "recommended": "Randomized Controlled Trial (RCT)", "reporting": "CONSORT 2010", "strengths": "Strongest causal inference", "considerations": [ "Need equipoise (genuine uncertainty about which is better)", "Blinding may or may not be feasible", "Intent-to-treat analysis is the primary approach", "Pre-register at ClinicalTrials.gov or ISRCTN" ] } elif outcome_prevalence == "rare": design = { "recommended": "Case-Control Study", "reporting": "STROBE", "strengths": "Efficient for rare outcomes", "considerations": [ "Select controls carefully (matching, population-based)", "Recall bias is a major threat", "Can only calculate odds ratios, not incidence" ] } elif time_constraint == "short": design = { "recommended": "Cross-Sectional Study", "reporting": "STROBE (cross-sectional extension)", "strengths": "Quick, inexpensive, good for prevalence", "considerations": [ "Cannot establish temporal sequence", "Prevalence bias (overrepresents chronic conditions)", "Useful for hypothesis generation" ] } else: design = { "recommended": "Prospective Cohort Study", "reporting": "STROBE", "strengths": "Can establish temporal sequence, multiple outcomes", "considerations": [ "Loss to follow-up is the main threat", "Confounding must be addressed analytically", "Expensive and time-consuming" ] } return design
Title and Abstract:
- Identify as randomized trial in the title
- Structured abstract with trial design, methods, results, conclusions
Methods:
- Trial design (parallel, crossover, factorial, etc.)
- Participants: Eligibility criteria, settings, locations
- Interventions: Precise details of interventions for each group
- Outcomes: Primary and secondary, how and when assessed
- Sample size: Calculation with assumptions stated
- Randomization: Sequence generation, allocation concealment
- Blinding: Who was blinded, how blinding was maintained
Results:
- CONSORT flow diagram (enrollment, allocation, follow-up, analysis)
- Baseline demographic table (Table 1)
- Primary outcome with effect size and confidence interval
- Harms and adverse events
Discussion:
- Limitations including sources of potential bias
- Generalizability
- Interpretation consistent with results Assessed for eligibility (n=...)
|
Excluded (n=...)
- Not meeting criteria (n=...)
- Declined to participate (n=...)
- Other reasons (n=...)
|
Randomized (n=...)
/ \
Allocated to Allocated to
intervention (n=...) control (n=...)
| |
Lost to follow-up Lost to follow-up
(n=..., reasons) (n=..., reasons)
| |
Analyzed (n=...) Analyzed (n=...)
Excluded from analysis Excluded from analysis
(n=..., reasons) (n=..., reasons)Study design specific items:
Cohort:
- Report follow-up time (person-years, median)
- Report loss to follow-up with reasons
- Use hazard ratios or incidence rate ratios
Case-Control:
- Describe case definition and case ascertainment
- Describe control selection (source, matching criteria)
- Report odds ratios with confidence intervals
Cross-Sectional:
- Report response rate and non-response analysis
- Describe how the sample represents the target population
- Report prevalence with confidence intervalspythondef power_analysis_rct(effect_size: float, alpha: float = 0.05, power: float = 0.80, ratio: float = 1.0) -> dict: """ Calculate required sample size for a two-arm RCT. Args: effect_size: Expected Cohen's d alpha: Significance level (two-sided) power: Desired statistical power ratio: Allocation ratio (control:treatment) """ from scipy import stats import math z_alpha = stats.norm.ppf(1 - alpha / 2) z_beta = stats.norm.ppf(power) n_per_arm = math.ceil( ((z_alpha + z_beta) ** 2 * (1 + 1 / ratio)) / effect_size ** 2 ) return { "n_per_arm": n_per_arm, "total_n": n_per_arm + math.ceil(n_per_arm * ratio), "parameters": { "effect_size": effect_size, "alpha": alpha, "power": power, "allocation_ratio": f"1:{ratio}" }, "note": "Add 10-20% for anticipated dropout" }
| Guideline | Study Type | Checklist Items | |-----------|-----------|-----------------| | CONSORT | Randomized trials | 25 items + flow diagram | | STROBE | Observational studies | 22 items | | STARD | Diagnostic accuracy studies | 30 items | | PRISMA | Systematic reviews | 27 items + flow diagram | | TRIPOD | Prediction models | 22 items | | SPIRIT | Trial protocols | 33 items | | CARE | Case reports | 13 items |
All checklists are available at the EQUATOR Network (equator-network.org). Most journals require submission of the relevant checklist with your manuscript. Completing the checklist during manuscript writing, not after, ensures comprehensive reporting.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | pass→pass | 18,229 | 16,675 | -9% | 1 | 1 | 0% | 2,824 | 4,374 | +55% | 0 | 0 | — |
case-10 | pass→pass | 5,514 | 6,766 | +23% | 1 | 1 | 0% | 969 | 2,905 | +200% | 0 | 0 | — |
case-11 | pass→pass | 4,698 | 4,633 | -1% | 1 | 1 | 0% | 754 | 2,515 | +234% | 0 | 0 | — |
case-01 | fail→pass | 11,891 | 19,449 | +64% | 1 | 1 | 0% | 2,236 | 4,456 | +99% | 0 | 0 | — |
case-02 | pass→pass | 13,653 | 13,501 | -1% | 1 | 1 | 0% | 2,274 | 3,888 | +71% | 0 | 0 | — |
case-03 | pass→pass | 7,212 | 7,745 | +7% | 1 | 1 | 0% | 1,164 | 2,863 | +146% | 0 | 0 | — |
case-04 | pass→pass | 12,062 | 9,678 | -20% | 1 | 1 | 0% | 1,655 | 3,292 | +99% | 0 | 0 | — |
case-05 | pass→pass | 11,801 | 13,020 | +10% | 1 | 1 | 0% | 1,959 | 3,713 | +90% | 0 | 0 | — |
case-06 | pass→pass | 8,155 | 11,544 | +42% | 1 | 1 | 0% | 1,251 | 3,537 | +183% | 0 | 0 | — |
case-07 | pass→pass | 5,841 | 4,371 | -25% | 1 | 1 | 0% | 1,014 | 2,474 | +144% | 0 | 0 | — |
case-08 | pass→pass | 15,718 | 14,187 | -10% | 1 | 1 | 0% | 2,638 | 4,169 | +58% | 0 | 0 | — |
case-12 | pass→pass | 3,834 | 4,040 | +5% | 1 | 1 | 0% | 654 | 2,393 | +266% | 0 | 0 | — |
case-13 | pass→pass | 5,838 | 5,291 | -9% | 1 | 1 | 0% | 976 | 2,479 | +154% | 0 | 0 | — |
case-14 | fail→pass | 8,062 | 9,066 | +12% | 1 | 1 | 0% | 1,338 | 3,244 | +142% | 0 | 0 | — |
case-15 | pass→pass | 13,609 | 8,989 | -34% | 1 | 1 | 0% | 2,287 | 3,158 | +38% | 0 | 0 | — |
case-16 | pass→pass | 9,264 | 6,912 | -25% | 1 | 1 | 0% | 1,560 | 2,840 | +82% | 0 | 0 | — |
case-17 | pass→pass | 16,103 | 18,632 | +16% | 1 | 1 | 0% | 3,291 | 5,566 | +69% | 0 | 0 | — |
case-18 | pass→pass | 2,743 | 4,591 | +67% | 1 | 1 | 0% | 438 | 2,390 | +446% | 0 | 0 | — |
case-19 | fail→fail | 15,453 | 14,081 | -9% | 1 | 1 | 0% | 2,547 | 4,119 | +62% | 0 | 0 | — |
case-20 | pass→pass | 10,955 | 10,285 | -6% | 1 | 1 | 0% | 1,926 | 3,494 | +81% | 0 | 0 | — |
case-21 | pass→pass | 4,443 | 3,777 | -15% | 1 | 1 | 0% | 740 | 2,310 | +212% | 0 | 0 | — |
case-22 | pass→pass | 3,944 | 5,400 | +37% | 1 | 1 | 0% | 655 | 2,724 | +316% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.