Skip to main content

ad-creative-variants

When the user wants multiple ad creative variants with different angles, styles, or image presets for A/B testing. Use when the user mentions "ad variants", "A/B creatives", "3 ad angles", "test different hooks", "creative batch for Meta", or "5 ad concepts". Uses Appeeky generate_app_ad_creative multiple times. For single creative see meta-ad-creative. For publishing see ad-creative-to-meta.

Ir para a instalação

Informações da origem

Repositório
appeeky/ua-skills
Última atividade na origem
22 de agosto de 2026 às 21:36
Idioma detectado do SKILL.md
inglês
Estrelas
55
Forks
5

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
ad-creative-variants
description
When the user wants multiple ad creative variants with different angles, styles, or image presets for A/B testing. Use when the user mentions "ad variants", "A/B creatives", "3 ad angles", "test different hooks", "creative batch for Meta", or "5 ad concepts". Uses Appeeky generate_app_ad_creative multiple times. For single creative see meta-ad-creative. For publishing see ad-creative-to-meta.
metadata
{"version":"1.0.0"}
# Ad Creative Variants (A/B Batch) Generate **3–5 distinct Meta static creatives** from one store listing for structured creative testing. Each variant isolates a different **angle** (message) and/or **visual format** (style + preset). One creative teaches you nothing. A disciplined batch tells you which hook and layout wins before you scale spend. ## Initial Assessment 1. Read `app-ads-context.md` — target CPA, geo, documented winning/losing formats 2. Check `competitor-ad-teardown` output if available — borrow hook patterns, not copy 3. Confirm monthly budget tier (determines batch size) ## Batch Size by Budget | Monthly Meta budget | Variants | Min daily budget | Test duration | |--------------------|----------|------------------|---------------| | < $1.5K | 3 | $30–50/day | 5–7 days | | $1.5K–10K | 5 | $50–100/day | 4–5 days | | $10K+ | 5–8 | $100+/day | 3–4 days | **Rule:** Each ad needs enough spend to reach decision threshold (~2× target CPA before kill). Smaller budgets → fewer variants. ## Variant Matrix (default 5) | # | Label | Style | Preset | Angle | Hypothesis | |---|-------|-------|--------|-------|------------| | A | Problem | `problem_solution` | `problem_solution_split` | Pain → fix | Direct response converts cold traffic | | B | UGC | `ugc` | `person_holding_phone` | Relatable user moment | Native feel lifts CTR | | C | Premium | `professional` | `clean_app_store_mockup` | Trust + quality | Higher CVR on paid subs | | D | Transform | `before_after` | `problem_solution_split` | Before/after outcome | Visual contrast stops scroll | | E | Social proof | `lifestyle` | `creator_testimonial` | Quote + outcome | Reduces skepticism | Customize angles from `app-ads-context.md` value proposition and competitor teardown gaps. ### 3-Variant Minimal Batch When credits or budget are tight: | # | Style | Preset | Angle | |---|-------|--------|-------| | A | `ugc` | `person_holding_phone` | Core pain point | | B | `problem_solution` | `problem_solution_split` | Mechanism / how it works | | C | `professional` | `branded_showcase` | Premium / feature-led | ## Angle Library (fill per app) | Angle type | Prompt stem | Example | |------------|-------------|---------| | Pain agitation | "For [persona] tired of [pain]…" | "For founders tired of inbox chaos…" | | Outcome | "Get [result] in [timeframe]" | "Plan your week in 5 minutes" | | Mechanism | "The [category] app that [unique how]" | "The journal that writes back" | | Social proof | "[N] users / [rating] stars" | Only if true on listing | | Contrarian | "Stop [common bad habit]" | "Stop using 4 apps for one job" | | Seasonal | "[Event] is coming — [benefit]" | Tie to `seasonal-aso` campaigns | ## Workflow ### Step 1 — Confirm Inputs | Input | Required | |-------|----------| | App URL or `platform` + `app_id` | Yes | | Country | Default `us` | | Batch size (3 / 5) | Default 5 | | Quality tier | Default `medium` | | Custom angles | Optional per slot | ### Step 2 — Analyze Once (1 API credit) ``` generate_app_ad_creative app_url: "https://apps.apple.com/us/app/id123456789" mode: "analyze" generate_image: false ``` Present `result.keyPoints`. User approves or edits. **Reuse confirmed `keyPoints` as MCP `key_points` on all variant jobs** for consistent positioning. ### Step 3 — Launch Parallel Jobs One job per variant. Run in parallel when MCP supports concurrent calls. ``` # Variant A — Problem generate_app_ad_creative app_url: "https://apps.apple.com/us/app/id123456789" mode: "generate" style: "problem_solution" image_preset: "problem_solution_split" angle: "For busy professionals drowning in tasks — one app to plan your day" key_points: { ...confirmed } quality: "medium" # Variant B — UGC generate_app_ad_creative app_url: "https://apps.apple.com/us/app/id123456789" mode: "generate" style: "ugc" image_preset: "person_holding_phone" angle: "POV: you finally found an app that actually sticks" key_points: { ...confirmed } quality: "medium" # ... repeat for C, D, E ``` **REST equivalent:** `POST /v1/app-ad-creatives/generate` per variant → collect `jobId`s. ### Step 4 — Poll All Jobs ``` get_app_ad_creative_job job_id: "<variant-a-job-id>" ``` Poll every 3–5 seconds per job. Track status in a table while waiting. | Variant | job_id | Status | |---------|--------|--------| | A | | queued / completed / failed | | B | | | | C | | | If one job fails, retry that variant only — do not restart the full batch. ### Step 5 — Present Comparison Use output template. Highlight differentiated hooks, not just images. ## Meta Test Structure Run all variants in **one ad set** for fair auction comparison: ``` Campaign: App Promotion (PAUSED) └── Ad Set: US - iOS - Creative Test ├── Ad: Variant A - Problem ├── Ad: Variant B - UGC ├── Ad: Variant C - Premium ├── Ad: Variant D - Transform └── Ad: Variant E - Social proof ``` | Setting | Value | Why | |---------|-------|-----| | Budget | Ad set level, equal delivery | CBO optional after winner found | | Optimization | Purchase or Subscribe | Not installs alone at scale | | Placements | Advantage+ ON | Let Meta find feed vs stories | | Audience | Broad | Creative is the variable | **Do not** split variants across ad sets in the first test — you lose comparative signal. ## Decision Rules (during test) | Condition | Action | |-----------|--------| | Spend > 2× target CPA, 0 conversions | Pause that ad | | CPA < target after 15+ conversions | Mark winner candidate | | CTR < 0.5% after 5K impressions | Likely hook failure — note for teardown | | One ad takes > 70% spend | Meta favors it — still wait for CPA data | | Frequency > 3 on winner | Prepare `ad-creative-edit` variations | Full audit framework: `meta-campaign-audit`. ## Credit Estimate Inform user **before** running: | Batch | Analyze | Generate (medium) | Total creative credits | |-------|---------|-------------------|------------------------| | 3 variants | 1 API | 3 × 2 = 6 | 6 creative | | 5 variants | 1 API | 5 × 2 = 10 | 10 creative | | 5 variants (high) | 1 API | 5 × 5 = 25 | 25 creative | BYOK (`X-OpenAI-Key`): 1 API credit per job, 0 creative credits. ## Output Template ```markdown # Ad Creative A/B Batch — [App Name] **Batch date:** [date] | **Country:** [us] | **Quality:** medium ## Positioning (shared keyPoints) - Pain: ... - Promise: ... - Audience: ... ## Variant Comparison | Label | Angle | Style / Preset | Image | Headline | Primary (excerpt) | Chars | |-------|-------|----------------|-------|----------|-------------------|-------| | A | Problem | problem_solution / split | [url] | | | | | B | UGC | ugc / phone | [url] | | | | | C | Premium | professional / mockup | [url] | | | | | D | Transform | before_after / split | [url] | | | | | E | Social proof | lifestyle / testimonial | [url] | | | | ## Differentiation Check - [ ] No two variants share the same hook line - [ ] At least 2 different presets used - [ ] Primary text lengths within Meta limits ## Meta Test Plan - **Ad set:** 1 ad set, all variants, $[X]/day - **Kill rule:** Pause at 2× CPA, 0 conversions - **Scale rule:** +20%/day on winner when CPA < target - **Review:** 48h → meta-campaign-audit ## Next Steps 1. Publish → ad-creative-to-meta (all variants) 2. Winner iteration → ad-creative-edit (hook tweaks on winner preset) 3. Loser post-mortem → note angles to retire ``` ## Variant Naming Convention Use consistent ad names in Meta for clean audits: ``` [App] - [Geo] - Var[A-E] - [AngleSlug] - [YYYYMMDD] ``` Example: `FocusApp - US - VarB - UGC - 20250629` ## Benchmarks (batch-level) | Signal | Weak batch | Healthy batch | |--------|------------|---------------| | Best ad CTR | All < 0.8% | Winner > 1.2% | | CPA spread | All within 10% | Clear winner 20%+ better | | Spend distribution | One ad 90%+ | Top ad 40–60% | | Time to decision | > 7 days | 4–5 days at $50/day | If entire batch fails, diagnose with failure matrix in `meta-campaign-audit` — may be store/onboarding, not creative. ## Common Mistakes | Mistake | Consequence | Fix | |---------|-------------|-----| | Same angle, different colors | False A/B | Change hook and visual format | | Different ad sets per variant | Uneven delivery | One ad set for test phase | | Stopping test at 24h | Premature kills | Wait 48h unless 2× CPA rule hits | | 8+ variants on $30/day | No statistical power | Reduce variants or raise budget | | Skipping shared keyPoints | Inconsistent positioning | One analyze, shared `key_points` | | Scaling whole batch | Dilutes budget on losers | Scale winner only | ## Pre-Batch Checklist ``` Planning: - [ ] app-ads-context.md has target CPA - [ ] Competitor teardown reviewed (optional) - [ ] Batch size matches budget tier - [ ] User approved credit estimate Generation: - [ ] Analyze completed, keyPoints confirmed (pass as `key_points`) - [ ] Each variant has unique angle string - [ ] All jobs polled to completed - [ ] Failed variants retried or documented Meta setup: - [ ] mmp-setup complete - [ ] Single ad set test structure - [ ] Ad names follow convention - [ ] Campaign starts PAUSED ``` ## Related Skills - `meta-ad-creative` — single creative generation - `ad-creative-edit` — winner iterations (A′, B′) - `ad-creative-to-meta` — publish batch to Meta - `competitor-ad-teardown` — angle research input - `meta-campaign-setup` — ad set settings - `meta-campaign-audit` — pick winner after 48h - `meta-budget-optimizer` — scale winner - `tiktok-creative-strategy` — parallel video batch for TikTok
Ver no GitHub