ab-test-setup
Structured guide for setting up A/B tests with mandatory gates for hypothesis, metrics, and execution readiness.
Best use case
ab-test-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Structured guide for setting up A/B tests with mandatory gates for hypothesis, metrics, and execution readiness.
Teams using ab-test-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ab-test-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ab-test-setup Compares
| Feature / Agent | ab-test-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Structured guide for setting up A/B tests with mandatory gates for hypothesis, metrics, and execution readiness.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# A/B Test Setup ## 1️⃣ Purpose & Scope Ensure every A/B test is **valid, rigorous, and safe** before a single line of code is written. - Prevents "peeking" - Enforces statistical power - Blocks invalid hypotheses --- ## 2️⃣ Pre-Requisites You must have: - A clear user problem - Access to an analytics source - Roughly estimated traffic volume ### Hypothesis Quality Checklist A valid hypothesis includes: - Observation or evidence - Single, specific change - Directional expectation - Defined audience - Measurable success criteria --- ### 3️⃣ Hypothesis Lock (Hard Gate) Before designing variants or metrics, you MUST: - Present the **final hypothesis** - Specify: - Target audience - Primary metric - Expected direction of effect - Minimum Detectable Effect (MDE) Ask explicitly: > “Is this the final hypothesis we are committing to for this test?” **Do NOT proceed until confirmed.** --- ### 4️⃣ Assumptions & Validity Check (Mandatory) Explicitly list assumptions about: - Traffic stability - User independence - Metric reliability - Randomization quality - External factors (seasonality, campaigns, releases) If assumptions are weak or violated: - Warn the user - Recommend delaying or redesigning the test --- ### 5️⃣ Test Type Selection Choose the simplest valid test: - **A/B Test** – single change, two variants - **A/B/n Test** – multiple variants, higher traffic required - **Multivariate Test (MVT)** – interaction effects, very high traffic - **Split URL Test** – major structural changes Default to **A/B** unless there is a clear reason otherwise. --- ### 6️⃣ Metrics Definition #### Primary Metric (Mandatory) - Single metric used to evaluate success - Directly tied to the hypothesis - Pre-defined and frozen before launch #### Secondary Metrics - Provide context - Explain _why_ results occurred - Must not override the primary metric #### Guardrail Metrics - Metrics that must not degrade - Used to prevent harmful wins - Trigger test stop if significantly negative --- ### 7️⃣ Sample Size & Duration Define upfront: - Baseline rate - MDE - Significance level (typically 95%) - Statistical power (typically 80%) Estimate: - Required sample size per variant - Expected test duration **Do NOT proceed without a realistic sample size estimate.** --- ### 8️⃣ Execution Readiness Gate (Hard Stop) You may proceed to implementation **only if all are true**: - Hypothesis is locked - Primary metric is frozen - Sample size is calculated - Test duration is defined - Guardrails are set - Tracking is verified If any item is missing, stop and resolve it. --- ## Running the Test ### During the Test **DO:** - Monitor technical health - Document external factors **DO NOT:** - Stop early due to “good-looking” results - Change variants mid-test - Add new traffic sources - Redefine success criteria --- ## Analyzing Results ### Analysis Discipline When interpreting results: - Do NOT generalize beyond the tested population - Do NOT claim causality beyond the tested change - Do NOT override guardrail failures - Separate statistical significance from business judgment ### Interpretation Outcomes | Result | Action | | -------------------- | -------------------------------------- | | Significant positive | Consider rollout | | Significant negative | Reject variant, document learning | | Inconclusive | Consider more traffic or bolder change | | Guardrail failure | Do not ship, even if primary wins | --- ## Documentation & Learning ### Test Record (Mandatory) Document: - Hypothesis - Variants - Metrics - Sample size vs achieved - Results - Decision - Learnings - Follow-up ideas Store records in a shared, searchable location to avoid repeated failures. --- ## Refusal Conditions (Safety) Refuse to proceed if: - Baseline rate is unknown and cannot be estimated - Traffic is insufficient to detect the MDE - Primary metric is undefined - Multiple variables are changed without proper design - Hypothesis cannot be clearly stated Explain why and recommend next steps. --- ## Key Principles (Non-Negotiable) - One hypothesis per test - One primary metric - Commit before launch - No peeking - Learning over winning - Statistical rigor first --- ## Final Reminder A/B testing is not about proving ideas right. It is about **learning the truth with confidence**. If you feel tempted to rush, simplify, or “just try it” — that is the signal to **slow down and re-check the design**. ## When to Use This skill is applicable to execute the workflow or actions described in the overview.
Related Skills
wordpress-penetration-testing
This skill should be used when the user asks to "pentest WordPress sites", "scan WordPress for vulnerabilities", "enumerate WordPress users, themes, or plugins", "exploit WordPress vu...
conductor-setup
Configure a Rails project to work with Conductor (parallel coding agents)
elixir-testing
Elixir testing patterns: ExUnit, Mox behaviour-based mocking, StreamData property testing, Phoenix integration tests. Use when writing tests for Elixir/Phoenix applications.
web-security-testing
Web application security testing workflow for OWASP Top 10 vulnerabilities including injection, XSS, authentication flaws, and access control issues.
ssh-penetration-testing
This skill should be used when the user asks to "pentest SSH services", "enumerate SSH configurations", "brute force SSH credentials", "exploit SSH vulnerabilities", "perform SSH tu...
sqlmap-database-pentesting
This skill should be used when the user asks to "automate SQL injection testing," "enumerate database structure," "extract database credentials using sqlmap," "dump tables and columns...
sql-injection-testing
This skill should be used when the user asks to "test for SQL injection vulnerabilities", "perform SQLi attacks", "bypass authentication using SQL injection", "extract database inform...
smtp-penetration-testing
This skill should be used when the user asks to "perform SMTP penetration testing", "enumerate email users", "test for open mail relays", "grab SMTP banners", "brute force email cre...
pentest-commands
This skill should be used when the user asks to "run pentest commands", "scan with nmap", "use metasploit exploits", "crack passwords with hydra or john", "scan web vulnerabilities ...
pentest-checklist
This skill should be used when the user asks to "plan a penetration test", "create a security assessment checklist", "prepare for penetration testing", "define pentest scope", "foll...
idor-testing
This skill should be used when the user asks to "test for insecure direct object references," "find IDOR vulnerabilities," "exploit broken access control," "enumerate user IDs or obje...
html-injection-testing
This skill should be used when the user asks to "test for HTML injection", "inject HTML into web pages", "perform HTML injection attacks", "deface web applications", or "test conten...