Analyzes your top performing ads, identifies what's working in the hooks, CTAs, messaging angles, and formats, then generates new variants that follow the same winning patterns while introducing enough variation to test meaningfully. Platform: Google and Meta.
npx skills add https://github.com/irinabuht12-oss/marketing-skills --skill ad-copy-variant-generator
Analyzes your top performing ads, identifies what's working in the hooks, CTAs, messaging angles, and formats, then generates new variants that follow the same winning patterns while introducing enough variation to test meaningfully.
Claude ingests your ad performance data alongside the actual ad copy and creative specs. It correlates performance metrics (CTR, CVR, CPA) with copy elements — headline structure, primary text length, tone, CTA type, pain point vs benefit framing, social proof usage. Then it generates variants that preserve the winning elements while changing specific variables.
Your best performing Meta ad has a hook that leads with a specific number ("Cut your onboarding time from 3 weeks to 3 days"), uses a customer quote in the middle, and ends with a soft CTA. Claude generates 8 variants: 4 keep the number-led hook pattern but change the metric, 2 test a question-based hook with the same body structure, and 2 flip to benefit-first with the number as proof. Each variant changes one or two elements so you can isolate what's actually driving performance.
This skill works best with live account data. Connect the free Ryze MCP once and Claude reads your Google Ads, Meta Ads, GA4 and Search Console directly:
https://connector.get-ryze.ai/mcpclaude mcp add ryze --transport http https://connector.get-ryze.ai/mcpSetup guide: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
Take irinabuht12-oss/ad-copy-variant-generator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.