writing-ad-copy

Creates platform-specific ad copy for paid campaigns with A/B variants. Use when the user asks about ad copy, PPC ads, Google Ads, Facebook ads, LinkedIn ads, or paid campaign copy.

16 stars

Best use case

writing-ad-copy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Creates platform-specific ad copy for paid campaigns with A/B variants. Use when the user asks about ad copy, PPC ads, Google Ads, Facebook ads, LinkedIn ads, or paid campaign copy.

Teams using writing-ad-copy 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/writing-ad-copy/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/writing-ad-copy/SKILL.md"

Manual Installation

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

How writing-ad-copy Compares

Feature / Agentwriting-ad-copyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Creates platform-specific ad copy for paid campaigns with A/B variants. Use when the user asks about ad copy, PPC ads, Google Ads, Facebook ads, LinkedIn ads, or paid campaign copy.

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

# Ad Copy Generator

## When to use this skill

- User asks to write ad copy
- User needs Google Ads headlines
- User wants Facebook/Instagram ad copy
- User mentions LinkedIn ads
- User needs A/B testing variants

## Workflow

- [ ] Identify platform and campaign goal
- [ ] Gather offer and audience details
- [ ] Generate headline variants
- [ ] Write description/body copy
- [ ] Create A/B test variations
- [ ] Validate character limits

## Instructions

### Step 1: Identify Platform Requirements

| Platform           | Headlines      | Description                | Character Limits           |
| ------------------ | -------------- | -------------------------- | -------------------------- |
| Google Search      | 3 headlines    | 2 descriptions             | H: 30 chars, D: 90 chars   |
| Google Display     | 1-5 headlines  | 1-5 descriptions           | H: 30 chars, D: 90 chars   |
| Facebook/Instagram | 1 primary text | 1 headline + 1 description | Primary: 125, H: 40, D: 30 |
| LinkedIn           | 1 intro text   | 1 headline                 | Intro: 150, H: 70          |
| Twitter/X          | 1 ad copy      | —                          | 280 chars total            |
| TikTok             | 1 ad text      | —                          | 100 chars                  |
| Microsoft Ads      | 3 headlines    | 2 descriptions             | H: 30 chars, D: 90 chars   |
| Pinterest          | 1 title        | 1 description              | T: 100, D: 500             |

### Step 2: Campaign Goal Selection

| Goal          | Focus              | CTA Style            |
| ------------- | ------------------ | -------------------- |
| Awareness     | Brand, reach       | Learn more, Discover |
| Consideration | Features, benefits | See how, Find out    |
| Conversion    | Action, urgency    | Buy now, Get started |
| Lead gen      | Value exchange     | Download, Get free   |
| App install   | Features, ratings  | Install, Try free    |
| Traffic       | Curiosity, value   | Read more, Visit     |

### Step 3: Headline Formulas

**Google Ads headlines (30 characters max):**

| Formula                 | Example                     |
| ----------------------- | --------------------------- |
| [Benefit] + [Timeframe] | "Lose 10 Pounds in 30 Days" |
| [Action] + [Product]    | "Try TaskFlow Free Today"   |
| [Number] + [Result]     | "50% More Leads Guaranteed" |
| [Question hook]         | "Still Using Spreadsheets?" |
| [Problem solver]        | "End Invoice Chaos Now"     |
| [Social proof]          | "Join 10,000+ Happy Users"  |
| [Urgency]               | "Sale Ends Tonight"         |
| [Price/offer]           | "Plans Starting at $9/mo"   |

**Facebook/Instagram headlines (40 characters):**

| Formula                       | Example                         |
| ----------------------------- | ------------------------------- |
| [Outcome] Made Easy           | "Email Marketing Made Easy"     |
| The [Adjective] Way to [Goal] | "The Fastest Way to Learn Code" |
| [Number] [Audience] Love This | "50K Marketers Love This Tool"  |
| Stop [Pain], Start [Gain]     | "Stop Guessing, Start Growing"  |
| Finally, [Solution]           | "Finally, Affordable Design"    |

**LinkedIn headlines (70 characters):**

| Formula                            | Example                               |
| ---------------------------------- | ------------------------------------- |
| [Result] for [Audience]            | "Pipeline Growth for B2B Sales Teams" |
| How [Company Type] [Achieve Goal]  | "How Agencies Scale Without Hiring"   |
| The [Industry] Guide to [Topic]    | "The Enterprise Guide to AI Adoption" |
| [Number]+ [Audience] Trust [Brand] | "5,000+ CFOs Trust Our Platform"      |

### Step 4: Body Copy Templates

**Google Ads descriptions (90 characters max):**

```markdown
**Template 1: Benefit-focused**
[Key benefit]. [Supporting feature]. [CTA] today.
Example: "Save 10+ hours weekly on reports. Auto-sync from 50+ sources. Start free trial today."

**Template 2: Problem-solution**
[Pain point]? [Solution]. [Proof point]. [CTA].
Example: "Tired of missed deadlines? TaskFlow keeps teams on track. Rated #1 on G2. Try it free."

**Template 3: Offer-focused**
[Offer]. [What you get]. [Urgency/guarantee]. [CTA].
Example: "Get 50% off annual plans. All features included. Cancel anytime. Sign up now."
```

**Facebook/Instagram primary text (125 characters optimal):**

```markdown
**Template 1: Hook + benefit + CTA**
[Attention hook]

[Key benefit in 1-2 sentences]

[CTA with link]

**Example:**
Spending hours on social media with nothing to show for it?

Our tool schedules a month of content in 10 minutes.

👉 Try free for 14 days

---

**Template 2: Problem + solution + proof**
[State the problem]

[Introduce your solution]

[Social proof]

[CTA]

**Example:**
Creating content is exhausting.

ContentAI writes posts that sound like you—in seconds.

Used by 25,000+ creators.

🚀 Get started free
```

**LinkedIn intro text (150 characters optimal):**

```markdown
**Template 1: Professional pain + solution**
[Industry pain point] is costing you [what].

[Your solution] helps [audience] [achieve result].

[CTA with value prop]

**Example:**
Manual reporting is costing your team 15+ hours per week.

DataSync automates dashboards for finance teams—so you can focus on insights.

Download our free ROI calculator →

---

**Template 2: Results-focused**
[Client type] are seeing [specific result] with [solution].

[Brief explanation of how]

[CTA]

**Example:**
B2B SaaS companies are seeing 3x pipeline growth with our outbound system.

We combine AI prospecting with human-written sequences.

Book a demo to see your custom plan →
```

### Step 5: A/B Testing Variants

**Create 3-5 variants per element:**

```markdown
## Headline Variants

**Angle 1: Benefit-focused**

- "Save 10 Hours Every Week"
- "Get Back Your Evenings"
- "Work Less, Achieve More"

**Angle 2: Problem-focused**

- "Stop Wasting Time on Reports"
- "End Spreadsheet Chaos"
- "Tired of Manual Work?"

**Angle 3: Social proof**

- "Join 10,000+ Happy Teams"
- "Rated #1 by Analysts"
- "Trusted by Fortune 500"

**Angle 4: Offer-focused**

- "Start Free—No Card Needed"
- "Try Premium Free for 30 Days"
- "50% Off This Week Only"
```

**Description variants:**

```markdown
## Description Variants

**V1 (Benefit + feature):**
"Automate your workflow and save 10+ hours per week.
Integrates with 100+ tools. Start your free trial."

**V2 (Problem + solution):**
"Stop drowning in manual tasks. Our AI handles the
boring work so you can focus on growth. Try free."

**V3 (Social proof + CTA):**
"Trusted by 25,000+ teams worldwide. See why companies
choose us for workflow automation. Book a demo."

**V4 (Urgency + offer):**
"Limited time: 50% off all plans. Get started in
minutes with our no-code setup. Offer ends Friday."
```

### Step 6: Platform-Specific Templates

**Google Responsive Search Ad:**

```markdown
## Google RSA: [Campaign Name]

### Headlines (15 required, 30 chars each)

1. [Benefit headline]
2. [Feature headline]
3. [Brand + product]
4. [Question hook]
5. [Social proof]
6. [Offer/price]
7. [Urgency]
8. [Action + benefit]
9. [Problem solver]
10. [Outcome focused]
11. [Keyword insertion: {KeyWord:Default}]
12. [Location: {LOCATION(City)}]
13. [Countdown: {COUNTDOWN...}]
14. [Alternative benefit]
15. [CTA focused]

### Descriptions (4 required, 90 chars each)

1. [Full benefit + feature + CTA]
2. [Problem + solution + proof]
3. [Offer + guarantee + CTA]
4. [Differentiator + social proof]

### Pin suggestions:

- Pin brand name to H1 or H2
- Pin primary CTA to D1
```

**Facebook/Instagram Ad:**

```markdown
## Meta Ad: [Campaign Name]

### Primary Text (3 variants)

**V1:**
[Hook question or statement]

[2-3 lines of benefit copy]

[Social proof if available]

[CTA with emoji] [Link]

**V2:**
[Problem statement]

[Solution introduction]

[Key differentiator]

[CTA]

**V3:**
[Story hook]

[Outcome achieved]

[How they can get it too]

[CTA]

### Headlines (5 variants, 40 chars)

1.
2.
3.
4.
5.

### Descriptions (3 variants, 30 chars)

1.
2.
3.

### CTA Button: [Select: Learn More / Sign Up / Shop Now / etc.]
```

**LinkedIn Ad:**

```markdown
## LinkedIn Ad: [Campaign Name]

### Intro Text (3 variants, 150 chars optimal)

**V1 (Problem-solution):**
[Problem] → [Solution] → [CTA]

**V2 (Results-focused):**
[Result achieved] → [How] → [CTA]

**V3 (Question hook):**
[Question] → [Answer teaser] → [CTA]

### Headlines (3 variants, 70 chars)

1.
2.
3.

### CTA: [Select from LinkedIn options]
```

### Step 7: Emotional Triggers

**Power words by emotion:**

| Emotion      | Words                                          |
| ------------ | ---------------------------------------------- |
| Urgency      | Now, today, limited, fast, instant, hurry      |
| Exclusivity  | Secret, insider, VIP, exclusive, members-only  |
| Fear of loss | Don't miss, last chance, before it's gone      |
| Trust        | Proven, guaranteed, certified, secure, trusted |
| Curiosity    | Discover, reveal, unlock, hidden, surprising   |
| Savings      | Free, save, discount, deal, bonus, extra       |
| Results      | Boost, increase, grow, double, transform       |

### Step 8: CTA Best Practices

**CTAs by platform:**

| Platform  | Strong CTAs                                 |
| --------- | ------------------------------------------- |
| Google    | Get Quote, Shop Now, Learn More, Start Free |
| Facebook  | Shop Now, Learn More, Sign Up, Get Offer    |
| Instagram | Shop Now, Learn More, Swipe Up              |
| LinkedIn  | Learn More, Download, Sign Up, Request Demo |
| Twitter   | Learn More, Shop, Sign Up                   |

**CTA formulas:**

| Pattern               | Example                       |
| --------------------- | ----------------------------- |
| Action + benefit      | "Get your free guide"         |
| Action + urgency      | "Claim your spot now"         |
| Action + low friction | "Start free—no card required" |
| Action + specificity  | "Book your 15-min demo"       |

### Step 9: Compliance Checklist

**Before publishing:**

- [ ] No trademarked terms (unless authorized)
- [ ] No superlatives without proof ("best", "fastest")
- [ ] No misleading claims or fake urgency
- [ ] Landing page matches ad promise
- [ ] Proper disclosures for offers/pricing
- [ ] No prohibited content per platform
- [ ] Dynamic insertions have fallback text
- [ ] Character limits respected

**Platform-specific rules:**

| Platform | Key Restrictions                               |
| -------- | ---------------------------------------------- |
| Google   | No exclamation marks in headlines, no ALL CAPS |
| Facebook | 20% text rule for images relaxed but minimized |
| LinkedIn | Professional tone, no clickbait                |
| All      | No deceptive claims, landing page relevance    |

### Step 10: Performance Optimization Notes

**Test priority order:**

1. Headlines (biggest impact)
2. Primary CTA
3. Offer/value proposition
4. Description copy
5. Visual elements (separate from copy)

**Metrics to track:**

| Metric                 | Meaning                        |
| ---------------------- | ------------------------------ |
| CTR                    | Ad relevance and appeal        |
| Conversion rate        | Landing page + offer alignment |
| CPC                    | Auction competitiveness        |
| Quality Score (Google) | Ad relevance + experience      |
| Relevance Score (Meta) | Audience targeting fit         |

## Output Format

```markdown
## Ad Copy: [Campaign/Product Name]

**Platform:** [Google/Facebook/LinkedIn/etc.]
**Goal:** [Awareness/Consideration/Conversion]
**Target audience:** [Who this is for]
**Offer:** [What you're promoting]

---

### Headlines (A/B Variants)

1. [Headline 1]
2. [Headline 2]
3. [Headline 3]
4. [Headline 4]
5. [Headline 5]

### Descriptions / Body Copy (A/B Variants)

**V1:**
[Full copy]

**V2:**
[Full copy]

**V3:**
[Full copy]

### CTA

Primary: [CTA button/text]
Secondary: [If applicable]

---

### Character Count Validation

| Element     | Limit | V1  | V2  | V3  |
| ----------- | ----- | --- | --- | --- |
| Headline    | [X]   | ✓/✗ | ✓/✗ | ✓/✗ |
| Description | [X]   | ✓/✗ | ✓/✗ | ✓/✗ |

### Testing Notes

- Test [element] against [element]
- Primary hypothesis: [What you expect to win]
```

## Validation

Before completing:

- [ ] Character limits met for all elements
- [ ] At least 3-5 headline variants
- [ ] At least 2-3 description variants
- [ ] CTA included and appropriate
- [ ] No policy-violating content
- [ ] Clear value proposition
- [ ] Matches landing page messaging
- [ ] Testing recommendations provided

## Error Handling

- **No platform specified**: Ask which platform(s); provide Google + Meta templates as default.
- **Exceeds character limits**: Shorten while preserving meaning; suggest alternate wording.
- **No clear offer**: Ask what the user wants prospects to do (buy, sign up, download).
- **Generic copy**: Add specific numbers, outcomes, or differentiators.
- **Missing audience**: Ask who the ideal customer is to tailor messaging.

## Resources

- [Google Ads Policies](https://support.google.com/adspolicy) - Compliance guidelines
- [Facebook Ad Library](https://www.facebook.com/ads/library) - Competitor research
- [SparkToro](https://sparktoro.com/) - Audience research
- [Hemingway Editor](https://hemingwayapp.com/) - Readability check

Related Skills

writing-skills

16
from diegosouzapw/awesome-omni-skill

Use when creating new skills, editing existing skills, or verifying skills work before deployment

writing-claude-md-files

16
from diegosouzapw/awesome-omni-skill

Use when creating or updating CLAUDE.md files for projects or subdirectories - covers top-level vs domain-level organization, capturing architectural intent and contracts, and mandatory freshness dates

superpowers-writing-skills

16
from diegosouzapw/awesome-omni-skill

Use when creating new skills, editing existing skills, or verifying skills work before deployment

plan-writing

16
from diegosouzapw/awesome-omni-skill

Structured task planning with clear breakdowns, dependencies, and verification criteria. Use when implementing features, refactoring, or any multi-step work.

cursor-rules-writing

16
from diegosouzapw/awesome-omni-skill

Create Cursor IDE rules in .mdc format with proper frontmatter, glob patterns, and cross-references. Covers rule structure, file organization, triggering mechanisms, and quality standards. Use when creating or modifying Cursor rules for context injection.

anti-ai-writing

16
from diegosouzapw/awesome-omni-skill

Transform AI-assisted drafts into authentic, human-sounding content. This skill provides patterns to detect and eliminate AI tells, frameworks for natural writing, and techniques for creating prose that reads as genuinely human. Use when reviewing any AI-generated content or when writing content that must not appear AI-assisted.

adr-writing

16
from diegosouzapw/awesome-omni-skill

Write Architectural Decision Records following MADR template. Applies Definition of Done criteria, marks gaps for later completion. Use when generating ADR documents from extracted decisions.

writing-plans

16
from diegosouzapw/awesome-omni-skill

Use when you have a spec or requirements for a multi-step task, before touching code

ai-insights-and-ux-copy

16
from diegosouzapw/awesome-omni-skill

AI-powered insights, UX copywriting standards, and user experience guidelines for vehicle insurance platform. Use when designing insight panels, writing user-facing copy, implementing status messages, creating onboarding flows, or improving accessibility. Covers tone standards, interactive patterns, error messages, and empty states.

writing-agents

16
from diegosouzapw/awesome-omni-skill

Use when creating new agents, editing existing agents, or defining specialized subagent roles for the Task tool

skill-writing

16
from diegosouzapw/awesome-omni-skill

Create cross-agent compatible skills with SKILL.md format, supporting files, and scripts for Claude Code, Copilot, Cursor, Windsurf, and other AI coding assistants

paper-writing-assistant

16
from diegosouzapw/awesome-omni-skill

Assist in drafting research papers and meeting notes, enforcing academic rigor and formatting.