Install
$ agentstack add skill-zubair-trabzada-ai-ads-claude-ads-copy ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Platform-Specific Ad Copy Generator
Skill Purpose
Generate 10+ production-ready ad copy variations for a specified advertising platform. Every ad is written to exact platform specifications (character limits, format requirements, best practices), includes A/B variations, and uses proven direct-response copy frameworks. Output is copy-paste ready — an ad buyer can drop these directly into the ad platform without editing.
When to Use
- User runs
/ads copy - User asks to generate ad copy for a specific platform
- Called as a subagent from
/ads strategy(the main orchestrator) - User needs ready-to-use ad text for any major ad platform
- User wants multiple copy variations for A/B testing
Input Requirements
- Required: Target platform (google, meta, linkedin, tiktok, youtube, pinterest)
- Required: Business context — either a URL to analyze, or prior audience/strategy data
- Optional: Specific product/service to advertise, audience persona to target, offer/promotion details, tone preferences
Supported Platforms & Ad Formats
Google Ads
| Format | Headlines | Descriptions | Other | |---|---|---|---| | Responsive Search Ad (RSA) | Up to 15 headlines (30 chars each) | Up to 4 descriptions (90 chars each) | Display URL paths (15 chars each) | | Display Ad | 1-5 headlines (30 chars), 1 long headline (90 chars) | 1-5 descriptions (90 chars) | Business name (25 chars) | | Performance Max | 5 headlines (30 chars), 5 long headlines (90 chars) | 5 descriptions (90 chars) | Call-to-action text |
Meta (Facebook/Instagram)
| Format | Primary Text | Headline | Description | Other | |---|---|---|---|---| | Facebook Feed | 125 chars (visible), 500+ allowed | 40 chars | 30 chars | CTA button | | Instagram Feed | 125 chars (visible), 2200 max | 40 chars | N/A | CTA button | | Stories/Reels | Minimal text overlay | Short overlay text | N/A | Swipe-up CTA |
| Format | Intro Text | Headline | Description | Other | |---|---|---|---|---| | Sponsored Content | 150 chars (truncated), 600 max | 70 chars | 100 chars (optional) | CTA button | | Message Ads | 500 chars subject, 1500 body | N/A | N/A | CTA button + banner | | Text Ads | N/A | 25 chars | 75 chars | 50x50 image |
TikTok
| Format | Ad Text | Display Name | Other | |---|---|---|---| | In-Feed | 100 chars | 40 chars | CTA button, hashtags | | TopView | 100 chars | 40 chars | First ad users see | | Spark Ads | Use original post caption | Original creator | Boost existing content |
YouTube
| Format | Script Length | On-Screen Text | Other | |---|---|---|---| | Bumper Ad (6s) | ~15-20 words | 1-2 text overlays | Non-skippable | | Pre-roll (15s) | ~35-45 words | 2-3 text overlays | Skippable after 5s | | Non-skip (30s) | ~70-90 words | 3-5 text overlays | Non-skippable |
| Format | Title | Description | Other | |---|---|---|---| | Standard Pin | 100 chars | 500 chars | Link URL | | Video Pin | 100 chars | 500 chars | Link URL | | Carousel | 100 chars per card | 500 chars | 2-5 cards |
How to Execute
Step 1: Gather Business Context
If a URL is provided, fetch it using WebFetch and extract:
- Business name and industry
- Core value proposition
- Key products/services and pricing
- Target audience indicators
- Tone of voice and brand personality
- Unique selling points (USPs)
- Social proof elements (reviews, client count, years in business)
- Current offers or promotions
If audience data exists from a prior /ads audience run, reference the top personas.
Run supplementary research:
WebSearch: "[Business Name]" ads OR advertising
WebSearch: "[Industry]" best performing ad copy examples
WebSearch: "[Industry]" [platform] ad examples
Step 2: Define Copy Inputs
Before writing any ad, establish these foundational elements:
## Copy Foundation
**Business:** [Name]
**Industry:** [Category]
**Platform:** [Selected platform]
**Primary Offer:** [What they're selling/promoting]
**USP:** [What makes them different — the #1 differentiator]
**Target Persona:** [Primary persona from audience research]
**Desired Action:** [What do we want the viewer to DO]
**Tone:** [Professional / Casual / Bold / Playful / Urgent / Authoritative]
**Proof Points:** [Stats, testimonials, awards, client count, results]
**Price/Offer:** [Pricing, discount, free trial, free consultation]
Step 3: Generate Ad Variations Using 4 Copy Frameworks
For each ad, apply one of the four frameworks:
Framework 1: PAS (Problem-Agitate-Solve)
- Problem: State the pain point the audience feels
- Agitate: Twist the knife — make them feel the cost of inaction
- Solve: Present the product/service as the relief
Framework 2: AIDA (Attention-Interest-Desire-Action)
- Attention: Bold opening that stops the scroll
- Interest: Interesting fact, story, or angle that pulls them in
- Desire: Paint the outcome — what life looks like after buying
- Action: Clear, compelling CTA
Framework 3: BAB (Before-After-Bridge)
- Before: Their current painful situation
- After: The transformed state they want
- Bridge: The product/service that gets them there
Framework 4: 4Ps (Promise-Picture-Proof-Push)
- Promise: Bold claim or guarantee
- Picture: Vivid image of the result
- Proof: Evidence (testimonial, stat, case study)
- Push: Urgency or scarcity to act now
Step 4: Write Platform-Specific Ads
Generate at least 10 ad variations with A/B pairs for each. Use this structure:
Ad Variation Template (Google RSA Example)
### Ad [Number] — [Framework Used] | Angle: [Pain/Benefit/Social Proof/Urgency]
**Version A:**
| Element | Copy | Chars |
|---|---|---|
| Headline 1 | [headline text] | [count]/30 |
| Headline 2 | [headline text] | [count]/30 |
| Headline 3 | [headline text] | [count]/30 |
| Description 1 | [description text] | [count]/90 |
| Description 2 | [description text] | [count]/90 |
| Display Path 1 | [path text] | [count]/15 |
| Display Path 2 | [path text] | [count]/15 |
| CTA | [call to action] | — |
**Version B (A/B Variation):**
| Element | Copy | Chars |
|---|---|---|
| Headline 1 | [alternate headline] | [count]/30 |
| Headline 2 | [alternate headline] | [count]/30 |
| Headline 3 | [alternate headline] | [count]/30 |
| Description 1 | [alternate description] | [count]/90 |
| Description 2 | [alternate description] | [count]/90 |
| Display Path 1 | [path text] | [count]/15 |
| Display Path 2 | [path text] | [count]/15 |
| CTA | [call to action] | — |
**Why this works:** [2-3 sentences explaining the psychology and angle]
**Best for:** [which audience persona / funnel stage]
**Testing note:** [what's being tested between A and B]
Ad Variation Template (Meta Example)
### Ad [Number] — [Framework Used] | Angle: [Pain/Benefit/Social Proof/Urgency]
**Version A:**
| Element | Copy | Chars |
|---|---|---|
| Primary Text | [full ad copy — can be multi-line, include emojis where appropriate] | [count] |
| Headline | [headline text] | [count]/40 |
| Description | [description text] | [count]/30 |
| CTA Button | [Shop Now / Learn More / Sign Up / Get Offer / Book Now / Contact Us] | — |
**Version B (A/B Variation):**
| Element | Copy | Chars |
|---|---|---|
| Primary Text | [alternate copy] | [count] |
| Headline | [alternate headline] | [count]/40 |
| Description | [alternate description] | [count]/30 |
| CTA Button | [alternate CTA] | — |
**Why this works:** [explanation]
**Best for:** [persona / funnel stage]
**Testing note:** [what's being tested]
Step 5: Ad Distribution Across Frameworks and Angles
Ensure the 10+ ads are distributed across frameworks and angles:
| # | Framework | Angle | Funnel Stage | |---|---|---|---| | Ad 1-2 | PAS | Pain/Problem | TOFU (awareness) | | Ad 3-4 | AIDA | Benefit/Transformation | TOFU (awareness) | | Ad 5-6 | BAB | Before/After | MOFU (consideration) | | Ad 7-8 | 4Ps | Social Proof/Authority | MOFU (consideration) | | Ad 9-10 | PAS | Urgency/Scarcity | BOFU (conversion) | | Ad 11-12 | AIDA | Objection Handling | BOFU (conversion) |
Step 6: Platform-Specific Best Practices
Include a best practices section at the end of the output:
Google Ads:
- Pin Headline 1 with brand name or primary keyword for RSAs
- Use keyword insertion syntax: {KeyWord:Default Text}
- Include numbers and percentages (they increase CTR)
- Every headline should make sense standalone and in combination
- Use at least 1 headline with a CTA, 1 with a benefit, 1 with a keyword
Meta (Facebook/Instagram):
- First line must hook — only 125 chars show before "See More"
- Use line breaks and emojis to improve readability
- Social proof in primary text outperforms features
- Questions as headlines drive 30-50% more engagement
- Stories ads: keep text minimal, let visuals carry the message
LinkedIn:
- Professional tone but not boring — conversational authority works best
- Stats and data outperform emotional appeals
- Tag company pages in Sponsored Content for social proof
- Message Ads: personalize the subject line and keep body under 500 words
- Questions in intro text drive 50% more clicks
TikTok:
- Write like a creator, not a brand
- Use trending language and casual tone
- Hashtag strategy: 3-5 relevant hashtags, 1 branded
- Spark Ads (boosting organic posts) outperform traditional ads 2:1
- First 2 seconds determine if they watch or scroll
YouTube:
- Bumper (6s): One message, one visual, one CTA — that's it
- Pre-roll (15s): Hook in first 5 seconds before skip button appears
- Include a clear verbal CTA + on-screen CTA
- Cards and end screens extend engagement
Pinterest:
- Use keyword-rich descriptions (Pinterest is a search engine)
- 500-character descriptions perform best
- Include pricing in Pin titles when relevant
- Vertical format (2:3 aspect ratio) gets 60% more engagement
- Call-to-action language increases click-through by 70%
Step 7: Headline Bank
Include a supplementary headline bank organized by angle:
## Headline Bank (Quick-Reference)
### Benefit-Driven Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
4. [headline] ([char count])
5. [headline] ([char count])
### Pain-Point Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
4. [headline] ([char count])
5. [headline] ([char count])
### Social Proof Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
### Urgency/Scarcity Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
### Question Headlines
1. [headline] ([char count])
2. [headline] ([char count])
3. [headline] ([char count])
Output Format
Save the complete output to ADS-COPY-[PLATFORM].md in the current working directory.
Replace [PLATFORM] with the actual platform name in caps: GOOGLE, META, LINKEDIN, TIKTOK, YOUTUBE, PINTEREST.
File structure:
# Ad Copy — [Platform]: [Business Name]
> Generated [date] | Source: [URL]
> Platform: [Platform] | Formats: [list of ad formats covered]
> Framework Mix: PAS, AIDA, BAB, 4Ps
## Copy Foundation
[copy inputs section]
## Ad Variations
### Ad 1 — [Framework] | [Angle]
[full ad with A/B variation]
### Ad 2 — [Framework] | [Angle]
[full ad with A/B variation]
[...continue for all 10+ ads]
## Headline Bank
[organized headline collection]
## Platform Best Practices
[platform-specific tips]
## Next Steps
1. Upload ads to [Platform] Ads Manager
2. Set up A/B tests: start with Ad [X]a vs Ad [X]b
3. Run `/ads hooks` to generate additional scroll-stopping openers
4. Run `/ads video ` if video ads are needed
5. Monitor CTR for first 72 hours, pause underperformers at [threshold]
Quality Checklist
Before delivering the output, verify:
- [ ] At least 10 ad variations generated
- [ ] Every ad has an A/B variation
- [ ] All character counts are within platform limits
- [ ] Character counts are displayed next to every copy element
- [ ] All 4 copy frameworks are represented
- [ ] Ads cover TOFU, MOFU, and BOFU funnel stages
- [ ] Each ad includes "why this works" explanation
- [ ] Platform-specific formatting is correct (emojis for Meta, professional for LinkedIn, etc.)
- [ ] CTA buttons/text match platform options
- [ ] Headline bank is included
- [ ] Best practices section is included
- [ ] Output file is named correctly: ADS-COPY-[PLATFORM].md
Copy Quality Standards
Every piece of ad copy must follow these rules:
- Specific over vague — "Save 3 hours per week" beats "Save time"
- Numbers beat words — "4.9-star rated" beats "highly rated"
- You over we — "You'll get..." beats "We offer..."
- Active voice only — "Cut your costs by 40%" beats "Costs can be reduced"
- One CTA per ad — Never split attention between two actions
- Proof over claims — "Trusted by 10,000+ businesses" beats "The best solution"
- Benefit over feature — "Sleep better tonight" beats "Memory foam mattress"
- Platform-native tone — TikTok reads like a friend, LinkedIn reads like a thought leader, Google reads like an answer
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: zubair-trabzada
- Source: zubair-trabzada/ai-ads-claude
- License: MIT
- Homepage: https://www.skool.com/aiworkshop
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.