Best for
- Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence.
JasonColapietro/suede-creator-skills/skills/suede-ab-testing/SKILL.md
Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).
Decision brief
Use this Suede experimentation playbook to design tests that produce statistically valid, actionable results.
In this controlled same-task single run, enabling suede-ab-testing changed the output from 2570 non-whitespace characters and 13 headings to 2508 characters and 11 headings. Matches among 8 signals extracted from the pinned source changed from 2 to 1. Both actual outputs are shown; this is a structural observation, not a quality score or a universal performance claim.
Create a test strategy and representative test cases for a JSON API schema comparison feature. Include failure cases and a clear verification procedure. The deliverable must specifically reflect this user intent: Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

Baseline: 2570 non-whitespace characters, 13 headings, and 62 list items.

With Skill: 2508 non-whitespace characters, 11 headings, and 53 list items.
| Observation | Without Skill | With Skill |
|---|---|---|
| Source-signal coverage | 2/8: suede, hypothesis | 1/8: suede |
| Output structure | 2570 chars · 13 headings · 62 list items · 0 code blocks | 2508 chars · 11 headings · 53 list items · 0 code blocks |
| Verification and caution signals | 21 verification signals · 16 risk/limitation signals | 14 verification signals · 13 risk/limitation signals |
Use the suede-ab-testing Skill pinned at b4d59704fa98 for my task. Follow its source-specific constraints around `suede-ab-testing`, `suede`, `setup`, `initial`, then return the finished deliverable with explicit assumptions, verification, failure conditions, and limits. Do not treat the Skill text as a factual source or claim that a single demonstration proves universal performance.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill "skills/suede-ab-testing"Inspect the Agent Skill "suede-ab-testing" from https://github.com/JasonColapietro/suede-creator-skills/blob/9079a7a31bdcb242ff44409cbe6e53ca34502982/skills/suede-ab-testing/SKILL.md at commit 9079a7a31bdcb242ff44409cbe6e53ca34502982. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Check for .agents/product-marketing.md (or .claude/product-marketing.md, or the legacy product-marketing-context.md) and read it if present — baseline conversion rate, traffic volume, and available tooling decide whether a test is even powerable, and they are usually already wri…
JavaScript modifies page after load
Two carve-outs, and only these two:
Weak: "Changing the button color might increase clicks."
Review the “Structure” section in the pinned source before continuing.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 100/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 152 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | tested outcome page | Tested | Generated or reviewed according to the visible evidence level |
Pinned source
Use this Suede experimentation playbook to design tests that produce statistically valid, actionable results.
Predeclare three things before a test launches — sample per variant,
minimum duration, and the decision rule — and read the result only once
all three are satisfied. A result read before then is preliminary.
Never a winner.
Two carve-outs, and only these two:
Check for .agents/product-marketing.md (or .claude/product-marketing.md, or the legacy product-marketing-context.md) and read it if present — baseline conversion rate, traffic volume, and available tooling decide whether a test is even powerable, and they are usually already written down there.
Then work the intake list under Task-Specific Questions below; ask only what the context file did not already answer.
Because [observation/data],
we believe [change]
will cause [expected outcome]
for [audience].
We'll know this is true when [metrics].
Weak: "Changing the button color might increase clicks."
Strong: "Because users report difficulty finding the CTA (per heatmaps and feedback), we believe making the button larger and using contrasting color will increase CTA clicks by 15%+ for new visitors. We'll measure click-through rate from page view to signup start."
| Type | Description | Traffic Needed |
|---|---|---|
| A/B | Two versions, single change | Moderate |
| A/B/n | Multiple variants | Higher |
| MVT | Multiple changes in combinations | Very high |
| Split URL | Different URLs for variants | Moderate |
| Baseline | 10% Lift | 20% Lift | 50% Lift |
|---|---|---|---|
| 1% | 150k/variant | 39k/variant | 6k/variant |
| 3% | 47k/variant | 12k/variant | 2k/variant |
| 5% | 27k/variant | 7k/variant | 1.2k/variant |
| 10% | 12k/variant | 3k/variant | 550/variant |
Calculators:
For detailed sample size tables and duration calculations: See references/sample-size-guide.md
| Category | Examples |
|---|---|
| Headlines/Copy | Message angle, value prop, specificity, tone |
| Visual Design | Layout, color, images, hierarchy |
| CTA | Button copy, size, placement, number |
| Content | Information included, order, amount, social proof |
| Approach | Split | When to Use |
|---|---|---|
| Standard | 50/50 | Default for A/B |
| Conservative | 90/10, 80/20 | Limit risk of bad variant |
| Ramping | Start small, increase | Technical risk mitigation |
Considerations:
Each box names the artifact that closes it. An unchecked box means the test is running unvalidated: any result it produces is reportable only as unverified, and a silently broken variant invalidates the entire run's traffic.
suede-analytics for the instrumentation and the readback)DO:
Avoid:
Looking at results before reaching sample size and stopping early leads to false positives and wrong decisions. Pre-commit to sample size and trust the process.
| Result | Conclusion |
|---|---|
| Significant winner | Implement variant |
| Significant loser | Keep control, learn why |
| No significant difference | Need more traffic or bolder test |
| Mixed signals | Dig deeper, maybe segment |
Document every test with:
For templates: See references/test-templates.md
Individual tests are valuable. A continuous experimentation program is a compounding asset. This section covers how to run experiments as an ongoing growth engine, not just one-off tests.
1. Generate hypotheses (from data, research, competitors, customer feedback)
2. Prioritize with ICE scoring
3. Design and run the test
4. Analyze results with statistical rigor
5. Promote winners to a playbook
6. Generate new hypotheses from learnings
→ Repeat
Feed your experiment backlog from multiple sources:
| Source | What to Look For |
|---|---|
| Analytics | Drop-off points, low-converting pages, underperforming segments |
| Customer research | Pain points, confusion, unmet expectations — use suede-customer-research to produce these |
| Competitor analysis | Features, messaging, or UX patterns they use that you don't — use suede-competitor-profiling to produce these |
| Support tickets | Recurring questions or complaints about conversion flows |
| Heatmaps/recordings | Where users hesitate, rage-click, or abandon |
| Past experiments | "Significant loser" tests often reveal new angles to try |
Score each hypothesis 1-10 on three dimensions:
| Dimension | Question |
|---|---|
| Impact | If this works, how much will it move the primary metric? |
| Confidence | How sure are we this will work? (Based on data, not gut.) |
| Ease | How fast and cheap can we ship and measure this? |
ICE Score = (Impact + Confidence + Ease) / 3
Run highest-scoring experiments first. Re-score monthly as context changes.
Track your experimentation rate as a leading indicator of growth:
| Metric | Target |
|---|---|
| Experiments launched per month | 4-8 for most teams |
| Win rate | 20-30% is common for mature programs (sustained higher rates may indicate conservative hypotheses) |
| Average test duration | 2-4 weeks |
| Backlog depth | 20+ hypotheses queued |
| Cumulative lift | Compound gains from all winners |
When a test wins, don't just implement it — document the pattern:
## [Experiment Name]
**Date**: [date]
**Hypothesis**: [the hypothesis]
**Sample size**: [n per variant]
**Result**: [winner/loser/inconclusive] — [primary metric] changed by [X%] (95% CI: [range], p=[value])
**Guardrails**: [any guardrail metrics and their outcomes]
**Segment deltas**: [notable differences by device, segment, or cohort]
**Why it worked/failed**: [analysis]
**Pattern**: [the reusable insight — e.g., "social proof near pricing CTAs increases plan selection"]
**Apply to**: [other pages/flows where this pattern might work]
**Status**: [implemented / parked / needs follow-up test]
Over time, your playbook becomes a library of proven growth patterns specific to your product and audience.
Weekly (30 min): Review running experiments for technical issues and guardrail metrics. Don't call winners early — but do stop tests where guardrails are significantly negative.
Bi-weekly: Conclude completed experiments. Analyze results, update playbook, launch next experiment from backlog.
Monthly (1 hour): Review experiment velocity, win rate, cumulative lift. Replenish hypothesis backlog. Re-prioritize with ICE.
Quarterly: Audit the playbook. Which patterns have been applied broadly? Which winning patterns haven't been scaled yet? What areas of the funnel are under-tested?
The failure this skill exists to prevent is calling a result early under pressure. When one of these lines shows up — from a stakeholder or from you — the answer is already in this file.
| Excuse | Reality |
|---|---|
| "It's already significant at 95%" | 95% is a threshold, not a guarantee. Significance checked before the predeclared sample is a peek, and peeking inflates false positives. Analysis Checklist item 1 still stands: preliminary. |
| "We've been running it two weeks" | Duration is one of three conditions, not the condition. Check n per variant against the sample-size table before reading anything. |
| "The trend is obvious" | Early trends reverse routinely — that is exactly what The Peeking Problem describes. An obvious trend at 30% of sample is a reason to wait, not to stop. |
| "Leadership needs an answer Friday" | Then report it as preliminary, with the sample reached and the stopped-early status disclosed (Boundaries). A stopped-early result sold as a winner is what costs credibility two quarters from now. |
| "The losing variant is clearly bad, why keep serving it" | Stopping for a significantly negative guardrail is legitimate (Experiment Cadence). But a stop for harm is a stop, not a winner call for the control. |
| "The mobile segment won" | A segment that was not predeclared is a hypothesis for the next test, not a result. Post-hoc segment selection manufactures significance out of noise. |
| "The numbers look fine, no need to re-check the build" | A variant can break silently mid-flight: a script fails, a flag flips, an event stops firing. Re-verify firing and variant rendering before reading the result, not only before launch. |
| "It didn't win, but the secondary metrics did" | Inconclusive is a result. Over-interpreting a null test is how a playbook fills with patterns that never replicate. |
| "Let's fold a few more changes into this one" | Multiple simultaneous changes cannot be isolated, and splitting traffic further pushes every arm below its required sample (see Designing Variants). |
suede-analytics.suede-site-alchemy.suede-copy.suede-attribution for incrementality and geo-holdout designs.suede-ab-testing.Frequently asked questions
Use this Suede experimentation playbook to design tests that produce statistically valid, actionable results.
The source record exposes this install command: npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill "skills/suede-ab-testing". Inspect the command and pinned source before running it.
Alternatives
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
rampstackco/claude-skills
Running experiments out of the data warehouse instead of via dedicated experiment platforms. SQL-based assignment, exposure logging discipline, metric definitions in dbt models, statistical analysis in SQL or Python, variance reduction with CUPED, sequential testing, and the operational tradeoffs vs platforms like Statsig and Optimizely. Triggers on warehouse-native experimentation, run experiments in BigQuery, run experiments in Snowflake, dbt experiments, SQL t-test, CUPED variance reduction,
alirezarezvani/claude-skills
When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.
travisjneuman/.claude
Verify statistics from raw data with methodology checking, significance testing, claim validation, and bias detection. Use when fact-checking statistical claims, validating research findings, or auditing data analysis.