TikTok Creative Testing Generator — v1.0
Generate a 30-variation creative testing matrix — 5 hooks × 3 angles × 2 CTAs — as ready-to-brief creative cards for ad account use.
When to Use This Skill
Use this skill when:
- User asks for a creative testing plan or ad testing framework
- User wants to generate ad variations for A/B testing
- User mentions "creative matrix", "testing framework", "ad variations"
- User wants to test multiple hooks, angles, or CTAs
NOT this skill:
- If user only wants hook lines (not a matrix) → use
tiktok-hook-generator - If user wants full ad scripts → use
tiktok-ad-script-generator - If user wants full UGC video production → use
ugc-video
Pipeline Overview
| Phase | Operation | What happens |
|---|---|---|
| 1 | [CONDITIONAL] | If URL: fetch → product context. If manual: skip. |
| — | ★ STOP 1 (conditional) | Only if URL mode + confidence < 80: confirm product summary. |
| 2 | [AUTO or STOP] | Select dimensions: 5 hooks (warm start: pick from existing, cold: generate) + 3 angles + 2 CTAs. |
| — | ★ STOP 2 (conditional) | Only in warm start: user selects 5 hooks. |
| 3 | [AUTO] | Build 30 brief cards from 5×3×2 matrix. Display + save. |
Key Principles
- Two input modes: cold start (URL or manual) or warm start from existing hooks
- Combinatorial output: 5 hooks × 3 angles × 2 CTAs = 30 variations
- Brief card depth (~30 words per variation) — enough to brief a creator, not a full script
- Summary matrix at top for bird's-eye view, detailed cards below
- Maximum 2 user stops (both conditional)
- All artifacts saved as markdown
Input Modes
Cold start (URL): User provides a product URL → Phase 1 fetches the page and extracts product context (product name, category, target persona, brand tone, differentiators) → Phase 2 generates all 5 hooks, 3 angles, and 2 CTAs → Phase 3 builds the 30-card matrix. If confidence is low (< 80), a conditional stop at Phase 1 presents the extracted profile for user confirmation before proceeding.
Cold start (manual): User provides product name + target audience + pain point in natural language (optional: tone/vibe). Phase 1 is skipped entirely. Phase 2 generates all dimensions from user-supplied inputs, then Phase 3 builds the matrix. If required inputs are missing, ask for them via AskUserQuestion before starting generation.
Warm start (from hooks): campaigns/{slug}/hooks.md exists from a prior /tiktok-hook-generator run. Phase 1 is skipped. Phase 2 reads the existing hooks file, presents them to the user, and asks the user to pick 5 hooks (one per type). Angles and CTAs are auto-selected. Phase 3 builds the matrix. If hooks.md is corrupted or empty, fall back to cold start.
File Outputs
campaigns/{product-slug}/
product_context.json # Phase 1 (URL mode only)
creative_matrix.md # Phase 3
Quick Reference
| Reference | File | Description |
|---|---|---|
| Hook Types | hook-types.md | 5 hook patterns with awareness mapping |
| Creator Personas | creator-personas-lite.md | 5 UGC creator voices (lite) |
| Video Formats | video-formats-lite.md | 6 UGC-native formats (lite) |
| CTA Patterns | cta-patterns.md | 5 UGC-native CTA patterns |
| Angle Types | angle-types.md | 5 persuasion angles with selection guide |
Execution Flow
- Detect input mode: URL present in arguments or message → URL mode. Existing
campaigns/{slug}/hooks.md→ warm start. Otherwise → manual mode. - URL mode: Read
phases/01-product-extraction.md, execute it. - Manual mode: Collect inputs from user message. Required: product name, target audience, pain point. Optional: tone/vibe (default: "casual, creator-native"). If required inputs are missing, ask for them via AskUserQuestion.
- Read
phases/02-dimension-selection.md, execute it (warm start presents hooks and asks user to pick 5; cold start generates 5 hooks, 3 angles, and 2 CTAs internally). - Read
phases/03-matrix-generation.md, execute it. - Display summary matrix + 30 brief cards inline.
- Save to
campaigns/{slug}/creative_matrix.md.
Arguments
$ARGUMENTS[0]: Product URL (optional — triggers URL mode)- If no URL, user provides inputs in natural language
Example invocations:
/tiktok-creative-testing https://www.gymshark.com/products/vital-seamless-leggings
/tiktok-creative-testing
Second example: user provides product details in conversation after invocation.
Error Handling
| Error | Recovery |
|---|---|
| URL fetch fails | Fall back to manual mode — ask user for product name, audience, pain point |
| User provides insufficient manual inputs | Ask for missing required fields via AskUserQuestion |
| confidence_score < 80 (URL mode) | Surface product summary at STOP 1 for confirmation |
| Warm start but hooks.md is corrupted/empty | Fall back to cold start (generate 5 hooks) |
| Generation produces < 30 variations | Regenerate incomplete cards only |
Related Skills
- tiktok-hook-generator: Generate 20 hook lines (upstream — feeds warm start)
- tiktok-ad-script-generator: Expand a variation into a full script (downstream)
- ugc-video: Full UGC video production pipeline (downstream)
- generate-image: Standalone image generation (separate pipeline)
Version History
- v1.0 (2026-03-23): Initial release. 30-variation matrix (5×3×2), 2 input modes, 0-2 user stops.
Next: Start with Phase 1: Product Extraction (URL mode), Phase 2: Dimension Selection (warm start or manual mode).
What's next? Run the full pipeline, not just the matrix
You've mapped 30 ad variations. The Genieus platform runs the complete creative pipeline — hooks, scripts, images, and video — all feeding each other in one workspace.
On genieus.io:
- Hooks → scripts → 30 variations → video
- All 8 skills running together
- One product URL, full campaign assets
