When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, full variations — for any paid platform; 'ad copy variations,' 'RSA headlines,' 'bulk ad copy,' 'creative testing,' 'write me some ads.' For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting.
Installs into .claude/skills of the current project.
Are you the author of Ad Creative?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/rajitsaha-ad-creative)
---
name: ad-creative
description: "When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, full variations — for any paid platform; 'ad copy variations,' 'RSA headlines,' 'bulk ad copy,' 'creative testing,' 'write me some ads.' For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting."
category: marketing
tier: on-demand
---
# Ad Creative
Generate high-performing ad creative at scale — headlines, descriptions, and primary text — and iterate on real performance data.
## Before Starting
**Product context:** If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it first and tailor output to it; only ask for what it doesn't cover.
Gather this context (ask if not provided):
### 1. Platform & Format
- Platform? (Google Ads, Meta, LinkedIn, TikTok, Twitter/X)
- Ad format? (Search RSAs, display, social feed, stories, video)
- Existing ads to iterate on, or starting from scratch?
### 2. Product & Offer
- What are you promoting? (Product, feature, free trial, demo, lead magnet)
- Core value proposition?
- Differentiation from competitors?
### 3. Audience & Intent
- Target audience?
- Stage of awareness? (Problem-aware, solution-aware, product-aware)
- Driving pain points or desires?
### 4. Performance Data (if iterating)
- What creative is currently running?
- Best-performing headlines/descriptions? (CTR, conversion rate, ROAS)
- Underperformers?
- Angles or themes already tested?
### 5. Constraints
- Brand voice guidelines or words to avoid?
- Compliance requirements? (Industry regulations, platform policies)
- Mandatory elements? (Brand name, trademark symbols, disclaimers)
---
## How This Skill Works
Two modes:
- **Mode 1: Generate from Scratch** — full set of ad creative from product context, audience insights, and platform best practices.
- **Mode 2: Iterate from Performance Data** — given data (CSV, paste, or API output), analyze what's working, find patterns in top performers, and generate variations that build on winning themes while exploring new angles.
Core loop:
```
Pull performance data → Identify winning patterns → Generate new variations → Validate specs → Deliver
```
---
## Platform Specs
Platforms reject or truncate creative over these limits — verify every piece of copy fits before delivering.
### Google Ads (Responsive Search Ads)
| Element | Limit | Quantity |
|---------|-------|----------|
| Headline | 30 characters | Up to 15 |
| Description | 90 characters | Up to 4 |
| Display URL path | 15 characters each | 2 paths |
**RSA rules:** headlines must make sense independently and in any combination; pin headlines to positions only when necessary (reduces optimization); include at least one keyword-focused, one benefit-focused, and one CTA headline.
### Meta Ads (Facebook/Instagram)
| Element | Limit | Notes |
|---------|-------|-------|
| Primary text | 125 chars visible (up to 2,200) | Front-load the hook |
| Headline | 40 characters recommended | Below the image |
| Description | 30 characters recommended | Below headline |
| URL display link | 40 characters | Optional |
### LinkedIn Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Intro text | 150 chars recommended (600 max) | Above the image |
| Headline | 70 chars recommended (200 max) | Below the image |
| Description | 100 chars recommended (300 max) | Appears in some placements |
### TikTok Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Ad text | 80 chars recommended (100 max) | Above the video |
| Display name | 40 characters | Brand name |
### Twitter/X Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Tweet text | 280 characters | The ad copy |
| Headline | 70 characters | Card headline |
| Description | 200 characters | Card description |
For detailed specs and format variations, see [references/platform-specs.md](references/platform-specs.md).
---
## Generating Ad Visuals
For image and video creative, use generative AI tools and code-based video rendering. See [references/generative-tools.md](references/generative-tools.md) for the complete guide:
- **Image generation** — Nano Banana Pro (Gemini), Flux, Ideogram for static ad images
- **Video generation** — Veo, Kling, Runway, Sora, Seedance, Higgsfield for video ads
- **Voice & audio** — ElevenLabs, OpenAI TTS, Cartesia for voiceovers, cloning, multilingual
- **Code-based video** — Remotion for templated, data-driven video at scale
- **Platform image specs** — Correct dimensions for every ad placement
- **Cost comparison** — Pricing for 100+ ad variations across tools
**Scaled production workflow:** (1) generate hero creative with AI tools (exploratory, high-quality); (2) build Remotion templates from winning patterns; (3) batch produce variations with Remotion using data feeds; (4) iterate — AI for new angles, Remotion for scale.
---
## Generating Ad Copy
### Step 1: Define Your Angles
Before writing headlines, establish 3-5 distinct **angles** — different reasons someone would click, each tapping a different motivation.
| Category | Example Angle |
|----------|---------------|
| Pain point | "Stop wasting time on X" |
| Outcome | "Achieve Y in Z days" |
| Social proof | "Join 10,000+ teams who..." |
| Curiosity | "The X secret top companies use" |
| Comparison | "Unlike X, we do Y" |
| Urgency | "Limited time: get X free" |
| Identity | "Built for [specific role/type]" |
| Contrarian | "Why [common practice] doesn't work" |
### Step 2: Generate Variations per Angle
Vary: **word choice** (synonyms, active vs. passive), **specificity** (numbers vs. general claims), **tone** (direct vs. question vs. command), **structure** (short punch vs. full benefit statement).
### Step 3: Validate Against Specs
Check every piece against the platform's character limits; flag anything over and provide a trimmed alternative.
### Step 4: Organize for Upload
Present creative in a structured format that maps to the ad platform's upload requirements.
---
## Iterating from Performance Data
### Step 1: Analyze Winners
From the top performers (by CTR, conversion rate, or ROAS — ask which metric matters most), identify:
- **Winning themes** — topics or pain points in top performers
- **Winning structures** — questions? statements? commands? numbers?
- **Winning word patterns** — recurring words or phrases
- **Character utilization** — are top performers shorter or longer?
### Step 2: Analyze Losers
From the worst performers, identify themes that fall flat (angles not resonating) and common patterns (too generic? too long? wrong tone?).
### Step 3: Generate New Variations
New creative should: **double down** on winning themes with fresh phrasing, **extend** winning angles into new variations, **test** 1-2 unexplored angles, and **avoid** patterns found in underperformers.
### Step 4: Document the Iteration
```
## Iteration Log
- Round: [number]
- Date: [date]
- Top performers: [list with metrics]
- Winning patterns: [summary]
- New variations: [count] headlines, [count] descriptions
- New angles being tested: [list]
- Angles retired: [list]
```
---
## Writing Quality Standards
### Headlines That Click
**Strong headlines:** specific ("Cut reporting time 75%") over vague ("Save time"); benefits ("Ship code faster") over features ("CI/CD pipeline"); active voice ("Automate your reports") over passive ("Reports are automated"); numbers when possible ("3x faster," "in 5 minutes," "10,000+ teams").
**Avoid:** jargon the audience won't recognize; claims without specificity ("Best," "Leading," "Top"); all caps or excessive punctuation; clickbait the landing page can't deliver on.
### Descriptions That Convert
Descriptions complement headlines, not repeat them. Use them to: add proof points (numbers, testimonials, awards); handle objections ("No credit card required," "Free forever for small teams"); reinforce CTAs ("Start your free trial today"); add urgency when genuine ("Limited to first 500 signups").
---
## Output Formats
### Standard Output
Organize by angle, with character counts:
```
## Angle: [Pain Point — Manual Reporting]
### Headlines (30 char max)
1. "Stop Building Reports by Hand" (29)
2. "Automate Your Weekly Reports" (28)
3. "Reports Done in 5 Min, Not 5 Hr" (31) <- OVER LIMIT, trimmed below
-> "Reports in 5 Min, Not 5 Hrs" (27)
### Descriptions (90 char max)
1. "Marketing teams save 10+ hours/week with automated reporting. Start free." (73)
2. "Connect your data sources once. Get automated reports forever. No code required." (80)
```
### Bulk CSV Output
For 10+ variations, offer CSV for direct upload:
```csv
headline_1,headline_2,headline_3,description_1,description_2,platform
"Stop Manual Reporting","Automate in 5 Minutes","Join 10K+ Teams","Save 10+ hrs/week on reports. Start free.","Connect data sources once. Reports forever.","google_ads"
```
### Iteration Report
```
## Performance Summary
- Analyzed: [X] headlines, [Y] descriptions
- Top performer: "[headline]" — [metric]: [value]
- Worst performer: "[headline]" — [metric]: [value]
- Pattern: [observation]
## New Creative
[organized variations]
## Recommendations
- [What to pause, what to scale, what to test next]
```
---
## Batch Generation Workflow
For large-scale production (Anthropic's growth team generates 100+ variations per cycle):
### 1. Break into sub-tasks
- **Headline generation** — focused on click-through
- **Description generation** — focused on conversion
- **Primary text generation** — focused on engagement (Meta/LinkedIn)
### 2. Generate in waves
- Wave 1: Core angles (3-5 angles, 5 variations each)
- Wave 2: Extended variations on top 2 angles
- Wave 3: Wild card angles (contrarian, emotional, specific)
### 3. Quality filter
- Remove anything over character limit
- Remove duplicates or near-duplicates
- Flag potential platform policy violations
- Ensure headline/description combinations make sense together
---
## Common Mistakes
- **Writing headlines that only work together** — RSA headlines get combined randomly
- **Ignoring character limits** — platforms truncate without warning
- **All variations sound the same** — vary angles, not just word choice
- **No CTA headlines** — RSAs need action-oriented headlines to drive clicks; include at least 2-3
- **Generic descriptions** — "Learn more about our solution" wastes the slot
- **Iterating without data** — gut feelings are less reliable than metrics
- **Testing too many things at once** — change one variable per test cycle
- **Retiring creative too early** — allow 1,000+ impressions before judging
---
## Tool Integrations
For pulling performance data and managing campaigns, see the [tools registry](../../tools/REGISTRY.md).
| Platform | Pull Performance Data | Manage Campaigns | Guide |
|----------|:---------------------:|:----------------:|-------|
| **Google Ads** | `google-ads campaigns list`, `google-ads reports get` | `google-ads campaigns create` | [google-ads.md](../../tools/integrations/google-ads.md) |
| **Meta Ads** | `meta-ads insights get` | `meta-ads campaigns list` | [meta-ads.md](../../tools/integrations/meta-ads.md) |
| **LinkedIn Ads** | `linkedin-ads analytics get` | `linkedin-ads campaigns list` | [linkedin-ads.md](../../tools/integrations/linkedin-ads.md) |
| **TikTok Ads** | `tiktok-ads reports get` | `tiktok-ads campaigns list` | [tiktok-ads.md](../../tools/integrations/tiktok-ads.md) |
### Workflow: Pull Data, Analyze, Generate
```bash
# 1. Pull recent ad performance
node tools/clis/google-ads.js reports get --type ad_performance --date-range last_30_days
# 2. Analyze output (identify top/bottom performers)
# 3. Feed winning patterns into this skill
# 4. Generate new variations
# 5. Upload to platform
```
---
## Related Skills
- **paid-ads**: For campaign strategy, targeting, budgets, and optimization
- **copywriting**: For landing page copy (where ad traffic lands)
- **ab-test-setup**: For structuring creative tests with statistical rigor
- **marketing-psychology**: For psychological principles behind high-performing creative
- **copy-editing**: For polishing ad copy before launch