CRO SKILL

A/B test design

Design an A/B test that can be trusted, then run testing as a programme: hypothesis framework, sample-size table, metrics selection, allocation, the peeking problem, ICE prioritisation and a winners’ playbook.

No key, no account neededClaude CodeCursorCodexWindsurfany agent that reads SKILL.md

Install this skill
npx skills add addition-labs/skills --skill ab-testing

Run this in a terminal inside your project folder. Claude Code, Cursor and Codex then read the skill from where it lands.

  1. Step 01Open a terminal in your project folder
  2. Step 02Paste the command and press Enter
  3. Step 03Pick the agents to install to
  4. Step 04Ask the agent for the job; it reads the skill

ab-testingaddition-labs/skillsMIT licencev2.0.0updated 2026-09-05

The first half is one test done properly: a hypothesis with a because-clause, one variable, a pre-determined sample size from a quick-reference table (a 3% baseline needs about 47,000 per variant to detect a 10% lift), primary plus secondary plus guardrail metrics, and no peeking.

The second half is the programme: hypothesis sources, ICE scoring, velocity targets (four to eight experiments a month, 20 to 30% win rate), a playbook entry format for winners, and a weekly-biweekly-monthly-quarterly cadence.

It is the general-purpose testing skill. For the harder cases (ratio metrics, interaction effects, sequential testing, what not to test) the experiment-design skill beside it goes deeper.

When to use it

The phrases that trigger it

Say any of these and an agent that has the skill installed will usually load it; you can also call it by name. The phrases are the skill’s own, from its description.

  • A/B test
  • split test
  • experiment
  • statistical significance
  • how long should I run this test
  • experiment velocity
  • ICE score
  • experimentation program

What’s inside

The playbook, section by section

  • The hypothesis structure

    Because [observation], we believe [change] will cause [outcome] for [audience]; we will know when [metric].

  • Sample-size quick reference

    Baselines of 1, 3, 5 and 10% against lifts of 10, 20 and 50%, with links to Evan Miller’s and Optimizely’s calculators.

  • Three metric tiers

    One primary that calls the test, secondaries that explain it, guardrails that stop it.

  • The peeking problem

    Stopping early on an interim look inflates false positives; pre-commit to the sample size and trust the process.

  • The experiment loop and ICE

    Generate, prioritise (impact, confidence, ease, averaged), run, analyse, promote winners to a playbook, repeat.

  • A playbook entry

    Date, hypothesis, sample, result with confidence interval and p-value, guardrails, segment deltas, why it worked, the reusable pattern, where else to apply it.

Reference files the agent loads on demand

2 files in the skill folder, read only when an instruction calls for one.

sample-size-guide.md
How to size a test and set its duration from the baseline rate and the effect you want to detect.
test-templates.md
Templates for planning, documenting and analysing an experiment.

See it in action

One real run, in full

The request on the left went to the skill as installed. On the right is everything it returned, unedited; scroll inside the box to read it all.

You ask

We want to A/B test the hero headline on https://addition-labs.com/services/seo. Honest situation: we do not have traffic numbers yet (analytics goes live this month) and enquiries are a handful a month. Design the test if it can be designed, or tell us what it would take and what to do instead.

The skill delivers

A/B Test Assessment: Hero headline, addition-labs.com/services/seo

Initial assessment

No product marketing context file was found (.agents/product-marketing.md, .claude/product-marketing.md, or product-marketing-context.md), so this works only from your request and the live page.

Test context. Change under consideration: the hero headline. The page today (fetched 2026-09-11) renders the H1 as a small label plus a statement:

> Search Engine Optimization > Pages people want to read, that search engines can read too.

Subhead: "We build pages a buyer enjoys using, structured so Google and AI systems read them the same way. Every page with one clear job." Primary hero CTA: "Send me AI & SEO Audit" (a free search and AI check form). You have not yet said *why* you want to change the headline or what the alternative would be, so there is no hypothesis to test yet (see Open questions).

Current state. Baseline conversion rate: unknown. Traffic to this page: unknown (analytics goes live this month). Enquiries: "a handful a month". Whether that handful is site-wide or from this page alone is not stated; if it is site-wide, the number for this page is smaller.

Constraints. Testing tool: not stated. Timeline: not stated.

Verdict: this test cannot be designed yet

A valid A/B test needs a pre-committed sample size, and the sample size depends on two numbers you do not have: the baseline conversion rate and the page's traffic. But the enquiry count alone is enough to settle the question, because a conversion test is limited by conversions, not by visitors.

What it takes to detect a headline effect (95% confidence, 80% power, two variants). These are the skill's standard inputs, calculated with the standard two-proportion formula; they hold at any baseline rate in the 1 to 10 percent range:

Effect you want to detectEnquiries needed in the control arm aloneTotal enquiries across both arms, roughly
+10% (a typical headline win)about 1,500about 3,000
+20%about 400about 900
+50%about 75about 190
+100% (a doubling)about 22about 65

Against "a handful a month". Take a handful as 3 to 8 enquiries a month for the whole page, so 1.5 to 4 per arm. The smallest detectable effect in the table, a doubling, needs 22 in the control arm: 6 to 15 months at that rate. A +50% effect needs 75: 19 to 50 months. The skill's maximum test duration is 4 to 8 weeks (novelty effects wear off, external factors intervene, and here the whole business changes in the meantime). Nothing on this table fits inside that window, and the realistic headline effect is the top row, not the bottom.

The same conclusion, expressed as the traffic you would need. To finish a two-arm test on the enquiry metric in 8 weeks:

Baseline enquiry rateDetect +50%Detect +100%
1%about 280 visitors a day to this pageabout 85 a day
3%about 90 a dayabout 27 a day
5%about 55 a dayabout 16 a day

Once analytics is live you can check which row you are on. If the page is not near those daily numbers, the answer stays no.

One more reason not to run it now. With analytics launching this month there is no verified tracking on either variant, and "tracking verified" is a pre-launch gate in this skill, not an optional step. A test started before the tracking has been watched for a few weeks would be testing the instrumentation as much as the headline.

What to do instead (in order)

The sample size guide lists the options when requirements are too high: increase the MDE, reduce variants, combine traffic, test upstream, or don't test and decide from qualitative data. Applied to your situation:

1. Establish the baseline first (this month). Let analytics run for at least 4 weeks, ideally 8, before touching the headline. Record for this page: daily visitors, hero CTA clicks ("Send me AI & SEO Audit"), audit form starts, audit form submits, and enquiries. Those numbers decide everything below. Changing the headline while the baseline is being measured contaminates the baseline.

2. Move the metric upstream. Enquiries will never carry a headline test at this volume. The hero CTA click and the audit form submit are the same visitor decision, several steps earlier, and happen many times more often than an enquiry. A headline test measured on "hero CTA click rate" is the only version of this test that could ever reach sample size on this page. It is a weaker proxy (a click is not a client), so keep enquiries as a guardrail metric and check the direction agrees.

3. Combine traffic, if the hero pattern is shared. The page links to eleven sub-service pages (SEO Audit, SEO Content, Technical SEO, Link Building, and so on). If those use the same hero structure and the headline change is a pattern (for example, "buyer-outcome statement" vs "capability statement") rather than SEO-specific wording, run the same variant across all of them and pool the traffic. This is the skill's "combine traffic across similar pages" option and is usually the biggest single multiplier a low-traffic site has.

4. Decide qualitatively for now, and write the decision down. Until the numbers exist, choose the headline the way the skill's hypothesis framework demands: from an observation, not a preference. Sources that work at zero traffic: sales call notes (what prospects say they came for), the three "sentences we hear" already on the page, competitor hero lines, and five-second tests with people in the target role (show the hero for five seconds, ask "what does this company do and for whom"). Ship the better one as a plain change, log it in a hypothesis bank with the date, and treat the before/after in analytics as a signal, not a result.

5. Do not run a "small" test to see what happens. A test that cannot reach sample size will end in one of two ways: inconclusive (learned nothing, spent weeks) or a false winner from noise (learned something wrong). The skill's peeking rule exists for exactly this case.

The test, ready for when it becomes possible

Pre-filled from what is known; blanks are yours.

# A/B Test: SEO service page hero headline

## Hypothesis
Because [observation: what do prospects say, or what does the baseline show?],
we believe [the new headline, exact wording]
will cause [more hero CTA clicks / audit requests]
for [first-time visitors to /services/seo, from search / from ads / all].
We'll know this is true when hero CTA click rate rises by at least [MDE]%.

## Test design
| Element | Details |
|---|---|
| Test type | A/B (one variant; A/B/n raises the sample requirement about 1.5x) |
| What varies | The headline statement only. The "Search Engine Optimization" label, subhead, CTA and everything below stay identical. |
| Primary metric | Hero CTA click rate (clicks on "Send me AI & SEO Audit" / page views) |
| Secondary | Audit form submit rate; scroll depth to the "Hard problems" block |
| Guardrails | Enquiries per week (should not fall); bounce rate |
| Baseline | [from analytics, after 4 to 8 weeks] |
| MDE | [smallest lift worth the change; below 20% is unrealistic at this traffic] |
| Sample per variant | [from the skill's table at that baseline and MDE] |
| Duration | Sample x 2 / daily page visitors = [days]; minimum 2 full weeks (B2B weekday pattern), maximum 8 |
| Allocation | 50/50, sticky per visitor |
| Tool | [not stated; client-side tools such as PostHog or VWO fit a static marketing page; watch for flicker on the H1] |

## Success criteria
Winner: primary metric up by at least MDE at 95% confidence, guardrails flat.
Loser: primary metric down significantly; keep control, record why.
Inconclusive: sample reached, no significant difference; keep control, next test must be bolder.

Open questions

The skill asks these before designing a test. Your message answers some; the rest are still open:

  1. Current conversion rate: unknown until analytics runs. What is the conversion you care about here, the enquiry or the audit request?
  2. Traffic to this page: unknown. When analytics is live, what is the daily visitor count to /services/seo, and where does it come from (organic, ads, direct)?
  3. What headline change are you considering, and what observation prompted it? Without this there is no hypothesis, only a preference.
  4. What is the smallest improvement that would justify changing the headline? (Anything under +20% will not be detectable here for a long time.)
  5. What tools do you have for testing? Is there a testing tool in place, or only analytics?
  6. Have you changed or tested this hero before, and what happened?
  7. Is "a handful of enquiries a month" for the whole site or for this page?

What this run could not do

It had no baseline conversion rate, page traffic, proposed variant, minimum detectable effect, testing tool or prior test history, so it gave the verdict conditionally and listed those six as open questions. "A handful a month" was read as 3 to 8 and labelled an interpretation.

Method behind it

Where we would differ, and why

Our A/B testing guide reproduces the sample-size arithmetic with worked store examples and shows why most ecommerce sites below a few thousand orders a month cannot detect the lifts they hope for. The skill designs the test; the guide tells you whether your traffic can carry it.

The analysis section reads 95% significance as "less than 5% chance the result is random". That is the common misreading of a p-value; the correct statement is the probability of data at least this extreme if there were no effect. The experiment-design skill states it more carefully.

The sample-size table in the skill body and the tables in its own reference file disagree by about 2.5x for the same inputs (1% baseline, 10% lift: 150k per variant in the body, 380k in the reference). The body matches the standard two-sided 95%/80% calculation; the reference does not say what inputs it used. Use the body, or a calculator.

Velocity targets of four to eight experiments a month assume traffic most stores do not have. Our compounding rule is one well-researched change a week; the number that matters is the research behind each, not the count.

What is A/B testing? How to run a test

Addition’s own summary. Microsoft writes that “every analysis that is part of an ongoing A/B test using ExP first needs to pass this test before we reveal the actual results.” A store without that gate is not running fewer broken tests, it is finding out about fewer of them.From What is A/B testing? How to run a test

SKILL.md

The file the agent reads

Written by Corey Haines and published under the MIT licence. Read the full file (1,664 words) on GitHub, at the commit we reviewed: coreyhaines31/marketingskills/skills/ab-testing/SKILL.md. The reference files are in the same folder.

Questions

Questions people ask before installing

What if I do not have enough traffic?

The skill’s table will show you: at a 1% baseline, a 10% lift needs 150,000 visitors per variant. Its advice for that case is a bolder change or more traffic; ours is to fix the obvious without a test and reserve testing for changes that could double the rate.

Client-side or server-side?

Client-side is fast and can flicker; server-side needs a developer and does not. The skill lists both with tools.

How is ICE different from PXL?

ICE averages impact, confidence and ease. PXL, which we use, weights page importance, ease and learning value. Either works if you re-score monthly.