6 ad copy variations (2 TOFU + 2 MOFU + 2 BOFU) for global markets. Frameworks: AIDA, PAS, BAB. Platforms: Meta, Google, TikTok. INCLUDES Dropshipping Mode (4 templates) for Shopify dropshippers. Trigger: 'ad copy', 'Facebook ads', 'TikTok ads', 'Google Ads copy', 'dropshipping ads', 'Shopify ads'.
npx skills add https://github.com/minhnv0807/ai-business-skills --skill 05-ad-copy-global
Before writing ad copy, read context file (if exists):
.agents/product-marketing-context.md (product marketing).agents/personal-brand-context.md (personal brand)Decide mode:
product-marketing-context.md exists -> MODE A (default — 6 TOFU/MOFU/BOFU variations)personal-brand-context.md exists -> MODE B (Personal Brand Mode)Ask up to 4 questions before writing:
On Meta Ads, only the first 125 characters show before "See more" button. Line 1 of primary text must:
GOOD: "Tired of acne for 3+ years? A 28-day routine — guaranteed clear skin or refund." (76 chars)
BAD: "Hello there, thank you for your interest in our services. Today I want to share..." (cut mid-sentence)
| # | Trigger | Description | Example |
|---|---------|-------------|---------|
| 1 | Pain | Hit current problem — create empathy | "Tired of breakouts? You're not alone..." |
| 2 | Aspiration | Paint a better future image | "Imagine clear, confident skin without filters" |
| 3 | FOMO | Fear of missing out, scarcity | "Only 12 slots left this month — 89 people booked" |
| 4 | Social Proof | Others did and succeeded | "1,200 customers tried — 4.8/5 stars" |
| 5 | Authority | Experts, certifications, experience | "10 years experience — board-certified dermatologist consults directly" |
| 6 | Curiosity | Spark questions, want to know more | "There's 1 thing 90% of skincare users get wrong — do you know?" |
Trigger rules by funnel:
| Temperature | Priority frameworks | Why |
|-------------|---------------------|-----|
| Cold (unaware) | AIDA, Star·Story·Solution | Logic from scratch; storytelling without ad-feel |
| Warm (engaged, no purchase) | PAS, 4P | Re-trigger pain; build trust with proof |
| Hot (high intent, near purchase) | FAB, BAB | Hammer specific benefits; visual transformation |
| Retarget (viewed, no purchase) | PAS or BAB | Reinforce consequences or transformation |
| Framework | Structure | When to use | Best platforms |
|-----------|-----------|-------------|----------------|
| AIDA | Attention -> Interest -> Desire -> Action | Cold audience, new product launch | Meta feed, TikTok, YouTube pre-roll |
| PAS | Problem -> Agitate -> Solution | Warm audience, clear pain (spa, health, edu) | Meta feed, LinkedIn, Google RSA |
| BAB | Before -> After -> Bridge | Transformation offer (spa, fitness, edu) | Meta Reels/Stories, TikTok |
| 4P | Promise -> Picture -> Proof -> Push | High-ticket, requires trust (real estate, courses, B2B) | LinkedIn, Google, long Meta feed |
| FAB | Features -> Advantages -> Benefits | High-intent, comparison stage | Google RSA, Meta retarget |
| Star·Story·Solution | Star -> Story -> Solution | Brand storytelling, UGC-style, no ad-feel | TikTok, Reels, YouTube Shorts |
> Common mistake: Writing freeform (intro -> features -> CTA) instead of using a framework. Result: bland copy, low CTR. Each of the 6 variations should use a different framework.
> Meta 2026: Andromeda system clusters ads with Creative Similarity Score > 60% — auto-reduces delivery. 100 minor variations (color swap, clip cut, font change) is NOT better than 10 truly distinct creatives.
Safety thresholds:
| Similarity Score | Status | Action |
|------------------|--------|--------|
| < 40% | Safe | Continue |
| 40-60% | Warning | Re-check — may cluster |
| > 60% | Danger | Andromeda clusters -> auto delivery cut |
5 dimensions of diversity:
First 125 chars = ad hook. Each variation should use a different hook type:
| # | Hook type | Formula | Example |
|---|-----------|---------|---------|
| 1 | Number | Specific, surprising stat | "1,247 customers tried — 98% returned for round 2" |
| 2 | Counterintuitive | Flip common belief | "Running MORE ads won't get you more customers" |
| 3 | Before/After | Specific transformation | "From 5 orders/week to 40 orders/week — in 60 days" |
| 4 | Borrowed authority | Name expert/cert/brand | "Top dermatologist with 15 years experience recommends — surprising reason" |
| 5 | Confession | Share real mistake/lesson | "I burned $200K on bad ads — here's what I do now" |
| 6 | Urgency | Time/quantity limit | "8 slots left this June — 34 people waiting" |
Hook selection by funnel:
Hook check:
Score on 5 criteria, 1-10 each. Only deliver if >= 35/50.
| Criterion | 8-10 points | 5-7 points | 1-4 points |
|-----------|-------------|------------|------------|
| Hook strength | Strong curiosity, specific number/detail, funnel-fit | Acceptable but unimpressive | Generic, no anchor |
| Emotional trigger | Clear trigger (Pain/FOMO/Social proof), felt | Has trigger but mild | No trigger, no feeling |
| CTA clarity | Specific, clear action, single step | CTA exists but unclear | Vague ("Learn more", "Click here") |
| Compliance | 0 policy violations | 1 mild warning | Clear violation = rejected |
| Platform fit | Char limit correct, voice matches platform | Close enough | Wrong limit or wrong voice |
| Total | Rating | Action |
|-------|--------|--------|
| 45-50 | Excellent | Ship now, monitor performance |
| 35-44 | Good | Ship with improvement notes |
| 25-34 | Average | Revise before shipping |
| < 25 | Weak | Rewrite from scratch |
> Add this line to every output: Copy Score: [X]/50 — [Rating]
| Rule | Meta Ads | TikTok Ads | Google Ads |
|------|----------|------------|------------|
| Primary text length | 125 char line 1 + 300-500 full | 80-100 char (text overlay) | No primary text |
| Headline | Max 40 char | None | Max 30 char x 3 |
| Description | Max 30 char | None | Max 90 char x 2 |
| Voice | Professional but friendly | Young, natural, conversational | Direct, keyword-driven |
| CTA button | Pick from Meta list | No button — CTA in text | No button — CTA in headline |
| Image / Video | 1:1 (feed), 9:16 (story/reel) | 9:16 mandatory | N/A (search) |
Specific > vague. Clear action > ambiguous.
| Strength | CTA | When to use |
|----------|-----|-------------|
| Strongest | "Message us to book a slot" | Messages goal, BOFU |
| Strong | "Book free consultation" | Lead form, MOFU/BOFU |
| Medium | "See pricing details" | Traffic, MOFU |
| Light | "Learn more" | Awareness, TOFU |
Avoid: Generic CTAs without action ("Click here", "Contact now").
| Rule | Detail | Violation = ad rejected |
|------|--------|------------------------|
| No absolute claims | Avoid "guaranteed", "100%", "definitely" | Yes |
| No "free" in headline | Meta flags "free" in headline — use in body instead | Yes |
| No excessive "promo" | Once in body — no repeat | Yes |
| No personal attributes | Avoid "Are you fat?", "Do you have acne?" — use "Many people experience..." | Yes |
| Realistic before/after | No heavy retouching of before/after photos | Yes |
| No sensitive imagery | No close-up acne, wounds, body parts | Yes |
| Mandatory disclaimer | Supplements, medical — disclaimer required | Yes |
# Ad Copy: [Product/Campaign Name]
Date: [YYYY-MM-DD]
Platform: [Meta Ads / TikTok Ads / Google Ads]
Goal: [Messages / Lead / Traffic / Conversion]
Audience: [Brief description]
Main USP: [1 sentence]
| Component | Content |
|-----------|---------|
| Trigger | [Pain / Curiosity / Aspiration] |
| Primary text (125 char) | [Line 1 — shown before "See more"] |
| Primary text (full) | [Full content — 300-500 char] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Learn More / Send Message] |
| Creative note | [Image/video brief] |
_(Same structure, different angle and trigger)_
| Component | Content |
|-----------|---------|
| Trigger | [Social Proof / Authority] |
| Primary text (125 char) | [Line 1] |
| Primary text (full) | [Full content — emphasize proof, reviews, numbers] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Send Message / Book Now] |
| Creative note | [Use review/before-after creative] |
_(Same structure, different angle)_
| Component | Content |
|-----------|---------|
| Trigger | [FOMO / Social Proof] |
| Primary text (125 char) | [Line 1 — emphasize urgency, scarcity] |
| Primary text (full) | [Full content — deadline, quantity, specific offer] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Book Now / Send Message / Buy Now] |
| Creative note | [Numbers, countdown] |
For users who messaged but didn't book / viewed but didn't purchase.
| Component | Content |
|-----------|---------|
| Trigger | [Pain + FOMO] |
| Primary text (125 char) | [Reminder — "Last week you asked about..."] |
| Primary text (full) | [Re-trigger pain, add new proof, limited offer] |
| Headline | [Max 40 char] |
| Description | [Max 30 char] |
| CTA button | [Send Message / Book Now] |
| Creative note | [Different from first ad — avoid ad fatigue] |
| # | Funnel | Angle | Trigger | Hook (125 char) | CTA |
|---|--------|-------|---------|-----------------|-----|
| 1 | TOFU | [Angle 1] | [Trigger] | [125 char] | [CTA] |
| 2 | TOFU | [Angle 2] | [Trigger] | [125 char] | [CTA] |
| 3 | MOFU | [Angle 3] | [Trigger] | [125 char] | [CTA] |
| 4 | MOFU | [Angle 4] | [Trigger] | [125 char] | [CTA] |
| 5 | BOFU | [Angle 5] | [Trigger] | [125 char] | [CTA] |
| 6 | BOFU | Retarget | [Trigger] | [125 char] | [CTA] |
| Test | Variation A | Variation B | Metric | Duration |
|------|-------------|-------------|--------|----------|
| Hook | Variation 1 | Variation 2 | CTR, CPMess | 3-5 days |
| CTA | Variation 3 | Variation 4 | Conversion rate | 3-5 days |
| Offer | Variation 5 | Variation 6 | ROAS, CPA | 5-7 days |
Test rules:
> Activates when user mentions: "dropshipping", "shopify product", "winning product".
> Different from regular ad copy — focused on impulse purchase, urgency, scarcity.
Template 1: Urgency Hook
Template 2: Scarcity Hook
Template 3: Problem-Aware Hook
Template 4: Transformation Hook
For full dropshipping pipeline, see skill 29-dropshipping-mastery-global and reference dropshipping-tools-global.md.
Check before delivery:
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take minhnv0807/05-ad-copy-global 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.