Ab Test Setup logo

Ab Test Setup

CommunityPopular
sickn33
ab-test-setup

Use when designing an A/B or split test: define the hypothesis, control and variants, estimate sample size, verify tracking, and predeclare metrics and stopping rules.

Overview

Publishersickn33
Repositoryagentic-awesome-skills
Skill nameab-test-setup
Stars
46.5K
Forks
6.8K
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by sickn33 on GitHub. Read the source before you install it.

Installation

Install the Ab Test Setup AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git /tmp/agentic-awesome-skills
mkdir -p .claude/skills
cp -r /tmp/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/ab-test-setup .claude/skills/ab-test-setup
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ab Test Setup in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ab Test Setup on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ab Test Setup is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

A/B Test Setup

1️⃣ Purpose & Scope

Define an experiment that can answer a specific product question, and verify its assumptions before exposing users. This procedure cannot guarantee validity by itself.

  • Documents the stopping rule
  • Estimates sample needs under stated assumptions
  • Makes the hypothesis and decision criteria reviewable

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)

Use the hypothesis already agreed in the task. If a launch-critical choice is missing, present the concrete choice for confirmation while continuing independent analysis. Do not repeatedly request approval for a decision already authorized.


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 alpha (often 0.05, corresponding to 95% confidence)
  • Statistical power (typically 80%)

Estimate:

  • Required sample size per variant
  • Expected test duration

Do NOT proceed without a realistic sample size estimate.


Tracking Verification (Required before Gate 8)

Before entering the Execution Readiness Gate below, run through this checklist to make "Tracking is verified" mean something concrete:

  1. Event firing: Trigger each event the primary and secondary metrics depend on (sign-up, add-to-cart, custom event) on staging or a debug page, and confirm it arrives within that pipeline’s documented latency; record the observed delay.
  2. Variant attribution: Verify that the variant assignment ID is attached to every fired event — not just the entry event. Use your analytics' raw event view to compare a sample of 5+ events per variant.
  3. De-duplication: Confirm that a user reloading the page does not cause double-counted events. Use a stable event/transaction ID and document cross-client/server deduplication; a variant label alone is not a unique event key.
  4. Sample randomization: Check sample-ratio mismatch against the configured allocation with a pre-specified statistical check and adequate records. A fixed ±5% band on 100 records is not a valid universal randomization test. Inspect assignment stability, unit independence and missing exposure records.
  5. Guardrail metric pipeline: Each guardrail metric defined in §6️⃣ must have a working dashboard or alert by the time the test launches.

If any of the above fails, stop and resolve it before Gate 8.


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

ResultAction
Significant positiveConsider rollout
Significant negativeReject variant, document learning
InconclusiveReport uncertainty; use the pre-specified continuation rule or design a new test
Guardrail failureDo 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

When to Use

Use when a product change has enough eligible traffic for a randomized comparison and a measurable outcome. For low-volume launches or qualitative discovery, consider usability research or descriptive measurement instead of claiming causal lift.

Sample-size calculation example

For an illustrative binary metric, estimate the per-variant sample for a change from 10% to 11% (one percentage point, 10% relative lift), 50/50 allocation, two-sided alpha 0.05 and power 0.80. This Python 3 large-sample approximation uses Cohen's proportion effect size:

python
from math import asin, ceil, sqrt
from statistics import NormalDist

baseline, variant = 0.10, 0.11  # illustrative assumptions, not measured data
alpha, power = 0.05, 0.80
h = abs(2 * asin(sqrt(variant)) - 2 * asin(sqrt(baseline)))
z = NormalDist()
per_variant = ceil(2 * (z.inv_cdf(1 - alpha / 2) + z.inv_cdf(power)) ** 2 / h ** 2)
print(per_variant)

Expected output: 14745 observations per variant for these assumptions.

This calculation assumes independent units, one binary outcome, a fixed horizon and no multiplicity adjustment. It is inappropriate for clustered or repeated observations, sequential decisions or continuous revenue metrics. Account for eligible traffic, attrition, outcome delay and the sampling unit before turning a sample estimate into calendar duration. Equal assumed rates have zero effect size and no finite sample for detecting that difference.

Worked example

text
Observation: users abandon a long signup form.
Change: remove one optional field; unit: account; allocation: 50/50 and stable.
Primary metric: completed signup / eligible assigned accounts within 24 hours.
Guardrails: validation failures and support requests.
Before launch: estimate sample needs from baseline and MDE, verify exposure and
completion IDs, define analysis window and stopping rule.
Expected report: counts, absolute/relative effect, interval, data-quality checks,
guardrail results and a decision with its limits; never just “p < 0.05, ship”.

Limitations

  • Clustered users, spillovers and repeated observations can invalidate independent-sample calculations.
  • Sequential monitoring needs a planned sequential method; fixed-horizon significance does not authorize repeated peeking.
  • A tracking gap or sample-ratio mismatch can invalidate inference despite a favorable primary metric.
  • This skill does not activate flags, publish variants or establish regulatory compliance automatically.

Frequently asked questions

What does the Ab Test Setup AI skill do?

Use when designing an A/B or split test: define the hypothesis, control and variants, estimate sample size, verify tracking, and predeclare metrics and stopping rules.

Why use Ab Test Setup on TypingMind?

Because you install it once and use it with any model. Ab Test Setup is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ab Test Setup in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sickn33/agentic-awesome-skills/tree/main/plugins/agentic-awesome-skills-claude/skills/ab-test-setup. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ab Test Setup?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ab Test Setup?

As many as you like. As long as a model supports skills, you can use Ab Test Setup with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ab Test Setup AI skill free?

Yes. It is published on GitHub by sickn33 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇