skills/ad-creative/SKILL.md
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' or 'ad performance optimization.' This skill covers generating ad creative at scale, iterating based on performance data, and enforcing platform character limits. For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting.
npx skillsauth add realjaymes/marketingagentskills ad-creativeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an expert performance creative strategist. Your goal is to generate high-performing ad creative at scale — headlines, descriptions, and primary text that drive clicks and conversions — and iterate based on real performance data.
This skill follows the shared creative vault protocol in ~/.claude/references/creative-vault-protocol.md. Read that file before producing ad creative at volume.
Areas/Work/Creative/[Brand]/YYYY-MM-DD - [campaign-slug]/00 - [Campaign Name] Ad Creative.md with type: creative-asset, asset_type: ad-copy, skill: /ad-creative01 - Draft.md with type: creative-draft. For multi-platform batches, use 01 - Google RSAs.md, 02 - Meta Ads.md, 03 - LinkedIn Ads.md, etc.docx (ad copy ships as a structured doc or CSV for upload — docx preserves the variation tables cleanly)Scope exception: Quick headline rewrites or single-variation edits in conversation stay in chat. Write to the vault when producing bulk variations (10+ headlines, full RSA sets, multi-platform batches) or anything that needs to be handed to a media buyer.
Brand detection: Ask James which brand/product/campaign this is for (MIA, Titaja, a client under Clients/, personal). For MIA Academy products, route under the appropriate Academy sub-folder.
No .docx or .pdf is produced on first pass. Present the variations in chat for James to review and filter, write the approved set to the vault as markdown, and only export when James triggers it explicitly.
Check for product marketing context first:
If .agents/product-marketing.md exists (or .agents/product-marketing-context.md or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
If audience pain points are vague or assumed, this skill will research real audience conversations on the target market's primary platforms before generating creative.
When generating image briefs or video scripts, ask if style is not specified:
"Do you prefer aggressive/emotionally direct style or standard style for this creative?"
Default: Aggressive/emotionally direct — especially for Nigerian market, diaspora audiences, and MIA Academy products.
The aggressive style uses competitor comparison hooks, ₦/$ financial tension framing, CAPS/bold/emoji for emphasis, a Pain-Vision-CTA arc, and a Two Choices close. It is not appropriate for every product or audience — ask if the target market or product context is unclear.
For text-only ad copy (Google RSAs, headlines/descriptions), style is determined by audience tone and platform, not this setting.
See references/aggressive-creative-templates.md for complete templates and worked examples.
This skill supports two modes:
When starting fresh, you generate a full set of ad creative based on product context, audience insights, and platform best practices.
When the user provides performance data (CSV, paste, or API output), you analyze what's working, identify patterns in top performers, and generate new variations that build on winning themes while exploring new angles.
The core loop:
Pull performance data → Identify winning patterns → Generate new variations → Validate specs → Deliver
Before generating any creative, always present the full list of available creative types, make recommendations based on the user's context, and ask the user to choose which types they want.
Present this table to the user:
| # | Creative Type | Best Funnel Stage | Best For | |---|--------------|-------------------|----------| | 1 | Pain Point | TOFU | Naming a specific frustration the audience feels | | 2 | Cost of Inaction | MOFU | Quantifying what inaction costs (dollars, time, opportunity) | | 3 | Product Demo | MOFU | Showing the product in action for solution-aware audiences | | 4 | How-To / Explainer | TOFU | Teaching something useful, building authority | | 5 | Testimonial | BOFU | Customer quotes and social proof for warm audiences | | 6 | Case Study | MOFU-BOFU | Before/after metrics from a specific customer | | 7 | Founder's Story | TOFU-MOFU | Origin story, personal credibility, brand building | | 8 | Us vs Them | MOFU | Direct comparison with competitors or the old way | | 9 | Objection Handling | BOFU | Addressing the top reason people do not buy | | 10 | Thought Leader | TOFU | Strong POV or industry insight that earns authority | | 11 | Interview | TOFU-MOFU | Expert or customer conversation, borrowed credibility | | 12 | Lifestyle | TOFU | Aspirational imagery showing the desired end state | | 13 | Memes / Humor | TOFU | Insider humor, cultural moments, shareability | | 14 | Before/After | TOFU-BOFU | Visual transformation showing a clear state change | | 15 | Problem/Solution | TOFU-MOFU | Pairing the felt problem with the fix in one ad | | 16 | Incentive | BOFU | Offer, discount, bonus, or free trial as the hero | | 17 | Urgency | BOFU | Time-bound deadline, countdown, scarcity |
After presenting the table, add recommendations based on context:
Recommendation logic:
Example recommendation format:
Based on your context, I recommend these creative types:
- Pain Point — Your audience is problem-aware, and this grounds the campaign in their daily frustration
- Problem/Solution — Pairs well with Pain Point but adds the resolution in one ad
- Testimonial — You mentioned having strong customer results, this is where they shine
You can pick any combination from the full list above. Which types do you want me to generate?
Do not skip this step. Always present the options and wait for the user's selection before generating creative.
Always enforce these limits. Never deliver creative that exceeds platform character limits.
| 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:
| Element | Visible Preview | Full Capacity | Notes | |---------|----------------|---------------|-------| | Primary text | ~125 characters | No hard limit | First ~125 chars display before "See more." Full text expands on tap. Front-load the hook in the first 125 chars, then use the expanded space for emotional persuasion, pain stacking, proof, and CTA. | | Headline | 40 characters | 40 characters | Bold text below the creative. Keep as short as possible to avoid truncation. | | Description | 25 characters | 25 characters | Text below the headline. May not display on all placements. | | URL display link | 40 characters | 40 characters | Optional |
Primary text strategy: The first ~125 characters are the hook. They must stop the scroll and earn the "See more" tap. Everything after the fold is persuasion space. Use it. Write primary text that follows an aggressive emotional arc: hook → pain → gap → vision → proof → CTA. This mirrors what converts in direct response sales pages and is the default for Nigerian markets, diaspora audiences, and digital product campaigns.
Primary text default style: Aggressive/emotionally direct. Primary text should use the Pain-Vision-CTA arc, present-tense loss framing, competitor comparison hooks, specific ₦/$ figures, and closing CTAs (not inviting ones). This is the style that converts for Nigerian and diaspora audiences. For B2B SaaS targeting enterprise or formal professional audiences, dial back to standard tone only when explicitly requested.
Primary text structure (default):
[HOOK — first 125 chars, scroll-stopping, specific]
---after "See more"---
[PAIN — name the daily reality they hate, present tense]
[GAP — what winners know that they don't]
[VISION — specific outcomes with ₦/$ figures]
[PROOF — testimonial, result, or before/after]
[CTA — closing, not inviting. "Apply now." not "Learn more."]
Meta truncation warning: Headlines, descriptions, and URL display links have hard limits. Primary text has no hard limit but only ~125 chars show before "See more." Treat the fold as a hook opportunity, not a constraint.
5x5x5 production rule for Meta ads: Every ad angle must produce 5 headlines, 5 primary texts, and 5 descriptions. This gives 125 possible combinations per angle for testing. Headlines, primary texts, and descriptions within the same angle should be mix-and-matchable. Primary texts should each be full-length (hook + expanded persuasion), not truncated to 125 chars.
| 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 |
| Element | Limit | Required | Notes | |---------|-------|----------|-------| | Ad text | 100 characters | Yes | Hook text above the video. Must be a strong, scroll-stopping hook. | | Product name | 40 characters | Yes | Product title displayed in the ad unit | | Selling points | 25 chars each, 3-4 recommended | Optional | Short proof/benefit tags (e.g., "Step-by-step, no fluff", "Used by 5,000+ owners") | | CTA button | Platform preset | Yes | Shop Now, Learn More, Contact Us, Sign Up, Download, etc. | | Destination URL | No limit | Yes | Website, store page, WhatsApp link (wa.me/number), or landing page | | Promo code or offer | No strict limit | Optional | Highlighted by TikTok to boost engagement (e.g., "Extra 50% off") |
TikTok video specs: Vertical 9:16 only. 15-30s for awareness, 30-60s for conversion. Videos over 60s underperform as ads.
TikTok ad text rules: Categorize variations by type (hook-driven, problem-aware, proof-driven, fear-driven, offer-driven, social-proof). Generate 5-6 variations per angle across at least 3 types. Recommend top 5 for rotation with reasoning.
TikTok selling point rules: Must be outcome-driven and product-specific. Avoid generic suggestions ("Limited-time offer", "Best seller") unless genuinely applicable. Keep to 3-4 max.
TikTok CTA rules: Match CTA to purchase intent. "Shop Now" for direct purchase, "Learn More" for educational content, "Contact Us" only when human interaction is the path. Keep to 2-3 variations for testing.
| 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.
For structured production briefs that can be filled in by a creator and handed to a designer or video editor:
All template files are structured for dual use: Claude can auto-fill them from product-marketing-context, and humans can fill them manually.
For image and video ad creative, use generative AI tools and code-based video rendering. See references/generative-tools.md for the complete guide covering:
Recommended workflow for scaled production:
Before defining angles, identify the target market and research real audience conversations. This grounds every ad in verified pain points and cultural context instead of assumptions.
Identify the target market (from product-marketing-context or ask):
Research using market-appropriate platforms. The platforms where real conversations happen vary by market.
| Market | Primary Research Platforms | |--------|--------------------------| | Nigeria / West Africa | Twitter/X (Nigerian Twitter), Facebook Groups, Nairaland, Instagram, TikTok | | Nigerian diaspora (US/UK/CA) | Twitter/X, Instagram, TikTok, Facebook Groups, Reddit (diaspora subs) | | US / North America (B2B) | Reddit, G2/Capterra, LinkedIn, Twitter/X | | US / North America (B2C) | TikTok, Twitter/X, Reddit, Instagram | | Global / multi-market | Research the primary market first, then validate with secondary markets |
Run 3-5 WebSearch queries across these categories:
Audience pain points — What does the audience complain about on their platforms? Use market-specific queries:
"[problem] Nigeria" site:twitter.com or "[audience] frustrated" site:nairaland.com"[role] frustrated with [category]" site:reddit.com or "[category] complaints" site:g2.comCultural trends & moments — What is the target market talking about RIGHT NOW?
Competitor messaging — What language are competitors using in this market? What angles are saturated?
Audience language — Capture exact words, phrases, slang, and idioms. The way a Lagos business owner describes a problem differs from a San Francisco PM.
Research output format:
## Audience Research Summary
### Target Market
- **Geography:** [e.g., Nigeria (Lagos, Abuja, PH) + diaspora (London, Houston)]
- **Audience:** [e.g., Small business owners, 25-45, digital-first]
- **Platforms researched:** [e.g., Twitter/X, Facebook Groups, Nairaland, TikTok]
### Pain Points (from target market platforms)
- [Pain 1]: "[exact quote]" — [platform/source]
- [Pain 2]: "[exact quote]" — [platform/source]
### Cultural Context & Trends
- [Trend/moment 1]: [what + why it matters for this audience]
- Current cultural moments: [holidays, events, viral topics]
### Competitor Messaging in This Market
- [Competitor 1]: [primary angle/message]
- Saturated angles to avoid: [list]
### Audience Language Patterns
- Words/phrases for the problem: [list, include local terms/slang]
- Words/phrases for desired outcome: [list]
- Tone and register: [formal, casual, pidgin, mix]
When to skip: Mode 2 (performance data is the research), user provides detailed market-specific research, or quick variations on existing copy.
When to always research: Mode 1 from scratch with vague audience info, new angle/direction, new audience segment, or non-US market where cultural context is more critical.
Before writing individual headlines, establish 3-5 distinct angles — different reasons someone would click. Each angle should tap into a different motivation.
Angle categories (with underlying principles):
| Category | Example Angle | Principles at Work | |----------|---------------|--------------------| | Pain point | "Stop wasting time on X" | Loss Aversion, Relevance | | Outcome | "Achieve Y in Z days" | Clarity, Proof of Value | | Social proof | "Join 10,000+ teams who..." | Social Proof, Familiarity, Trust | | Curiosity | "The X secret top companies use" | Attention, Authority | | Comparison | "Unlike X, we do Y" | Differentiation, Category, Perception | | Urgency | "Limited time: get X free" | Loss Aversion, Timing, Commitment | | Identity | "Built for [specific role/type]" | Relevance, Focus, Familiarity | | Contrarian | "Why [common practice] doesn't work" | Attention, Differentiation | | Story | "How [customer] went from X to Y" | Story, Proof Over Promise, Trust | | Authority | "Recommended by [expert/publication]" | Authority, Social Proof |
For the full 30 marketing principles and how they map to ad elements, see references/marketing-principles.md.
Before generating variations, check that your planned angles collectively cover all 6 required ad elements:
| Element | Covered? | Which angle handles it? | |---------|----------|----------------------| | Hook (attention grab) | | | | Pain Point (felt problem) | | | | Value / Proof (evidence) | | | | Offer (what they get) | | | | Urgency (reason to act now) | | | | CTA (specific next step) | | |
If any element is missing across the angle set, add an angle or adjust an existing one to cover it. For text-only ads (Google RSAs), some elements compress into headlines and descriptions. For video ads, each element maps to a time segment.
For each angle, generate multiple variations. Vary:
Before delivering, check every piece of creative against the platform's character limits. Flag anything that's over and provide a trimmed alternative.
Present creative in a structured format that maps to the ad platform's upload requirements.
When the user provides performance data, follow this process:
Look at the top-performing creative (by CTR, conversion rate, or ROAS — ask which metric matters most) and identify:
Look at the worst performers and identify:
Create new creative that:
Track what was learned and what's being tested:
## 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]
Strong headlines:
Avoid:
Descriptions should complement headlines, not repeat them. Use descriptions to:
Organize by angle, with character counts. For Meta ads, always produce the full 5x5x5 set per angle.
Google Ads output:
## 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)
Meta Ads output (5x5x5 per angle):
## Angle: [Income Gap]
### Headlines (40 char max)
1. "They Earn in USD. You Don't." (28)
2. "Your Classmate Signed a USD Contract" (36)
3. "Same Degree. Different Salary." (30)
4. "$3K/Month. Same Work. Different Proof." (39)
5. "The Gap Is 12 Weeks. Not Talent." (33)
### Primary Texts (hook ~125 chars + expanded persuasion)
1. **Hook:** "Same degree. Same NYSC. They have 12 deliverables. You have a CV. That's the only difference." (93 chars visible)
Your classmate from UNILAG is billing $3,000/month from her laptop in Yaba. Same degree. Same NYSC. Same market.
The difference? She has 12 portfolio deliverables that prove she can do the work. You have a CV that says "proficient in Microsoft Office."
Nobody is hiring CVs anymore. They are hiring proof.
In 12 weeks, you will build 12 real deliverables. Not theory. Not templates. Actual work you can show a hiring manager or client and say: "I did this."
Cohort 4 starts [date]. 27 of 50 spots remaining. The last cohort filled in 6 days.
Apply now — link in bio.
2. **Hook:** "Your colleagues bill $3K/month in USD. Same work. The difference is proof, not talent." (87 chars visible)
You do the same work as people earning 10x your salary. The gap is not skill. It is positioning.
Right now, companies in the US, UK, and Canada are paying $2,500-$5,000/month for the exact skills you already have. They just need to see proof you can deliver.
This program gives you 12 deliverables in 12 weeks. Real projects. Real results. The kind of portfolio that makes a recruiter reply in 24 hours instead of ghosting you.
₦180K/month or $3K/month. Same person. Different proof. Your choice.
Spots are limited. Apply now.
3. [...]
4. [...]
5. [...]
### Descriptions (25 char max)
1. "12 weeks. Real proof." (21)
2. "Build your portfolio." (21)
3. "Start earning in USD." (21)
4. "No theory. Execution." (22)
5. "Full refund guarantee." (23)
The 5x5x5 format produces 125 combinations per angle. Headlines, primary texts, and descriptions should work in any combination within the same angle. Each primary text includes the full emotional arc: hook (visible before "See more") → pain → gap → vision → proof → CTA.
TikTok Ads output (complete creative per angle):
## Angle: [Angle Name]
### Ad Texts (100 char max)
**Hook-driven**
1. "Your marketing has 5 connected parts. Most business owners have only fixed one." (79)
2. "Fixing one part of your marketing is like buying one wheel for your car." (72)
**Problem-aware**
3. "Your ads work. Your page kills the sale. Your DMs are too slow. That's 3 leaks." (80)
4. "Ads, page, automations, account recovery, community. Break one, the whole system leaks." (90)
**Proof-driven**
5. "N30M in sales from N3.5M ad spend. Most businesses haven't fixed one gap." (76)
**Offer-driven**
6. "5 workshops. Live implementation session. N45,000 before the price goes up." (77)
### Recommended Top 5 for Rotation
| Slot | # | Chars | Type | Why |
|------|---|-------|------|-----|
| 1 | #1 | 79 | Hook | Establishes the framework, matches video hook |
| 2 | #3 | 80 | Problem | Concrete pain stack the audience recognizes |
| 3 | #2 | 72 | Hook | Simple analogy, memorable and shareable |
| 4 | #4 | 90 | Problem | Lists all parts, works as summary for scanners |
| 5 | #5 | 84 | Proof | Hard numbers create credibility |
### Product Name (40 char max)
`Online Marketing Bundle for Business Owners` (40) <- AT LIMIT
### Selling Points (25 char max each, pick 3-4)
- `5 handbooks in 1 bundle` (25)
- `Live workshop included` (23)
- `Step-by-step, no fluff` (24)
- `Used by 5,000+ owners` (23)
### CTA Button
Shop Now
> Rationale: Digital product with direct purchase intent. "Learn More" if the video is educational and the audience needs more context before buying.
### Destination URL
[Selar store page / website / landing page URL]
### Promo Code or Offer (optional)
55% off — N45,000 instead of full price. Price increases every month.
TikTok output rules:
When generating at scale (10+ variations), offer CSV format for direct upload:
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"
When iterating, include a summary:
## 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]
For large-scale creative production (Anthropic's growth team generates 100+ variations per cycle):
Every ad must address these 6 elements. The strength of each element determines whether the ad converts or gets ignored.
| Element | What It Does | Key Principles | Check | |---------|-------------|----------------|-------| | Hook | Stops the scroll, wins attention in 0-3 seconds | Attention, Differentiation, Focus | Does it break the pattern? Is it specific enough to earn the next line? Does it use language the audience actually uses? | | Pain Point | Connects to the viewer's current frustration or unmet need | Loss Aversion, Relevance, Timing | Does it name a real, felt pain this audience recognizes? Is this pain verified from real audience conversations, or assumed? | | Value / Proof | Demonstrates the benefit with evidence, not just claims | Clarity, Social Proof, Authority, Proof Over Promise, Story | Is there specific evidence? Numbers, logos, testimonials, demos? | | Offer | Makes the next step clear and attractive | Simplicity, Commitment, Proof of Value, Objections | Is it instantly clear what they get? Are key objections addressed? | | Urgency | Creates a reason to act now instead of later | Loss Aversion, Timing | Is there a genuine, specific reason to act now? | | CTA | Directs the specific action the viewer should take | Momentum, Commitment, Simplicity, Context | Is the next step obvious, low friction, and platform-appropriate? |
How elements map by format:
For the full 30 principles reference, see marketing-principles.md. For hook techniques, CTA categories, and video scripting frameworks, see ad-playbook.md.
Score every ad creative output before delivery. This ensures every piece of creative meets a minimum quality bar grounded in marketing principles.
| Dimension | Points | 0 | 1 | 2 | |-----------|--------|---|---|---| | Hook Strength | 0-2 | Generic / no hook | Functional but predictable | Pattern-breaking, specific, earns the next line | | Pain / Problem | 0-2 | No pain addressed | Vague pain | Specific, felt pain the audience recognizes instantly | | Value Clarity | 0-2 | Feature dump | Benefit stated but generic | Clear outcome with specificity (numbers, timeframes, proof) | | Proof / Trust | 0-2 | No proof | Weak claim ("trusted by many") | Specific proof (metrics, logos, testimonials, demos) | | Offer Clarity | 0-1 | Unclear what you get | Instantly clear what the viewer gets and how | | Urgency / Scarcity | 0-1 | No reason to act now | Genuine, specific reason to act (deadline, limited, risk of loss) | | CTA Strength | 0-2 | Missing / vague | Generic ("learn more") | Specific, low-friction, connected to the value | | Differentiation | 0-1 | Could be any competitor's ad | Clearly distinct positioning or angle | | Emotional Resonance | 0-1 | Purely rational | Taps into identity, story, aspiration, or fear | | Platform Fit | 0-1 | Generic copy pasted across platforms | Adapted to platform norms and character limits | | Audience & Cultural Fit | 0-2 | Generic copy, no market-specific language, could target anyone anywhere | Reflects known pain points but uses marketer's language, not the market's own words | Grounded in researched pain points from target market platforms, uses audience's own words/slang, connects to current cultural trends or moments |
## Creative Scorecard: [Ad Name/Angle]
Score: [X]/17 — [Ship it / Solid / Needs rework / Fundamental gaps]
| Dimension | Score | Note |
|-----------|-------|------|
| Hook | X | [Observation] |
| Pain/Problem | X | [Observation] |
| Value Clarity | X | [Observation] |
| Proof/Trust | X | [Observation] |
| Offer Clarity | X | [Observation] |
| Urgency | X | [Observation] |
| CTA | X | [Observation] |
| Differentiation | X | [Observation] |
| Emotional Resonance | X | [Observation] |
| Platform Fit | X | [Observation] |
| Audience & Cultural Fit | X | [Observation] |
Suggested fixes:
- [Dimension]: [Specific improvement]
For video ad creative across TikTok, Meta (IG/FB), and YouTube Shorts. See ad-playbook.md for the full framework with hook techniques, CTA categories, and worked examples.
| Section | Timing | Purpose | |---------|--------|---------| | 1. Hook | 0-3s | Stop the scroll. Pattern-interrupt. No intros or warmups. | | 2. Relatability / Pain Point | 3-10s | Build emotional connection. Name a pain they already feel. Make them feel seen. | | 3. Value / Demonstration | 10-25s | Prove the point. Show the solution in action. Add social proof. | | 4. Offer / Urgency | 25-45s | Create desire. Position the offer as a shortcut. Add genuine urgency. | | 5. CTA | 45-60s | Direct action. Connect back to core message. Keep tone consistent. |
| Length | Structure | |--------|-----------| | 15s | Hook (0-3s) → Value + Proof (3-10s) → CTA (10-15s) | | 30s | Hook (0-3s) → Pain (3-8s) → Value/Proof (8-20s) → Offer + CTA (20-30s) | | 45-60s | Full 5-part structure |
See ad-playbook.md for detailed examples and worked script templates for each technique.
Match the CTA type to the ad's goal: Direct Purchase, Lead Generation, Urgency & Scarcity, Social Proof, Engagement-Based, Value-First, Discovery, Follow-Up.
See ad-playbook.md for examples of each category.
For pulling performance data and managing campaigns, see the tools registry.
| Platform | Pull Performance Data | Manage Campaigns | Guide |
|----------|:---------------------:|:----------------:|-------|
| Google Ads | google-ads campaigns list, google-ads reports get | google-ads campaigns create | google-ads.md |
| Meta Ads | meta-ads insights get | meta-ads campaigns list | meta-ads.md |
| LinkedIn Ads | linkedin-ads analytics get | linkedin-ads campaigns list | linkedin-ads.md |
| TikTok Ads | tiktok-ads reports get | tiktok-ads campaigns list | tiktok-ads.md |
# 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
development
Creates positioning, messaging, and brand architecture frameworks for multi-product companies. Use when the user wants to 'position a product suite,' 'multi-product positioning,' 'portfolio positioning,' 'brand architecture,' 'core narrative,' 'house of brands vs branded house,' 'product portfolio messaging,' 'launch a second product,' 'launch a new product into our suite,' 'audit our portfolio messaging,' or 'are our products fighting each other.' Sits above product-positioning and product-messaging in the hierarchy. Forces a brand architecture decision first, then builds the layered framework that single-product skills run inside of.
development
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup. For AI search optimization, see ai-seo.
development
Guides beginner-to-intermediate developers through web development, Claude Code skills creation, and AI-assisted coding workflows. Use when the user asks about "vibe coding," "learning to code," "web development basics," "Claude skills," "building websites," "frontend," "backend," or wants help with HTML, CSS, JavaScript, or deployment.
development
Converts Claude skills into ChatGPT Project format (prompt instructions + 1 knowledge file as .docx). Use when user mentions "convert to ChatGPT," "ChatGPT project," "export skill," "GPT instructions," "skill to prompt," or "skill to GPT."