Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

Experiment Design

  • 16 installs
  • 869 repo stars
  • Updated June 8, 2026
  • beita6969/scienceclaw

experiment-design is a Claude skill that designs scientific experiments and A/B tests with sample-size calculation, randomization, blinding, and study protocols.

About

This skill plans scientific experiments including sample-size calculation, randomization, control groups, blinding, and study protocols. It covers RCTs, quasi-experiments, factorial designs, A/B tests, and survey design. A developer or researcher uses it when designing a study or A/B test before collecting data.

  • Provides sample-size formulas for t-test, chi-square, and correlation
  • Includes a design-selection guide covering RCTs, A/B tests, and surveys
  • Ships a study-protocol template and bias-mitigation table

Experiment Design by the numbers

  • 16 all-time installs (skills.sh)
  • Ranked #1,318 of 2,065 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
At a glance

experiment-design capabilities & compatibility

Free; uses open Python statistical libraries.

Capabilities
experimental design · exploratory data analysis
Use cases
research · testing · data analysis
Pricing
Free
From the docs

What experiment-design says it does

Design scientific experiments including sample size calculation, randomization, control groups, blinding, and study protocols.
SKILL.md
Always justify sample size with power analysis
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill experiment-design

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs16
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/scienceclaw

What it does

Use it to design experiments and A/B tests: sample size, randomization, blinding, and full study protocols.

Who is it for?

Designing an experiment, A/B test, or survey and calculating its sample size.

Skip if: Analyzing collected data or executing the experiment.

When should I use this skill?

The user asks to design an experiment, calculate sample size, plan a study, or create a research protocol.

What you get

Delivers a study protocol with an appropriate design, sample size, and bias-mitigation plan.

  • Study protocol
  • Sample-size calculation
  • Bias-mitigation plan

By the numbers

  • 8-row design selection guide
  • 6-row bias mitigation table
  • 12-section protocol template

Files

SKILL.mdMarkdownGitHub ↗

Experiment Design

Scientific experiment planning, power analysis, and protocol development.

Design Selection Guide

Research QuestionRecommended Design
Does X cause Y?RCT (gold standard)
Does X cause Y? (can't randomize)Quasi-experiment, natural experiment
How do factors interact?Factorial design
Which version performs better?A/B test
What is the prevalence/association?Cross-sectional survey
How does outcome change over time?Longitudinal / cohort study
What is the lived experience?Qualitative (interviews, ethnography)
Does intervention work in practice?Pragmatic trial

Power Analysis & Sample Size

source /Users/zhangmingda/clawd/.venv/bin/activate
python3 << 'EOF'
from scipy import stats
import numpy as np

# --- Two-sample t-test ---
def sample_size_ttest(effect_size, alpha=0.05, power=0.80):
    """Cohen's d effect sizes: small=0.2, medium=0.5, large=0.8"""
    from scipy.stats import norm
    z_alpha = norm.ppf(1 - alpha/2)
    z_beta = norm.ppf(power)
    n = 2 * ((z_alpha + z_beta) / effect_size) ** 2
    return int(np.ceil(n))

# --- Chi-square test ---
def sample_size_chi2(effect_size, alpha=0.05, power=0.80, df=1):
    """Cohen's w effect sizes: small=0.1, medium=0.3, large=0.5"""
    from scipy.stats import norm, chi2
    z_beta = norm.ppf(power)
    z_alpha = norm.ppf(1 - alpha)
    n = ((z_alpha + z_beta) / effect_size) ** 2
    return int(np.ceil(n))

# --- Correlation ---
def sample_size_correlation(r, alpha=0.05, power=0.80):
    from scipy.stats import norm
    z_alpha = norm.ppf(1 - alpha/2)
    z_beta = norm.ppf(power)
    z_r = 0.5 * np.log((1+r)/(1-r))  # Fisher's z
    n = ((z_alpha + z_beta) / z_r) ** 2 + 3
    return int(np.ceil(n))

# Examples
print(f"t-test (d=0.5): n={sample_size_ttest(0.5)} per group")
print(f"t-test (d=0.3): n={sample_size_ttest(0.3)} per group")
print(f"Chi-square (w=0.3): n={sample_size_chi2(0.3)}")
print(f"Correlation (r=0.3): n={sample_size_correlation(0.3)}")
EOF

Key Design Principles

Controls

  • Positive control: Known to produce effect (validates method works)
  • Negative control: Known to produce no effect (validates baseline)
  • Placebo control: Inert treatment (controls for expectation effects)
  • Active control: Existing standard treatment (for superiority/non-inferiority)

Randomization

  • Simple: Coin flip / random number
  • Block: Ensures equal groups per block
  • Stratified: Randomize within strata (age, sex, severity)
  • Cluster: Randomize groups, not individuals

Blinding

  • Single-blind: Participants don't know assignment
  • Double-blind: Participants and researchers don't know
  • Triple-blind: Participants, researchers, and analysts don't know

Bias Mitigation

BiasMitigation
Selection biasRandom sampling, clear inclusion criteria
Allocation biasRandom assignment, concealed allocation
Performance biasBlinding, standardized protocols
Detection biasBlinded outcome assessment
Attrition biasITT analysis, minimize dropout
Reporting biasPre-registration, analysis plan

Study Protocol Template

# Study Protocol: [Title]

## 1. Background & Rationale
## 2. Objectives & Hypotheses
  - Primary: 
  - Secondary:
## 3. Study Design
  - Type: [RCT / quasi-experiment / observational / ...]
  - Duration:
## 4. Participants
  - Population:
  - Inclusion criteria:
  - Exclusion criteria:
  - Sample size: N = [calculated], power = 0.80, α = 0.05
## 5. Intervention / Exposure
## 6. Outcome Measures
  - Primary:
  - Secondary:
## 7. Randomization & Blinding
## 8. Data Collection Procedures
## 9. Statistical Analysis Plan
  - Primary analysis:
  - Secondary analyses:
  - Handling of missing data:
## 10. Ethical Considerations
  - IRB/Ethics approval:
  - Informed consent:
  - Data privacy:
## 11. Timeline
## 12. Budget

Pre-registration

Recommend pre-registration for confirmatory studies:

  • OSF: osf.io (general)
  • ClinicalTrials.gov: clinical trials
  • PROSPERO: systematic reviews
  • AsPredicted: aspredicted.org (quick)

Tips

  • Always justify sample size with power analysis
  • Pre-register hypotheses and analysis plan
  • Plan for 10-20% attrition in sample size calculation
  • Document all deviations from protocol
  • Consider pilot study for novel methods

Related skills

FAQ

Which designs does it cover?

RCTs, quasi-experiments, factorial designs, A/B tests, cross-sectional surveys, longitudinal/cohort studies, and qualitative designs.

What sample-size tests does it support?

Two-sample t-test, chi-square, and correlation, using scipy-based formulas.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.