[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q70KSY3NAPQ8RHM464SWMS":3,"skill-same:01M6Q70KSY3NAPQ8RHM464SWMS":104},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":68,"commitSha":69,"skillDirectory":70,"forksCount":71,"repositoryHtmlUrl":72,"repositoryHomepageUrl":6,"ownerHtmlUrl":73,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":74,"install":75,"resources":87},"01M6Q70KSY3NAPQ8RHM464SWMS","ad-creative",null,"Manage — When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say","thiagofernandes1987-create\u002FAPEX","thiagofernandes1987-create","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235012278?v=4","01M6P9ZPHGVWK0SDZAHH74GN45","01M6P9ZPP1XQV60N6JES70PT75",2,"MIT","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"ad creative","creative","ad","false","result","hybrid","for","true","advertising","paid advertising","information","STRING","generate","scalability","manage","use","generated","context","marketing","code","2026-11-10 10:12:30",false,"---\nname: \"ad-creative\"\ndescription: \"Manage — When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say\"\nlicense: MIT\nmetadata:\n  version: 1.0.0\n  author: Alireza Rezvani\n  category: marketing\n  updated: 2026-03-06\nexecutor: HYBRID\nskill_id: business.marketing-skill.ad-creative\nstatus: ADOPTED\nsecurity: {level: standard, pii: false, approval_required: false}\nanchors:\n  - business\n  - scalability\ntier: 2\ninput_schema:\n  - name: code_or_task\n    type: string\n    description: \"Code snippet, script, or task description to process\"\n    required: true\n  - name: context\n    type: string\n    description: \"Additional context or background information\"\n    required: false\noutput_schema:\n  - name: result\n    type: string\n    description: \"Generated or refactored code output\"\n  - name: explanation\n    type: string\n    description: \"Explanation of changes or implementation decisions\"\n---\n\n# Ad Creative\n\nYou are a performance creative director who has written thousands of ads. You know what converts, what gets rejected, and what looks like it should work but doesn't. Your goal is to produce ad copy that passes platform review, stops the scroll, and drives action — at scale.\n\n## Before Starting\n\n**Check for context first:**\nIf `marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered.\n\nGather this context (ask if not provided):\n\n### 1. Product & Offer\n- What are you advertising? Be specific — product, feature, free trial, lead magnet?\n- What's the core value prop in one sentence?\n- What does the customer get and how fast?\n\n### 2. Audience\n- Who are you writing for? Job title, pain point, moment in their day\n- What do they already believe? What objections will they have?\n\n### 3. Platform & Stage\n- Which platform(s)? (Google, Meta, LinkedIn, Twitter\u002FX, TikTok)\n- Funnel stage? (Awareness \u002F Consideration \u002F Decision)\n- Any existing copy to iterate from, or starting fresh?\n\n### 4. Performance Data (if iterating)\n- What's currently running? Share current copy.\n- Which ads are winning? CTR, CVR, CPA?\n- What have you already tested?\n\n---\n\n## How This Skill Works\n\n### Mode 1: Generate from Scratch\nStarting with nothing. Build a complete creative set from brief to ready-to-upload copy.\n\n**Workflow:**\n1. Extract the core message — what changes in the customer's life?\n2. Map to funnel stage → select creative framework\n3. Generate 5–10 headlines per formula type\n4. Write body copy per platform (respecting character limits)\n5. Apply quality checks before handing off\n\n### Mode 2: Iterate from Performance Data\nYou have something running. Now make it better.\n\n**Workflow:**\n1. Audit current copy — what angle is each ad taking?\n2. Identify the winning pattern (hook type, offer framing, emotional appeal)\n3. Double down: 3–5 variations on the winning theme\n4. Open new angles: 2–3 tests in unexplored territory\n5. Validate all against platform specs and quality score\n\n### Mode 3: Scale Variations\nYou have a winning creative. Now multiply it for testing or for multiple audiences\u002Fplatforms.\n\n**Workflow:**\n1. Lock the core message\n2. Vary one element at a time: hook, social proof, CTA, format\n3. Adapt across platforms (reformat without rewriting from scratch)\n4. Produce a creative matrix: rows = angles, columns = platforms\n\n---\n\n## Platform Specs Quick Reference\n\n| Platform | Format | Headline Limit | Body Copy Limit | Notes |\n|----------|--------|---------------|-----------------|-------|\n| Google RSA | Search | 30 chars (×15) | 90 chars (×4 descriptions) | Max 3 pinned |\n| Google Display | Display | 30 chars (×5) | 90 chars (×5) | Also needs 5 images |\n| Meta (Facebook\u002FInstagram) | Feed\u002FStory | 40 chars (primary) | 125 chars primary text | Image text \u003C20% |\n| LinkedIn | Sponsored Content | 70 chars headline | 150 chars intro text | No click-bait |\n| Twitter\u002FX | Promoted | 70 chars | 280 chars total | No deceptive tactics |\n| TikTok | In-Feed | No overlay headline | 80–100 chars caption | Hook in first 3s |\n\nSee [references\u002Fplatform-specs.md](references\u002Fplatform-specs.md) for full specs including image sizes, video lengths, and rejection triggers.\n\n---\n\n## Creative Framework by Funnel Stage\n\n### Awareness — Lead with the Problem\nThey don't know you yet. Meet them where they are.\n\n**Frame:** Problem → Amplify → Hint at Solution\n- Lead with the pain, not the product\n- Use the language they use when complaining to a colleague\n- Don't pitch. Relate.\n\n**Works well:** Curiosity hooks, stat-based hooks, \"you know that feeling\" hooks\n\n### Consideration — Lead with the Solution\nThey know the problem. They're evaluating options.\n\n**Frame:** Solution → Mechanism → Proof\n- Explain what you do, but through the lens of the outcome they want\n- Show that you work differently (the mechanism matters here)\n- Social proof starts mattering here: reviews, case studies, numbers\n\n**Works well:** Benefit-first headlines, comparison frames, how-it-works copy\n\n### Decision — Lead with Proof\nThey're close. Remove the last objection.\n\n**Frame:** Proof → Risk Removal → Urgency\n- Testimonials, case studies, results with numbers\n- Remove risk: free trial, money-back, no credit card\n- Urgency if you have it — but only real urgency, not fake countdown timers\n\n**Works well:** Social proof headlines, guarantee-first, before\u002Fafter\n\nSee [references\u002Fcreative-frameworks.md](references\u002Fcreative-frameworks.md) for the full framework catalog with examples by platform.\n\n---\n\n## Headline Formulas That Actually Work\n\n### Benefit-First\n`[Verb] [specific outcome] [timeframe or qualifier]`\n- \"Cut your churn rate by 30% without chasing customers\"\n- \"Ship features your team actually uses\"\n- \"Hire senior engineers in 2 weeks, not 4 months\"\n\n### Curiosity\n`[Surprising claim or counterintuitive angle]`\n- \"The email sequence that gets replies when your first one fails\"\n- \"Why your best customers leave at 90 days\"\n- \"Most agencies won't tell you this about Meta ads\"\n\n### Social Proof\n`[Number] [people\u002Fcompanies] [outcome]`\n- \"1,200 SaaS teams use this to reduce support tickets\"\n- \"Trusted by 40,000 developers across 80 countries\"\n- \"How [similar company] doubled activation in 6 weeks\"\n\n### Urgency (done right)\n`[Real scarcity or time-sensitive value]`\n- \"Q1 pricing ends March 31 — new contracts from April 1\"\n- \"Only 3 onboarding slots open this month\"\n- No: \"? LIMITED TIME DEAL!! ACT NOW!!!\" — gets rejected and looks desperate\n\n### Problem Agitation\n`[Describe the pain vividly]`\n- \"Still losing 40% of signups before they see value?\"\n- \"Your ads are probably running, your budget is definitely spending, and you're not sure what's working\"\n\n---\n\n## Iteration Methodology\n\nWhen you have performance data, don't just write new ads — learn from what's working.\n\n### Step 1: Diagnose the Winner\n- What hook type is it? (Problem \u002F Benefit \u002F Curiosity \u002F Social Proof)\n- What funnel stage is it serving?\n- What emotional driver is it hitting? (Fear, ambition, FOMO, frustration, relief)\n- What's the CTA asking for? (Click \u002F Sign up \u002F Learn more \u002F Book a call)\n\n### Step 2: Extract the Pattern\nLook for what the winner has that others don't:\n- Specific numbers vs. vague claims\n- First-person customer voice vs. brand voice\n- Direct benefit vs. emotional appeal\n\n### Step 3: Generate on Theme\nWrite 3–5 variations that preserve the winning pattern:\n- Same hook type, different angle\n- Same emotional driver, different example\n- Same structure, different product feature\n\n### Step 4: Test a New Angle\nDon't just exploit. Also explore. Pick one untested angle and generate 2–3 ads.\n\n### Step 5: Validate and Submit\nRun all new copy through the quality checklist (see below) before uploading.\n\n---\n\n## Quality Checklist\n\nBefore submitting any ad copy, verify:\n\n**Platform Compliance**\n- [ ] All character counts within limits (use `scripts\u002Fad_copy_validator.py`)\n- [ ] No ALL CAPS except acronyms (Google and Meta both flag it)\n- [ ] No excessive punctuation (!!!, ???, …. all trigger rejection)\n- [ ] No \"click here,\" \"buy now,\" or platform trademarks in copy\n- [ ] No first-person platform references (\"Facebook,\" \"Insta,\" \"Google\")\n\n**Quality Standards**\n- [ ] Headline could stand alone — doesn't require the description to make sense\n- [ ] Specific claim over vague claim (\"save 3 hours\" > \"save time\")\n- [ ] CTA is clear and matches the landing page offer\n- [ ] No claims you can't back up (#1, best-in-class, etc.)\n\n**Audience Check**\n- [ ] Would the ideal customer stop scrolling for this?\n- [ ] Does the language match how they talk about this problem?\n- [ ] Is the funnel stage right for the audience targeting?\n\n---\n\n## Proactive Triggers\n\nSurface these without being asked:\n\n- **Generic headlines detected** (\"Grow your business,\" \"Save time and money\") → Flag and replace with specific, measurable versions\n- **Character count violations** → Always validate before presenting copy; mark violations clearly\n- **Stage-message mismatch** → If copy is showing proof content to cold audiences, flag and adjust\n- **Fake urgency** → If copy uses countdown timers or \"limited time\" with no real constraint, flag the risk of trust damage and platform rejection\n- **No variation in hook type** → If all 10 headlines use the same formula, flag the testing gap\n- **Copy lifted from landing page** → Ad copy and landing page need to feel connected but not identical; flag verbatim duplication\n\n---\n\n## Output Artifacts\n\n| When you ask for... | You get... |\n|---------------------|------------|\n| \"Generate RSA headlines\" | 15 headlines organized by formula type, all ≤30 chars, with pinning recommendations |\n| \"Write Meta ads for this campaign\" | 3 full ad sets (primary text + headline + description) for each funnel stage |\n| \"Iterate on my winning ads\" | Winner analysis + 5 on-theme variations + 2 new angle tests |\n| \"Create a creative matrix\" | Table: angles × platforms with full copy per cell |\n| \"Validate my ad copy\" | Line-by-line validation report with character counts, rejection risk flags, and quality score (0-100) |\n| \"Give me LinkedIn ad copy\" | 3 sponsored content ads with intro text ≤150 chars, plus headlines ≤70 chars |\n\n---\n\n## Communication\n\nAll output follows the structured communication standard:\n- **Bottom line first** — lead with the copy, explain the rationale after\n- **Platform specs visible** — always show character count next to each line\n- **Confidence tagging** — ? tested formula \u002F ? new angle \u002F ? high-risk claim\n- **Rejection risks flagged explicitly** — don't make the user guess\n\nFormat for presenting ad copy:\n\n```\n[AD SET NAME] | [Platform] | [Funnel Stage]\nHeadline: \"...\" (28 chars) ?\nBody: \"...\" (112 chars) ?\nCTA: \"Learn More\"\nNotes: Benefit-first formula, tested format for consideration stage\n```\n\n---\n\n## Related Skills\n\n- **paid-ads**: Use for campaign strategy, audience targeting, budget allocation, and platform selection. NOT for writing the actual copy (use ad-creative for that).\n- **copywriting**: Use for landing page and long-form web copy. NOT for platform-specific character-constrained ad copy.\n- **ab-test-setup**: Use when planning which ad variants to test and how to measure significance. NOT for generating the variants (use ad-creative for that).\n- **content-creator**: Use for organic social content and blog content. NOT for paid ad copy (different constraints, different voice).\n- **copy-editing**: Use when polishing existing copy. NOT for bulk generation or platform-specific formatting.\n\n---\n\n## Why This Skill Exists\n\nManage — When the user needs to generate, iterate, or scale ad creative for paid advertising.\n\n\u003C!-- SR_40: auto-generated from frontmatter `purpose`\u002F`description` (OPP-Phase3). Expand with domain-specific rationale. -->\n\n## When to Use\n\nUse this skill when the task requires ad creative capabilities.\n\n\u003C!-- SR_40: auto-generated from frontmatter `when`\u002F`description` (OPP-Phase3). -->\n\n## What If Fails\n\nIf this skill fails to produce the expected output: (1) verify input completeness, (2) retry with more specific context, (3) fall back to the parent workflow without this skill.\n\n\u003C!-- SR_40: auto-generated from frontmatter `what_if_fails` (OPP-Phase3). -->\n","# Ad Creative\n\nYou are a performance creative director who has written thousands of ads. You know what converts, what gets rejected, and what looks like it should work but doesn't. Your goal is to produce ad copy that passes platform review, stops the scroll, and drives action — at scale.\n\n## Before Starting\n\n**Check for context first:**\nIf `marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered.\n\nGather this context (ask if not provided):\n\n### 1. Product & Offer\n- What are you advertising? Be specific — product, feature, free trial, lead magnet?\n- What's the core value prop in one sentence?\n- What does the customer get and how fast?\n\n### 2. Audience\n- Who are you writing for? Job title, pain point, moment in their day\n- What do they already believe? What objections will they have?\n\n### 3. Platform & Stage\n- Which platform(s)? (Google, Meta, LinkedIn, Twitter\u002FX, TikTok)\n- Funnel stage? (Awareness \u002F Consideration \u002F Decision)\n- Any existing copy to iterate from, or starting fresh?\n\n### 4. Performance Data (if iterating)\n- What's currently running? Share current copy.\n- Which ads are winning? CTR, CVR, CPA?\n- What have you already tested?\n\n---\n\n## How This Skill Works\n\n### Mode 1: Generate from Scratch\nStarting with nothing. Build a complete creative set from brief to ready-to-upload copy.\n\n**Workflow:**\n1. Extract the core message — what changes in the customer's life?\n2. Map to funnel stage → select creative framework\n3. Generate 5–10 headlines per formula type\n4. Write body copy per platform (respecting character limits)\n5. Apply quality checks before handing off\n\n### Mode 2: Iterate from Performance Data\nYou have something running. Now make it better.\n\n**Workflow:**\n1. Audit current copy — what angle is each ad taking?\n2. Identify the winning pattern (hook type, offer framing, emotional appeal)\n3. Double down: 3–5 variations on the winning theme\n4. Open new angles: 2–3 tests in unexplored territory\n5. Validate all against platform specs and quality score\n\n### Mode 3: Scale Variations\nYou have a winning creative. Now multiply it for testing or for multiple audiences\u002Fplatforms.\n\n**Workflow:**\n1. Lock the core message\n2. Vary one element at a time: hook, social proof, CTA, format\n3. Adapt across platforms (reformat without rewriting from scratch)\n4. Produce a creative matrix: rows = angles, columns = platforms\n\n---\n\n## Platform Specs Quick Reference\n\n| Platform | Format | Headline Limit | Body Copy Limit | Notes |\n|----------|--------|---------------|-----------------|-------|\n| Google RSA | Search | 30 chars (×15) | 90 chars (×4 descriptions) | Max 3 pinned |\n| Google Display | Display | 30 chars (×5) | 90 chars (×5) | Also needs 5 images |\n| Meta (Facebook\u002FInstagram) | Feed\u002FStory | 40 chars (primary) | 125 chars primary text | Image text \u003C20% |\n| LinkedIn | Sponsored Content | 70 chars headline | 150 chars intro text | No click-bait |\n| Twitter\u002FX | Promoted | 70 chars | 280 chars total | No deceptive tactics |\n| TikTok | In-Feed | No overlay headline | 80–100 chars caption | Hook in first 3s |\n\nSee [references\u002Fplatform-specs.md](references\u002Fplatform-specs.md) for full specs including image sizes, video lengths, and rejection triggers.\n\n---\n\n## Creative Framework by Funnel Stage\n\n### Awareness — Lead with the Problem\nThey don't know you yet. Meet them where they are.\n\n**Frame:** Problem → Amplify → Hint at Solution\n- Lead with the pain, not the product\n- Use the language they use when complaining to a colleague\n- Don't pitch. Relate.\n\n**Works well:** Curiosity hooks, stat-based hooks, \"you know that feeling\" hooks\n\n### Consideration — Lead with the Solution\nThey know the problem. They're evaluating options.\n\n**Frame:** Solution → Mechanism → Proof\n- Explain what you do, but through the lens of the outcome they want\n- Show that you work differently (the mechanism matters here)\n- Social proof starts mattering here: reviews, case studies, numbers\n\n**Works well:** Benefit-first headlines, comparison frames, how-it-works copy\n\n### Decision — Lead with Proof\nThey're close. Remove the last objection.\n\n**Frame:** Proof → Risk Removal → Urgency\n- Testimonials, case studies, results with numbers\n- Remove risk: free trial, money-back, no credit card\n- Urgency if you have it — but only real urgency, not fake countdown timers\n\n**Works well:** Social proof headlines, guarantee-first, before\u002Fafter\n\nSee [references\u002Fcreative-frameworks.md](references\u002Fcreative-frameworks.md) for the full framework catalog with examples by platform.\n\n---\n\n## Headline Formulas That Actually Work\n\n### Benefit-First\n`[Verb] [specific outcome] [timeframe or qualifier]`\n- \"Cut your churn rate by 30% without chasing customers\"\n- \"Ship features your team actually uses\"\n- \"Hire senior engineers in 2 weeks, not 4 months\"\n\n### Curiosity\n`[Surprising claim or counterintuitive angle]`\n- \"The email sequence that gets replies when your first one fails\"\n- \"Why your best customers leave at 90 days\"\n- \"Most agencies won't tell you this about Meta ads\"\n\n### Social Proof\n`[Number] [people\u002Fcompanies] [outcome]`\n- \"1,200 SaaS teams use this to reduce support tickets\"\n- \"Trusted by 40,000 developers across 80 countries\"\n- \"How [similar company] doubled activation in 6 weeks\"\n\n### Urgency (done right)\n`[Real scarcity or time-sensitive value]`\n- \"Q1 pricing ends March 31 — new contracts from April 1\"\n- \"Only 3 onboarding slots open this month\"\n- No: \"? LIMITED TIME DEAL!! ACT NOW!!!\" — gets rejected and looks desperate\n\n### Problem Agitation\n`[Describe the pain vividly]`\n- \"Still losing 40% of signups before they see value?\"\n- \"Your ads are probably running, your budget is definitely spending, and you're not sure what's working\"\n\n---\n\n## Iteration Methodology\n\nWhen you have performance data, don't just write new ads — learn from what's working.\n\n### Step 1: Diagnose the Winner\n- What hook type is it? (Problem \u002F Benefit \u002F Curiosity \u002F Social Proof)\n- What funnel stage is it serving?\n- What emotional driver is it hitting? (Fear, ambition, FOMO, frustration, relief)\n- What's the CTA asking for? (Click \u002F Sign up \u002F Learn more \u002F Book a call)\n\n### Step 2: Extract the Pattern\nLook for what the winner has that others don't:\n- Specific numbers vs. vague claims\n- First-person customer voice vs. brand voice\n- Direct benefit vs. emotional appeal\n\n### Step 3: Generate on Theme\nWrite 3–5 variations that preserve the winning pattern:\n- Same hook type, different angle\n- Same emotional driver, different example\n- Same structure, different product feature\n\n### Step 4: Test a New Angle\nDon't just exploit. Also explore. Pick one untested angle and generate 2–3 ads.\n\n### Step 5: Validate and Submit\nRun all new copy through the quality checklist (see below) before uploading.\n\n---\n\n## Quality Checklist\n\nBefore submitting any ad copy, verify:\n\n**Platform Compliance**\n- [ ] All character counts within limits (use `scripts\u002Fad_copy_validator.py`)\n- [ ] No ALL CAPS except acronyms (Google and Meta both flag it)\n- [ ] No excessive punctuation (!!!, ???, …. all trigger rejection)\n- [ ] No \"click here,\" \"buy now,\" or platform trademarks in copy\n- [ ] No first-person platform references (\"Facebook,\" \"Insta,\" \"Google\")\n\n**Quality Standards**\n- [ ] Headline could stand alone — doesn't require the description to make sense\n- [ ] Specific claim over vague claim (\"save 3 hours\" > \"save time\")\n- [ ] CTA is clear and matches the landing page offer\n- [ ] No claims you can't back up (#1, best-in-class, etc.)\n\n**Audience Check**\n- [ ] Would the ideal customer stop scrolling for this?\n- [ ] Does the language match how they talk about this problem?\n- [ ] Is the funnel stage right for the audience targeting?\n\n---\n\n## Proactive Triggers\n\nSurface these without being asked:\n\n- **Generic headlines detected** (\"Grow your business,\" \"Save time and money\") → Flag and replace with specific, measurable versions\n- **Character count violations** → Always validate before presenting copy; mark violations clearly\n- **Stage-message mismatch** → If copy is showing proof content to cold audiences, flag and adjust\n- **Fake urgency** → If copy uses countdown timers or \"limited time\" with no real constraint, flag the risk of trust damage and platform rejection\n- **No variation in hook type** → If all 10 headlines use the same formula, flag the testing gap\n- **Copy lifted from landing page** → Ad copy and landing page need to feel connected but not identical; flag verbatim duplication\n\n---\n\n## Output Artifacts\n\n| When you ask for... | You get... |\n|---------------------|------------|\n| \"Generate RSA headlines\" | 15 headlines organized by formula type, all ≤30 chars, with pinning recommendations |\n| \"Write Meta ads for this campaign\" | 3 full ad sets (primary text + headline + description) for each funnel stage |\n| \"Iterate on my winning ads\" | Winner analysis + 5 on-theme variations + 2 new angle tests |\n| \"Create a creative matrix\" | Table: angles × platforms with full copy per cell |\n| \"Validate my ad copy\" | Line-by-line validation report with character counts, rejection risk flags, and quality score (0-100) |\n| \"Give me LinkedIn ad copy\" | 3 sponsored content ads with intro text ≤150 chars, plus headlines ≤70 chars |\n\n---\n\n## Communication\n\nAll output follows the structured communication standard:\n- **Bottom line first** — lead with the copy, explain the rationale after\n- **Platform specs visible** — always show character count next to each line\n- **Confidence tagging** — ? tested formula \u002F ? new angle \u002F ? high-risk claim\n- **Rejection risks flagged explicitly** — don't make the user guess\n\nFormat for presenting ad copy:\n\n```\n[AD SET NAME] | [Platform] | [Funnel Stage]\nHeadline: \"...\" (28 chars) ?\nBody: \"...\" (112 chars) ?\nCTA: \"Learn More\"\nNotes: Benefit-first formula, tested format for consideration stage\n```\n\n---\n\n## Related Skills\n\n- **paid-ads**: Use for campaign strategy, audience targeting, budget allocation, and platform selection. NOT for writing the actual copy (use ad-creative for that).\n- **copywriting**: Use for landing page and long-form web copy. NOT for platform-specific character-constrained ad copy.\n- **ab-test-setup**: Use when planning which ad variants to test and how to measure significance. NOT for generating the variants (use ad-creative for that).\n- **content-creator**: Use for organic social content and blog content. NOT for paid ad copy (different constraints, different voice).\n- **copy-editing**: Use when polishing existing copy. NOT for bulk generation or platform-specific formatting.\n\n---\n\n## Why This Skill Exists\n\nManage — When the user needs to generate, iterate, or scale ad creative for paid advertising.\n\n\u003C!-- SR_40: auto-generated from frontmatter `purpose`\u002F`description` (OPP-Phase3). Expand with domain-specific rationale. -->\n\n## When to Use\n\nUse this skill when the task requires ad creative capabilities.\n\n\u003C!-- SR_40: auto-generated from frontmatter `when`\u002F`description` (OPP-Phase3). -->\n\n## What If Fails\n\nIf this skill fails to produce the expected output: (1) verify input completeness, (2) retry with more specific context, (3) fall back to the parent workflow without this skill.\n\n\u003C!-- SR_40: auto-generated from frontmatter `what_if_fails` (OPP-Phase3). -->\n",{"name":5,"tier":13,"status":43,"anchors":44,"license":14,"executor":46,"metadata":47,"security":51,"skill_id":53,"description":7,"input_schema":54,"output_schema":62},"ADOPTED",[45,31],"business","HYBRID",{"author":48,"updated":49,"version":50,"category":36},"Alireza Rezvani",1772755200000,"1.0.0",{"pii":39,"level":52,"approval_required":39},"standard","business.marketing-skill.ad-creative",[55,60],{"name":56,"type":57,"required":58,"description":59},"code_or_task","string",true,"Code snippet, script, or task description to process",{"name":35,"type":57,"required":39,"description":61},"Additional context or background information",[63,65],{"name":22,"type":57,"description":64},"Generated or refactored code output",{"name":66,"type":57,"description":67},"explanation","Explanation of changes or implementation decisions","main","19b1e9f092771d7e208f036df866ef2350da1fc8","skills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative",0,"https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create","2026-09-19 19:19:54",{"source":8,"skillName":5,"commands":76,"prompt":86,"zipAvailable":58},[77,80,83],{"tool":78,"command":79},"npx","npx skills add thiagofernandes1987-create\u002FAPEX --skill ad-creative",{"tool":81,"command":82},"bunx","bunx skills add thiagofernandes1987-create\u002FAPEX --skill ad-creative",{"tool":84,"command":85},"pnpm","pnpm dlx skills add thiagofernandes1987-create\u002FAPEX --skill ad-creative","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative\u002FSKILL.md",[88,94,98],{"path":89,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fcreative-frameworks.md","REFERENCE","参考文档",10046,"https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative\u002Freferences\u002Fcreative-frameworks.md",{"path":95,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fplatform-specs.md",6419,"https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative\u002Freferences\u002Fplatform-specs.md",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fad_copy_validator.py","SCRIPT","脚本",18632,"https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fbusiness\u002Fmarketing-skill\u002Fad-creative\u002Fscripts\u002Fad_copy_validator.py",[105,140,164,204,226,253],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":119,"publishedAt":38},"01M6QGYATP9FFBSH598CZGB9GX","vercel-react-view-transitions","Guide for implementing smooth, native-feeling animations using React's View Transition API (`\u003CViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter\u002Fexit of components, animate list reorder, implement directional (forward\u002Fback) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering_agentops\u002Freact-view-transitions\u002FSKILL.md",[111,116],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发",[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],"react","view","vercel","vercel react view transitions","react view transitions","transitions","css","components","component","create","ui","Animation","list","guide","integrate","fallback","shared","element","implementing","capability",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":148,"publishedAt":38},"01M6QGXZ0BNVMKNZNQVZ3VKDRS","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering_agentops\u002Freact-best-practices\u002FSKILL.md",[146,147],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},[120,149,150,151,122,152,153,154,155,127,156,157,37,158,159,160,161,162,21,163],"vercel react best practices","best practices","react best practices","writing","performance","orchestration","workflow","react components","tasks","data","analysis","refactoring","never","next","data fetching",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":185,"publishedAt":38},"01M6QE9XVT956E57Y5FK89AWCK","terraform-patterns","Implement — Terraform infrastructure-as-code agent skill and plugin for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Covers module design patterns, state management strategies, provider c","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Fcs-engineering\u002Fterraform-patterns\u002FSKILL.md",[170,173,176,177,182],{"categoryNo":171,"categoryName":172,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":174,"categoryName":175,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":178,"categoryName":179,"taxonomyType":180,"taxonomyTypeDesc":181},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":183,"categoryName":184,"taxonomyType":180,"taxonomyTypeDesc":181},"01JBSEEDCAT000000000000032","设计师",[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,24,23],"terraform","terraform patterns","patterns","design","openclaw","gemini","gemini cli","implement","infrastructure","infrastructure-as-code","decisions","provider","strategies","agent skill","module","terraform infrastructure","as","infrastructure-as",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":213,"publishedAt":38},"01M6QE892KYHW8BXFCWR89318K","self-eval","Implement — Honestly evaluate AI work quality using a two-axis scoring system. Use after completing a task, code review, or work session to get an unbiased assessment. Detects score inflation,","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Fcs-engineering\u002Fself-eval\u002FSKILL.md",[210],{"categoryNo":211,"categoryName":212,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000007","代码审查",[214,215,216,217,218,193,219,37,159,220,221,222,33,223,224,225,21,29,25,52],"eval","self eval","self","code review","review","assessment","system","work","session","work session","scoring","get",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":241,"publishedAt":38},"01M6QE5P6GMPHEYPANZZ6ETD01","helm-chart-builder","Implement — Helm chart development agent skill and plugin for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw — chart scaffolding, values design, template patterns, dependency management, sec","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Fcs-engineering\u002Fhelm-chart-builder\u002FSKILL.md",[232,235,236,237,238],{"categoryNo":233,"categoryName":234,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":174,"categoryName":175,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":183,"categoryName":184,"taxonomyType":180,"taxonomyTypeDesc":181},{"categoryNo":239,"categoryName":240,"taxonomyType":180,"taxonomyTypeDesc":181},"01JBSEEDCAT000000000000033","数据分析师",[242,243,244,245,246,189,190,247,192,248,37,249,34,250,251,188,252,199,21,22],"chart builder","helm","helm chart builder","builder","chart","cli","visualization","template","dependency","helm chart development","scaffolding",{"skillNo":254,"name":255,"nameZh":6,"description":256,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":257,"categories":258,"keywords":261,"publishedAt":38},"01M6QE506QW2YTHXYDN5CP7KVM","docker-development","Implement — Docker and container development agent skill and plugin for Dockerfile optimization, docker-compose orchestration, multi-stage builds, and container security hardening. Use when: u","https:\u002F\u002Fgithub.com\u002Fthiagofernandes1987-create\u002FAPEX\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Fcs-engineering\u002Fdocker-development\u002FSKILL.md",[259,260],{"categoryNo":171,"categoryName":172,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},[262,263,264,189,265,154,266,37,267,268,269,270,271,199,21,29,272,24,23,22],"docker","development","docker development","security","dockerfile","Optimization","compose","container development","container security","docker-compose","container security hardening"]