writing-ad-copy
npx machina-cli add skill WesleySmits/agent-skills/ad-copy-generator --openclawAd 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 |
| 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 |
| 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):
**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):
**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):
**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:
## 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:
## 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:
## 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:
## 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:
## 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 |
|---|---|
| Get Quote, Shop Now, Learn More, Start Free | |
| Shop Now, Learn More, Sign Up, Get Offer | |
| Shop Now, Learn More, Swipe Up | |
| Learn More, Download, Sign Up, Request Demo | |
| 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 |
|---|---|
| No exclamation marks in headlines, no ALL CAPS | |
| 20% text rule for images relaxed but minimized | |
| Professional tone, no clickbait | |
| All | No deceptive claims, landing page relevance |
Step 10: Performance Optimization Notes
Test priority order:
- Headlines (biggest impact)
- Primary CTA
- Offer/value proposition
- Description copy
- 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
## 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 - Compliance guidelines
- Facebook Ad Library - Competitor research
- SparkToro - Audience research
- Hemingway Editor - Readability check
Source
git clone https://github.com/WesleySmits/agent-skills/blob/main/.agent/skills/ad-copy-generator/SKILL.mdView on GitHub Overview
Generates platform-specific ad copy for paid campaigns across Google Ads, Facebook/Instagram, LinkedIn, and more. It outputs multiple headline variants and body copy tailored to each platform, plus AB test variations, while enforcing character limits. This speeds up campaign setup and improves CTR and conversions.
How This Skill Works
It identifies the target platform and campaign goal, then collects offer details and audience inputs. It then creates headline variants, writes the body copy, and assembles AB test variations, all while validating each platformβs character limits.
When to Use It
- When a user asks for ad copy for a paid campaign such as PPC or social ads.
- When Google Ads headlines or descriptions are needed.
- When you want Facebook or Instagram ad copy with primary text, headline, and description.
- When LinkedIn ads are required (intro text and headline).
- When A/B test variants are needed to compare ad performance.
Quick Start
- Step 1: Identify the platform and campaign goal.
- Step 2: Gather offer details and audience information.
- Step 3: Generate platform-specific headlines and body copy, then create AB test variants and verify character limits.
Best Practices
- Define the target platform and campaign goal before writing copy.
- Provide offer details, audience insights, and a clear CTA to guide tone.
- Generate 2β3 headline variants per platform and include at least one descriptive body option.
- Always validate character limits for each platform and adjust lengths accordingly.
- Prepare and label AB variants so performance can be tracked and iterated.
Example Use Cases
- Google Search: Headline variants like Lose 10 Pounds in 30 Days; Description Quick plan to shed pounds fast.
- Google Display: Headline variants like Save Time with TaskFlow; Description Boost productivity with streamlined workflows.
- Facebook/Instagram: Primary text Ready to streamline your marketing? Headline Get a Free Trial; Description Start now.
- LinkedIn: Intro text Build a scalable workflow; Headline The Enterprise Guide to AI Adoption.
- Twitter/X: Ad copy 280 chars max Discover a faster way to manage projects with TaskFlow. Try it today.