ab-test-generator

Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version is better", "optimize conversions", "test my email subject line", "compare approaches".

39 stars

Best use case

ab-test-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version is better", "optimize conversions", "test my email subject line", "compare approaches".

Teams using ab-test-generator 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

$curl -o ~/.claude/skills/ab-test-generator/SKILL.md --create-dirs "https://raw.githubusercontent.com/InugamiDev/ultrathink-oss/main/.claude/skills/ab-test-generator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ab-test-generator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ab-test-generator Compares

Feature / Agentab-test-generatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version is better", "optimize conversions", "test my email subject line", "compare approaches".

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 Generator

Generate A/B test variants for affiliate content — headlines, CTAs, landing page sections, email subject lines, and social post hooks. Each variant includes a hypothesis explaining why it might outperform the original. Output is a Markdown document with the original, variants, hypotheses, and a test plan.

## Stage

S6: Analytics — Small changes in headlines and CTAs can swing conversion rates by 20-50%. A/B testing is how professional affiliates systematically find what converts best. This skill removes the guesswork by generating theory-driven variants using proven copywriting frameworks.

## When to Use

- User wants to improve conversion rates on existing content
- User has a headline, CTA, or email subject line and wants alternatives
- User says "test my headline", "optimize my CTA", "A/B test ideas"
- User has a landing page section that isn't converting
- User wants to compare different messaging approaches
- Chaining from S2-S5: take any content output and generate test variants

## Input Schema

```yaml
original: string               # REQUIRED — the content to test (headline, CTA, paragraph,
                               # email subject line, or full social post)

content_type: string           # REQUIRED — "headline" | "cta" | "landing_section"
                               # | "email_subject" | "social_hook"

goal: string                   # OPTIONAL — "clicks" | "signups" | "purchases"
                               # Default: "clicks"

num_variants: number           # OPTIONAL — number of variants to generate (2-5)
                               # Default: 3

audience: string               # OPTIONAL — who sees this content
                               # (e.g., "SaaS founders", "content creators")

product: string                # OPTIONAL — product being promoted
```

**Chaining context**: If S2-S5 content exists in conversation, the user can reference it: "test the headline from my blog post" or "generate CTA variants for my landing page."

## Workflow

### Step 1: Analyze Original Content

Break down the original into components:
- **Emotional angle**: What emotion does it trigger? (curiosity, fear, desire, urgency)
- **Specificity**: How specific vs vague?
- **Structure**: Question, statement, command, statistic?
- **Framework**: Which copywriting framework does it follow? (PAS, AIDA, 4U, BAB)

### Step 2: Identify Testable Elements

Determine what to vary:
- Emotional angle (switch from curiosity to urgency)
- Specificity (add numbers, remove vagueness)
- Structure (question vs statement)
- Length (shorter vs longer)
- Power words (swap key words for stronger alternatives)
- Social proof (add or remove)

### Step 3: Generate Variants

Create `num_variants` alternatives, each using a different approach:
- **Variant A**: Different emotional angle
- **Variant B**: Different structure/format
- **Variant C**: Different specificity level
- Additional variants explore social proof, urgency, or contrarian angles

Each variant must:
- Preserve the core message and product reference
- Preserve any FTC disclosure from the original
- Be a realistic alternative (not just a word swap)

### Step 4: Write Hypotheses

For each variant, explain:
- What was changed and why
- Which copywriting principle supports the change
- What behavior change is expected (e.g., "Higher CTR because questions create open loops")

### Step 5: Suggest Test Plan

Recommend:
- Sample size needed (minimum 100 impressions per variant for social, 500 for landing pages)
- Test duration (7-14 days minimum)
- What metric to track (CTR, conversion rate, revenue per visitor)
- When to declare a winner (95% statistical significance or practical significance threshold)

## Output Schema

```yaml
test:
  original: string
  content_type: string
  goal: string

variants:
  - label: string              # "Variant A", "Variant B", etc.
    content: string            # the variant text
    change: string             # what was changed
    framework: string          # copywriting principle used
    hypothesis: string         # why this might win

test_plan:
  sample_size: number          # per variant
  duration: string             # recommended test period
  metric: string               # what to measure
  winner_criteria: string      # when to pick a winner
```

## Output Format

1. **Original** — the current content being tested
2. **Variants** — each variant with its content, change description, and hypothesis
3. **Test Plan** — sample size, duration, metric, winner criteria
4. **Quick Win** — if one variant is clearly stronger based on copywriting principles, call it out

## Error Handling

- **Original too short (1-2 words)**: "I need more context. Paste the full headline, CTA, or email subject line you want to test."
- **Content type unclear**: "Is this a headline, CTA button text, email subject line, or social post hook? Knowing the format helps me generate better variants."
- **Too many variants requested (>5)**: "I'll generate 5 high-quality variants. More than 5 makes testing impractical — you'd need a very large audience to reach statistical significance."

## Examples

### Example 1: Blog headline test

**User**: "Test this headline: 'HeyGen Review: Is It Worth It in 2026?'"
**Action**: Generate 3 variants. Variant A: "I Tested HeyGen for 30 Days — Here's What Happened" (curiosity + personal experience). Variant B: "HeyGen vs Synthesia: Which AI Video Tool Wins?" (comparison + specificity). Variant C: "The AI Video Tool That Cut My Production Time by 80%" (result + specificity). Each with hypothesis.

### Example 2: CTA button test

**User**: "Optimize this CTA: 'Start Free Trial'"
**Action**: Variant A: "Try HeyGen Free — No Card Required" (reduces friction). Variant B: "Create Your First AI Video in 2 Minutes" (outcome-focused). Variant C: "Get Started Free →" (shorter, action-oriented). Test plan: minimum 500 clicks per variant, track conversion rate.

### Example 3: Email subject line test

**User**: "I'm sending an email about Semrush. Test this subject: 'Check out Semrush — it's great for SEO'"
**Action**: Identify weakness (vague, no hook). Variant A: "The SEO tool I use to rank #1 (not kidding)" (social proof + curiosity). Variant B: "Your competitors are using this — are you?" (FOMO). Variant C: "3 Semrush features that doubled my organic traffic" (specificity + result). Each preserves FTC compliance.

## References

- `shared/references/ftc-compliance.md` — Ensure variants preserve FTC disclosure from original. Referenced in Step 3.

Related Skills

Vitest

39
from InugamiDev/ultrathink-oss

> Blazing fast unit testing powered by Vite — Jest-compatible API, native ESM, TypeScript.

testing-toolkit

39
from InugamiDev/ultrathink-oss

Unified testing methodology toolkit — Testing Library (accessible queries, user-event, component testing), unit/integration/e2e/property-based testing patterns, test strategy design (pyramid/trophy/diamond, coverage goals), test fixtures (factories, builders, seeders, snapshots), API testing (Supertest, contract testing, endpoint validation). Keeps runtime-specific runners (vitest/playwright/cypress/promptfoo) separate.

test

39
from InugamiDev/ultrathink-oss

Test planning, generation, and execution -- unit, integration, and end-to-end testing workflows

test-ui

39
from InugamiDev/ultrathink-oss

Multi-viewport UI testing with screenshots, visual regression detection, and accessibility audits

load-testing

39
from InugamiDev/ultrathink-oss

Load testing with k6, Artillery, Locust — traffic simulation, performance baselines, and stress testing.

contract-testing

39
from InugamiDev/ultrathink-oss

Consumer-driven contract testing with Pact, schema validation, and API compatibility verification.

accessibility-testing

39
from InugamiDev/ultrathink-oss

Accessibility testing with axe-core, pa11y, Lighthouse, screen reader testing, and WCAG compliance verification

ultrathink

39
from InugamiDev/ultrathink-oss

UltraThink Workflow OS — 4-layer skill mesh with persistent memory and privacy hooks for complex engineering tasks. Routes prompts through intent detection to activate the right domain skills automatically.

ultrathink_review

39
from InugamiDev/ultrathink-oss

Multi-pass code review powered by UltraThink's quality gate — checks correctness, security (OWASP), performance, readability, and project conventions in a single structured pass.

ultrathink_memory

39
from InugamiDev/ultrathink-oss

Persistent memory system for UltraThink — search, save, and recall project context, decisions, and patterns across sessions using Postgres-backed fuzzy search with synonym expansion.

ui-design

39
from InugamiDev/ultrathink-oss

Comprehensive UI design system: 230+ font pairings, 48 themes, 65 design systems, 23 design languages, 30 UX laws, 14 color systems, Swiss grid, Gestalt principles, Pencil.dev workflow. Inherits ui-ux-pro-max (99 UX rules) + impeccable-frontend-design (anti-AI-slop). Triggers on any design, UI, layout, typography, color, theme, or styling task.

Zod

39
from InugamiDev/ultrathink-oss

> TypeScript-first schema validation with static type inference.