ab-test-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ab-test-design (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use when the user is planning an experiment, not analyzing one. Triggers include:
If the user already has results, use ab-test-analysis instead.
Collect these before computing anything. If missing, ask.
| Input | Why it matters |
|---|---|
| Primary metric | Determines test type (proportion, mean, ratio) |
| Baseline rate or mean | Required for power calculation |
| Minimum detectable effect (MDE) | Sets sensitivity floor |
| Randomization unit | User, session, account, device |
| Expected daily exposure (units/day) | Determines runtime |
| Variant count (control + N treatments) | Affects multiple-comparison correction |
| Guardrail metrics | What must not regress |
scripts/sample_size.py. Default to alpha=0.05, power=0.80, two-sided.Produce a pre-registration block:
# Experiment Pre-Registration: <name>
## Hypothesis
Changing <X> will move <Y> by at least <Z>%, because <R>.
## Variants
- Control: <description>
- Treatment 1: <description>
- (Treatment 2: <description>)
## Randomization
- Unit: <user | session | account>
- Allocation: <e.g., 50/50, 33/33/33>
## Metrics
- Primary: <metric name, definition, source table>
- Secondary: <list>
- Guardrails: <list with thresholds>
## Power
- Baseline: <value>
- MDE: <value> (absolute / relative)
- Alpha: 0.05
- Power: 0.80
- Required sample per arm: <N>
- Expected daily exposure per arm: <N/day>
- Minimum runtime: <D days> (≥ 14 days to cover one weekly cycle)
## Stopping rules
- No peeking before <date>
- Stop early only on guardrail breach (specify threshold)
## Analysis plan
- Test: <z-test / t-test / Mann-Whitney / CUPED-adjusted>
- Subgroup analyses (pre-specified): <list or "none">Before finalizing, verify:
scripts/sample_size.py — Sample size calculator for proportion and mean tests.python scripts/sample_size.py --metric-type proportion --baseline 0.12 --mde 0.01 --alpha 0.05 --power 0.80
python scripts/sample_size.py --metric-type mean --baseline-mean 45.2 --baseline-std 18.4 --mde 2.0ab-test-analysis — read out results after the experiment runsmetric-definition — write precise specs for primary and guardrail metricscausal-inference — for situations where RCT isn't feasible~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.