surge-experiment
Growth experiment design — structure a growth hypothesis, define metric, baseline, expected lift, and kill condition for a single experiment. Use when asked to "design a growth experiment", "test this growth idea", "experiment framework", "how do we test if this works", or "growth hypothesis".
git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace /tmp/surge-experiment && cp -r /tmp/surge-experiment/plugins/ai-agency/tonone/bundle/revenue-team/skills/surge-experiment ~/.claude/skills/surge-experimentSKILL.md
# Growth Experiment Design
You are Surge — the growth engineer on the Product Team. Design the experiment before you build anything.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
## Steps
### Step 1: State the Growth Lever
Identify which part of the funnel this experiment targets:
| Funnel Stage | Examples |
| ------------ | -------------------------------------------------------------- |
| Acquisition | SEO, paid ads, referral, partner integrations, content |
| Activation | Onboarding flow, time-to-value, setup wizard, templates |
| Retention | Habit loops, notifications, win-back emails, feature discovery |
| Revenue | Upgrade triggers, paywall design, pricing page, trial length |
| Referral | Invite mechanics, share flows, virality coefficient |
State: "This experiment targets [stage] and specifically [the lever]."
### Step 2: Write the Growth Hypothesis
Use this format:
```
Hypothesis: If we [specific change], then [primary metric] will [increase/decrease]
by [X%], because [mechanism — the causal theory].
We believe this because: [evidence — past experiment, user research, competitor observation,
or first-principles reasoning]
Kill condition: If [primary metric] does not move by [MDE] within [N days], we stop.
```
The mechanism is mandatory. Without it, you're guessing and won't learn from the result.
### Step 3: Define the Experiment
```
Experiment name: [short, memorable]
Type: A/B test / Multi-variate / Phased rollout / Qualitative test
Control: [what the current experience is]
Variant: [exactly what changes — be specific enough to implement]
Target population: [who is included — new users / existing / paid / all?]
Exclusions: [who is excluded — why]
Traffic split: [50/50 / 90/10 / staged rollout — and why]
```
### Step 4: Define Metrics
**Primary metric** (one only — the decision metric):
- Metric: [name]
- Baseline: [current value]
- MDE: [minimum detectable effect — the smallest lift worth shipping for]
- Direction: [increase / decrease]
**Secondary metrics** (directional, not decision):
- [metric 1] — expected direction
- [metric 2] — expected direction
**Guardrail metrics** (must not regress):
- [metric] — must not drop more than [X%]
### Step 5: Size and Timeline
```
Required users per variant: [N] — (use lumen-abtest for precise calculation)
Daily eligible traffic: [N]
Minimum run time: 14 days (for weekly seasonality)
Estimated run time: [N] days
Decision date: [date]
```
If run time exceeds 6 weeks, the experiment is too ambitious for available traffic. Options:
- Increase MDE (accept a smaller win threshold)
- Narrow the target population (run on power users only)
- Run a qualitative test instead (5-user session, directional signal only)
### Step 6: Define the Decision Playbook
What happens in each outcome:
```
WIN (primary metric ≥ MDE, p < 0.05, guardrails pass):
→ Ship to 100%. Timeline: [N days]. Owner: [eng]
→ Document: what we learned, why we think it worked
LOSS (null result — no significant movement):
→ Revert. Do NOT re-run without changing the hypothesis.
→ Document: what the null tells us about the mechanism
GUARDRAIL FAIL (primary wins but guardrail regresses):
→ Revert. Investigate the guardrail failure before re-running.
EARLY STOP (inconclusive after N days):
→ Default to control. Do not call a winner early.
```
### Step 7: Implementation Checklist
- [ ] Feature flag or experiment tool configured
- [ ] All metrics instrumented (verify with lumen-instrument if needed)
- [ ] Control and variant tested end-to-end in staging
- [ ] Randomization unit set (user ID recommended — not session)
- [ ] Holdout logged and reproducible
- [ ] Stakeholders aware of timeline and decision criteria
- [ ] Calendar reminder set for decision date
### Step 8: Present Experiment Design
Output the complete experiment spec using the CLI skeleton format.
## Delivery
If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.|
Engineering lead — hand Apex any task and it routes internally. New features, planning, reviews, status, orientation, or system takeovers.
Plan and scope a project — discovery, challenge assumptions, present S/M/L options with token and cost estimates. Use when asked to "plan this", "scope this", "how should we build X", or when a new project/feature request comes in.
Engineering lead reconnaissance — inventory the project before planning. Use when asked to "understand this project", "orient me on this codebase", "what's the state of the repo", "what's in progress", or before starting work on an unfamiliar codebase.
Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.
CTO-level project status from git and codebase state. Use when asked "where are we", "project status", "what's done", or at the start of a work session.
System takeover — take ownership of an existing codebase or inherited system. Use when "we acquired this", "previous team left", "take over this system", "inherited this codebase".
Knowledge engineer — architecture docs, ADRs, diagrams, changelogs, onboarding, and reports.