[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CF1A10SHWNF0S759YG8CY0":3,"skill-same:01M6CF1A10SHWNF0S759YG8CY0":179},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6CF1A10SHWNF0S759YG8CY0","ads",null,"Multi-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Search Ads. 225+ checks with scoring, parallel agents, industry templates, and AI creative generation.","samChang72\u002Fcustom-skills","samChang72","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9713383?v=4","01M6CEZCVNPMCT4YY4MKRD9N9P","Sam Chang","01M6CEZCZR4SCN9DDCP5J1FW3Z",1,"MIT","https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"templates","youtube","creative","landing","linkedin","parallel","plan","Budget","google","Meta","parallel agents","Optimization","audit","search","generate","create","microsoft","2026-11-10 10:12:30",false,"---\nname: ads\ndescription: \"Multi-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Search Ads. 225+ checks with scoring, parallel agents, industry templates, and AI creative generation.\"\nargument-hint: \"audit | google | meta | youtube | linkedin | tiktok | microsoft | apple | creative | landing | budget | plan \u003Ctype> | competitor | dna \u003Curl> | create | generate | photoshoot\"\nlicense: MIT\n---\n\n# Ads: Multi-Platform Paid Advertising Audit & Optimization\n\nComprehensive ad account analysis across all major platforms (Google, Meta,\nLinkedIn, TikTok, Microsoft). Orchestrates 17 specialized sub-skills and\n10 agents (6 audit + 4 creative).\n\n## Quick Reference\n\n| Command | What it does |\n|---------|-------------|\n| `\u002Fads audit` | Full multi-platform audit with parallel subagent delegation |\n| `\u002Fads google` | Google Ads deep analysis (Search, PMax, YouTube) |\n| `\u002Fads meta` | Meta Ads deep analysis (FB, IG, Advantage+) |\n| `\u002Fads youtube` | YouTube Ads specific analysis |\n| `\u002Fads linkedin` | LinkedIn Ads deep analysis (B2B, Lead Gen) |\n| `\u002Fads tiktok` | TikTok Ads deep analysis (Creative, Shop, Smart+) |\n| `\u002Fads microsoft` | Microsoft\u002FBing Ads deep analysis (Copilot, Import) |\n| `\u002Fads creative` | Cross-platform creative quality audit |\n| `\u002Fads landing` | Landing page quality assessment for ad campaigns |\n| `\u002Fads budget` | Budget allocation and bidding strategy review |\n| `\u002Fads plan \u003Cbusiness-type>` | Strategic ad plan with industry templates |\n| `\u002Fads apple` | Apple Search Ads (ASA) deep analysis |\n| `\u002Fads competitor` | Competitor ad intelligence analysis |\n| `\u002Fads dna \u003Curl>` | Extract brand DNA from website, outputs `brand-profile.json` |\n| `\u002Fads create` | Generate campaign concepts + copy briefs, outputs `campaign-brief.md` |\n| `\u002Fads generate` | Generate AI ad images from brief, outputs to `ad-assets\u002F` |\n| `\u002Fads photoshoot` | Product photography in 5 styles (Studio, Floating, Ingredient, In Use, Lifestyle) |\n\n## Context Intake (Required: Always Do This First)\n\nBefore any audit or analysis, collect this context. Without it, benchmarks will\nbe generic and recommendations may be wrong for the user's situation.\n\nAsk these questions upfront (combine into one message):\n\n1. **Industry \u002F Business type**: Which best describes you?\n   SaaS · E-commerce · Local Service · B2B Enterprise · Info Products · Mobile App ·\n   Real Estate · Healthcare · Finance · Agency · Other\n2. **Monthly ad spend**: Total budget and per-platform breakdown (approximate is fine)\n3. **Primary goal**: Sales \u002F Revenue · Leads \u002F Demos · App Installs · Calls · Brand\n4. **Active platforms**: Which platforms are you advertising on?\n\nIf the user provides data upfront (e.g. \"audit my Google Ads, I spend $5k\u002Fmo on SaaS\"),\nextract context from that and proceed without re-asking.\n\nUse the provided context to:\n- Select the correct industry benchmarks from `references\u002Fbenchmarks.md`\n- Apply budget-appropriate recommendations (e.g. Smart Bidding requires 15+ conv\u002Fmonth)\n- Calibrate severity scoring (a $500\u002Fmo account has different priorities than $50k\u002Fmo)\n\n## Orchestration Logic\n\nWhen the user invokes `\u002Fads audit`, delegate to subagents in parallel:\n1. **Collect context** (see Context Intake above; do this first)\n2. Collect account data (exports, screenshots, or pasted metrics)\n3. Detect business type and identify active platforms\n4. Spawn subagents via Task tool with `context: fork`: audit-google, audit-meta, audit-creative, audit-tracking, audit-budget, audit-compliance\n5. **Validate**: verify each subagent returned valid JSON scores with required fields before aggregating\n6. Collect results and generate unified report with Ads Health Score (0-100)\n7. Create prioritized action plan with Quick Wins\n\nFor individual commands (`\u002Fads google`, `\u002Fads meta`, etc.), load the relevant\nsub-skill directly. Still collect context first if not already provided.\n\n## Creative Workflow\n\nSequential pipeline (each step is independently runnable):\n1. `\u002Fads dna \u003Curl>` → `brand-profile.json` in current directory\n2. `\u002Fads create` → reads profile + optional audit results → `campaign-brief.md`\n3. `\u002Fads generate` → reads brief + profile → `ad-assets\u002F` directory\n4. `\u002Fads photoshoot` → standalone or reads profile for style injection\n\nRequires `GOOGLE_API_KEY` (Gemini default) or `ADS_IMAGE_PROVIDER` + matching key.\nIf API key is missing, `\u002Fads generate` and `\u002Fads photoshoot` display setup\ninstructions and exit; they never fail silently.\n\n## Industry Detection\n\nDetect business type from ad account signals:\n- **SaaS**: trial_start\u002Fdemo_request events, pricing page targeting, long attribution windows\n- **E-commerce**: purchase events, product catalog\u002Ffeed, Shopping\u002FPMax campaigns\n- **Local Service**: call extensions, location targeting, store visits, directions events\n- **B2B Enterprise**: LinkedIn Ads active, ABM lists, high CPA tolerance ($50+), long sales cycle\n- **Info Products**: webinar\u002Fcourse funnels, lead gen forms, low-ticket offers\n- **Mobile App**: app install campaigns, in-app events, deep linking\n- **Real Estate**: listing feeds, property-specific landing pages, geo-heavy targeting\n- **Healthcare**: HIPAA compliance flags, healthcare-specific ad policies\n- **Finance**: Special Ad Categories declared, financial products compliance\n- **Agency**: multiple client accounts, white-label reporting needs\n\n## Quality Gates\n\nHard rules (never violate these):\n- Never recommend Broad Match without Smart Bidding (Google)\n- 3x Kill Rule: flag any ad group\u002Fcampaign with CPA >3x target for pause\n- Budget sufficiency: Meta ≥5x CPA per ad set, TikTok ≥50x CPA per ad group\n- Learning phase: never recommend edits during active learning phase\n- Compliance: always check Special Ad Categories for housing\u002Femployment\u002Fcredit\u002Ffinance\n- Creative: never run silent video ads on TikTok (sound-on platform)\n- Attribution: default to 7-day click \u002F 1-day view (Meta), data-driven (Google)\n\n## Reference Files\n\nLoad these on-demand as needed; do NOT load all at startup.\n\n**Path resolution:** All references are installed at `~\u002F.claude\u002Fskills\u002Fads\u002Freferences\u002F`.\nWhen sub-skills or agents reference `ads\u002Freferences\u002F*.md`, resolve to\n`~\u002F.claude\u002Fskills\u002Fads\u002Freferences\u002F*.md`.\n\n- `references\u002Fscoring-system.md`: Weighted scoring algorithm and grading thresholds\n- `references\u002Fbenchmarks.md`: Industry benchmarks by platform (CPC, CTR, CVR, ROAS)\n- `references\u002Fbidding-strategies.md`: Bidding decision trees per platform\n- `references\u002Fbudget-allocation.md`: Platform selection matrix, scaling rules, MER\n- `references\u002Fplatform-specs.md`: Creative specifications across all platforms\n- `references\u002Fconversion-tracking.md`: Pixel, CAPI, EMQ, ttclid implementation\n- `references\u002Fcompliance.md`: Regulatory requirements, ad policies, privacy\n- `references\u002Fgoogle-audit.md`: 74-check Google Ads audit checklist\n- `references\u002Fmeta-audit.md`: 46-check Meta Ads audit checklist\n- `references\u002Flinkedin-audit.md`: 25-check LinkedIn Ads audit checklist\n- `references\u002Ftiktok-audit.md`: 25-check TikTok Ads audit checklist\n- `references\u002Fmicrosoft-audit.md`: 20-check Microsoft Ads audit checklist\n- `references\u002Fbrand-dna-template.md`: Brand DNA schema and extraction guide\n- `references\u002Fimage-providers.md`: Provider config (Gemini\u002FOpenAI\u002FStability\u002FReplicate)\n- `references\u002Fgoogle-creative-specs.md`: PMax\u002FRSA\u002FYouTube generation-ready specs\n- `references\u002Fmeta-creative-specs.md`: Feed\u002FReels\u002FStories specs + safe zones\n- `references\u002Flinkedin-creative-specs.md`: Single image\u002Fvideo B2B constraints\n- `references\u002Ftiktok-creative-specs.md`: 9:16 only + safe zone overlay\n- `references\u002Fyoutube-creative-specs.md`: Skippable\u002FBumper\u002FShorts\u002FThumbnail\n- `references\u002Fmicrosoft-creative-specs.md`: Multimedia Ads + RSA subset\n- `references\u002Fgaql-notes.md`: GAQL field compatibility, deduplication patterns, filter scope best practices\n- `references\u002Fvoice-to-style.md`: Brand voice axis to visual attribute mapping for image generation\n- `references\u002Fcopy-frameworks.md`: 6 ad copy frameworks (AIDA, PAS, BAB, 4P, FAB, Star-Story-Solution)\n\n## Scoring Methodology\n\n### Ads Health Score (0-100)\n\nPer-platform score using weighted algorithm from `references\u002Fscoring-system.md`.\nCross-platform aggregate weighted by budget share:\n\n```\nAggregate = Sum(Platform_Score x Platform_Budget_Share)\n```\n\n### Grading\n\n| Grade | Score | Action Required |\n|-------|-------|-----------------|\n| A | 90-100 | Minor optimizations only |\n| B | 75-89 | Some improvement opportunities |\n| C | 60-74 | Notable issues need attention |\n| D | 40-59 | Significant problems present |\n| F | \u003C40 | Urgent intervention required |\n\n### Priority Levels\n\n- **Critical**: Revenue\u002Fdata loss risk (fix immediately)\n- **High**: Significant performance drag (fix within 7 days)\n- **Medium**: Optimization opportunity (fix within 30 days)\n- **Low**: Best practice, minor impact (backlog)\n\n## Sub-Skills\n\nThis skill orchestrates 17 specialized sub-skills:\n\n1. **ads-audit**: Full multi-platform audit with parallel delegation\n2. **ads-google**: Google Ads deep analysis (Search, PMax, YouTube)\n3. **ads-meta**: Meta Ads deep analysis (FB, IG, Advantage+)\n4. **ads-youtube**: YouTube Ads specific analysis\n5. **ads-linkedin**: LinkedIn Ads deep analysis\n6. **ads-tiktok**: TikTok Ads deep analysis\n7. **ads-microsoft**: Microsoft\u002FBing Ads deep analysis\n8. **ads-creative**: Cross-platform creative quality audit\n9. **ads-landing**: Landing page quality for ad campaigns\n10. **ads-budget**: Budget allocation and bidding strategy\n11. **ads-plan**: Strategic ad planning with industry templates\n12. **ads-competitor**: Competitor ad intelligence\n13. **ads-apple**: Apple Search Ads (ASA) deep analysis\n14. **ads-dna**: Brand DNA extraction from website URL\n15. **ads-create**: Campaign concepts, copy decks, creative briefs\n16. **ads-generate**: AI image generation with pluggable providers\n17. **ads-photoshoot**: Product photography in 5 professional styles\n\n## Subagents\n\nFor parallel analysis during full audits:\n- `audit-google`: Google Ads checks (G01-G74)\n- `audit-meta`: Meta Ads checks (M01-M46)\n- `audit-creative`: Creative quality for LinkedIn, TikTok, Microsoft\n- `audit-tracking`: Conversion tracking health across all platforms\n- `audit-budget`: Budget, bidding, structure for LinkedIn, TikTok, Microsoft\n- `audit-compliance`: Compliance, settings, performance across all platforms\n- `creative-strategist`: Campaign concepts from brand profile + audit results (Opus, maxTurns: 25)\n- `visual-designer`: Image generation with brand injection via generate_image.py (Sonnet, maxTurns: 30)\n- `copy-writer`: Headlines, CTAs, primary text within platform limits (Sonnet, maxTurns: 20)\n- `format-adapter`: Asset dimension validation and spec compliance reporting (Haiku, maxTurns: 15)\n","# Ads: Multi-Platform Paid Advertising Audit & Optimization\n\nComprehensive ad account analysis across all major platforms (Google, Meta,\nLinkedIn, TikTok, Microsoft). Orchestrates 17 specialized sub-skills and\n10 agents (6 audit + 4 creative).\n\n## Quick Reference\n\n| Command | What it does |\n|---------|-------------|\n| `\u002Fads audit` | Full multi-platform audit with parallel subagent delegation |\n| `\u002Fads google` | Google Ads deep analysis (Search, PMax, YouTube) |\n| `\u002Fads meta` | Meta Ads deep analysis (FB, IG, Advantage+) |\n| `\u002Fads youtube` | YouTube Ads specific analysis |\n| `\u002Fads linkedin` | LinkedIn Ads deep analysis (B2B, Lead Gen) |\n| `\u002Fads tiktok` | TikTok Ads deep analysis (Creative, Shop, Smart+) |\n| `\u002Fads microsoft` | Microsoft\u002FBing Ads deep analysis (Copilot, Import) |\n| `\u002Fads creative` | Cross-platform creative quality audit |\n| `\u002Fads landing` | Landing page quality assessment for ad campaigns |\n| `\u002Fads budget` | Budget allocation and bidding strategy review |\n| `\u002Fads plan \u003Cbusiness-type>` | Strategic ad plan with industry templates |\n| `\u002Fads apple` | Apple Search Ads (ASA) deep analysis |\n| `\u002Fads competitor` | Competitor ad intelligence analysis |\n| `\u002Fads dna \u003Curl>` | Extract brand DNA from website, outputs `brand-profile.json` |\n| `\u002Fads create` | Generate campaign concepts + copy briefs, outputs `campaign-brief.md` |\n| `\u002Fads generate` | Generate AI ad images from brief, outputs to `ad-assets\u002F` |\n| `\u002Fads photoshoot` | Product photography in 5 styles (Studio, Floating, Ingredient, In Use, Lifestyle) |\n\n## Context Intake (Required: Always Do This First)\n\nBefore any audit or analysis, collect this context. Without it, benchmarks will\nbe generic and recommendations may be wrong for the user's situation.\n\nAsk these questions upfront (combine into one message):\n\n1. **Industry \u002F Business type**: Which best describes you?\n   SaaS · E-commerce · Local Service · B2B Enterprise · Info Products · Mobile App ·\n   Real Estate · Healthcare · Finance · Agency · Other\n2. **Monthly ad spend**: Total budget and per-platform breakdown (approximate is fine)\n3. **Primary goal**: Sales \u002F Revenue · Leads \u002F Demos · App Installs · Calls · Brand\n4. **Active platforms**: Which platforms are you advertising on?\n\nIf the user provides data upfront (e.g. \"audit my Google Ads, I spend $5k\u002Fmo on SaaS\"),\nextract context from that and proceed without re-asking.\n\nUse the provided context to:\n- Select the correct industry benchmarks from `references\u002Fbenchmarks.md`\n- Apply budget-appropriate recommendations (e.g. Smart Bidding requires 15+ conv\u002Fmonth)\n- Calibrate severity scoring (a $500\u002Fmo account has different priorities than $50k\u002Fmo)\n\n## Orchestration Logic\n\nWhen the user invokes `\u002Fads audit`, delegate to subagents in parallel:\n1. **Collect context** (see Context Intake above; do this first)\n2. Collect account data (exports, screenshots, or pasted metrics)\n3. Detect business type and identify active platforms\n4. Spawn subagents via Task tool with `context: fork`: audit-google, audit-meta, audit-creative, audit-tracking, audit-budget, audit-compliance\n5. **Validate**: verify each subagent returned valid JSON scores with required fields before aggregating\n6. Collect results and generate unified report with Ads Health Score (0-100)\n7. Create prioritized action plan with Quick Wins\n\nFor individual commands (`\u002Fads google`, `\u002Fads meta`, etc.), load the relevant\nsub-skill directly. Still collect context first if not already provided.\n\n## Creative Workflow\n\nSequential pipeline (each step is independently runnable):\n1. `\u002Fads dna \u003Curl>` → `brand-profile.json` in current directory\n2. `\u002Fads create` → reads profile + optional audit results → `campaign-brief.md`\n3. `\u002Fads generate` → reads brief + profile → `ad-assets\u002F` directory\n4. `\u002Fads photoshoot` → standalone or reads profile for style injection\n\nRequires `GOOGLE_API_KEY` (Gemini default) or `ADS_IMAGE_PROVIDER` + matching key.\nIf API key is missing, `\u002Fads generate` and `\u002Fads photoshoot` display setup\ninstructions and exit; they never fail silently.\n\n## Industry Detection\n\nDetect business type from ad account signals:\n- **SaaS**: trial_start\u002Fdemo_request events, pricing page targeting, long attribution windows\n- **E-commerce**: purchase events, product catalog\u002Ffeed, Shopping\u002FPMax campaigns\n- **Local Service**: call extensions, location targeting, store visits, directions events\n- **B2B Enterprise**: LinkedIn Ads active, ABM lists, high CPA tolerance ($50+), long sales cycle\n- **Info Products**: webinar\u002Fcourse funnels, lead gen forms, low-ticket offers\n- **Mobile App**: app install campaigns, in-app events, deep linking\n- **Real Estate**: listing feeds, property-specific landing pages, geo-heavy targeting\n- **Healthcare**: HIPAA compliance flags, healthcare-specific ad policies\n- **Finance**: Special Ad Categories declared, financial products compliance\n- **Agency**: multiple client accounts, white-label reporting needs\n\n## Quality Gates\n\nHard rules (never violate these):\n- Never recommend Broad Match without Smart Bidding (Google)\n- 3x Kill Rule: flag any ad group\u002Fcampaign with CPA >3x target for pause\n- Budget sufficiency: Meta ≥5x CPA per ad set, TikTok ≥50x CPA per ad group\n- Learning phase: never recommend edits during active learning phase\n- Compliance: always check Special Ad Categories for housing\u002Femployment\u002Fcredit\u002Ffinance\n- Creative: never run silent video ads on TikTok (sound-on platform)\n- Attribution: default to 7-day click \u002F 1-day view (Meta), data-driven (Google)\n\n## Reference Files\n\nLoad these on-demand as needed; do NOT load all at startup.\n\n**Path resolution:** All references are installed at `~\u002F.claude\u002Fskills\u002Fads\u002Freferences\u002F`.\nWhen sub-skills or agents reference `ads\u002Freferences\u002F*.md`, resolve to\n`~\u002F.claude\u002Fskills\u002Fads\u002Freferences\u002F*.md`.\n\n- `references\u002Fscoring-system.md`: Weighted scoring algorithm and grading thresholds\n- `references\u002Fbenchmarks.md`: Industry benchmarks by platform (CPC, CTR, CVR, ROAS)\n- `references\u002Fbidding-strategies.md`: Bidding decision trees per platform\n- `references\u002Fbudget-allocation.md`: Platform selection matrix, scaling rules, MER\n- `references\u002Fplatform-specs.md`: Creative specifications across all platforms\n- `references\u002Fconversion-tracking.md`: Pixel, CAPI, EMQ, ttclid implementation\n- `references\u002Fcompliance.md`: Regulatory requirements, ad policies, privacy\n- `references\u002Fgoogle-audit.md`: 74-check Google Ads audit checklist\n- `references\u002Fmeta-audit.md`: 46-check Meta Ads audit checklist\n- `references\u002Flinkedin-audit.md`: 25-check LinkedIn Ads audit checklist\n- `references\u002Ftiktok-audit.md`: 25-check TikTok Ads audit checklist\n- `references\u002Fmicrosoft-audit.md`: 20-check Microsoft Ads audit checklist\n- `references\u002Fbrand-dna-template.md`: Brand DNA schema and extraction guide\n- `references\u002Fimage-providers.md`: Provider config (Gemini\u002FOpenAI\u002FStability\u002FReplicate)\n- `references\u002Fgoogle-creative-specs.md`: PMax\u002FRSA\u002FYouTube generation-ready specs\n- `references\u002Fmeta-creative-specs.md`: Feed\u002FReels\u002FStories specs + safe zones\n- `references\u002Flinkedin-creative-specs.md`: Single image\u002Fvideo B2B constraints\n- `references\u002Ftiktok-creative-specs.md`: 9:16 only + safe zone overlay\n- `references\u002Fyoutube-creative-specs.md`: Skippable\u002FBumper\u002FShorts\u002FThumbnail\n- `references\u002Fmicrosoft-creative-specs.md`: Multimedia Ads + RSA subset\n- `references\u002Fgaql-notes.md`: GAQL field compatibility, deduplication patterns, filter scope best practices\n- `references\u002Fvoice-to-style.md`: Brand voice axis to visual attribute mapping for image generation\n- `references\u002Fcopy-frameworks.md`: 6 ad copy frameworks (AIDA, PAS, BAB, 4P, FAB, Star-Story-Solution)\n\n## Scoring Methodology\n\n### Ads Health Score (0-100)\n\nPer-platform score using weighted algorithm from `references\u002Fscoring-system.md`.\nCross-platform aggregate weighted by budget share:\n\n```\nAggregate = Sum(Platform_Score x Platform_Budget_Share)\n```\n\n### Grading\n\n| Grade | Score | Action Required |\n|-------|-------|-----------------|\n| A | 90-100 | Minor optimizations only |\n| B | 75-89 | Some improvement opportunities |\n| C | 60-74 | Notable issues need attention |\n| D | 40-59 | Significant problems present |\n| F | \u003C40 | Urgent intervention required |\n\n### Priority Levels\n\n- **Critical**: Revenue\u002Fdata loss risk (fix immediately)\n- **High**: Significant performance drag (fix within 7 days)\n- **Medium**: Optimization opportunity (fix within 30 days)\n- **Low**: Best practice, minor impact (backlog)\n\n## Sub-Skills\n\nThis skill orchestrates 17 specialized sub-skills:\n\n1. **ads-audit**: Full multi-platform audit with parallel delegation\n2. **ads-google**: Google Ads deep analysis (Search, PMax, YouTube)\n3. **ads-meta**: Meta Ads deep analysis (FB, IG, Advantage+)\n4. **ads-youtube**: YouTube Ads specific analysis\n5. **ads-linkedin**: LinkedIn Ads deep analysis\n6. **ads-tiktok**: TikTok Ads deep analysis\n7. **ads-microsoft**: Microsoft\u002FBing Ads deep analysis\n8. **ads-creative**: Cross-platform creative quality audit\n9. **ads-landing**: Landing page quality for ad campaigns\n10. **ads-budget**: Budget allocation and bidding strategy\n11. **ads-plan**: Strategic ad planning with industry templates\n12. **ads-competitor**: Competitor ad intelligence\n13. **ads-apple**: Apple Search Ads (ASA) deep analysis\n14. **ads-dna**: Brand DNA extraction from website URL\n15. **ads-create**: Campaign concepts, copy decks, creative briefs\n16. **ads-generate**: AI image generation with pluggable providers\n17. **ads-photoshoot**: Product photography in 5 professional styles\n\n## Subagents\n\nFor parallel analysis during full audits:\n- `audit-google`: Google Ads checks (G01-G74)\n- `audit-meta`: Meta Ads checks (M01-M46)\n- `audit-creative`: Creative quality for LinkedIn, TikTok, Microsoft\n- `audit-tracking`: Conversion tracking health across all platforms\n- `audit-budget`: Budget, bidding, structure for LinkedIn, TikTok, Microsoft\n- `audit-compliance`: Compliance, settings, performance across all platforms\n- `creative-strategist`: Campaign concepts from brand profile + audit results (Opus, maxTurns: 25)\n- `visual-designer`: Image generation with brand injection via generate_image.py (Sonnet, maxTurns: 30)\n- `copy-writer`: Headlines, CTAs, primary text within platform limits (Sonnet, maxTurns: 20)\n- `format-adapter`: Asset dimension validation and spec compliance reporting (Haiku, maxTurns: 15)\n",{"name":5,"license":15,"description":7,"argument-hint":41},"audit | google | meta | youtube | linkedin | tiktok | microsoft | apple | creative | landing | budget | plan \u003Ctype> | competitor | dna \u003Curl> | create | generate | photoshoot","main","dd29a11f84890dd3b256f8dcb3cb32d1fd368e96","claude-config\u002Fskills\u002Fads",0,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills","https:\u002F\u002Fgithub.com\u002FsamChang72","2026-07-30 14:58:58",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add samChang72\u002Fcustom-skills --skill ads",{"tool":55,"command":56},"bunx","bunx skills add samChang72\u002Fcustom-skills --skill ads",{"tool":58,"command":59},"pnpm","pnpm dlx skills add samChang72\u002Fcustom-skills --skill ads","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002FSKILL.md",true,[63,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,167,171,175],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fbenchmarks.md","REFERENCE","参考文档",6367,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fbenchmarks.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fbidding-strategies.md",9803,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fbidding-strategies.md",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fbrand-dna-template.md",7033,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fbrand-dna-template.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fbudget-allocation.md",5899,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fbudget-allocation.md",{"path":82,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fcompliance.md",7889,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fcompliance.md",{"path":86,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fconversion-tracking.md",7963,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fconversion-tracking.md",{"path":90,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fcopy-frameworks.md",9116,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fcopy-frameworks.md",{"path":94,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fgaql-notes.md",2822,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fgaql-notes.md",{"path":98,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fgoogle-audit.md",18005,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fgoogle-audit.md",{"path":102,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fgoogle-creative-specs.md",3828,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fgoogle-creative-specs.md",{"path":106,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fimage-providers.md",5000,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fimage-providers.md",{"path":110,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Flinkedin-audit.md",6710,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Flinkedin-audit.md",{"path":114,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Flinkedin-creative-specs.md",4063,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Flinkedin-creative-specs.md",{"path":118,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fmeta-audit.md",9568,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fmeta-audit.md",{"path":122,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fmeta-creative-specs.md",4654,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fmeta-creative-specs.md",{"path":126,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fmicrosoft-audit.md",7200,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fmicrosoft-audit.md",{"path":130,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fmicrosoft-creative-specs.md",4101,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fmicrosoft-creative-specs.md",{"path":134,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Fplatform-specs.md",8620,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fplatform-specs.md",{"path":138,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Fscoring-system.md",5385,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fscoring-system.md",{"path":142,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Ftiktok-audit.md",7535,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Ftiktok-audit.md",{"path":146,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Ftiktok-creative-specs.md",4896,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Ftiktok-creative-specs.md",{"path":150,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":151,"sourceHtmlUrl":152},"references\u002Fvoice-to-style.md",3944,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fvoice-to-style.md",{"path":154,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":155,"sourceHtmlUrl":156},"references\u002Fyoutube-creative-specs.md",4582,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Freferences\u002Fyoutube-creative-specs.md",{"path":158,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":159,"sourceHtmlUrl":160},"requirements.txt",1057,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Frequirements.txt",{"path":162,"resourceType":163,"resourceTypeDesc":164,"sizeBytes":165,"sourceHtmlUrl":166},"scripts\u002Fanalyze_landing.py","SCRIPT","脚本",13053,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Fscripts\u002Fanalyze_landing.py",{"path":168,"resourceType":163,"resourceTypeDesc":164,"sizeBytes":169,"sourceHtmlUrl":170},"scripts\u002Fcapture_screenshot.py",3560,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Fscripts\u002Fcapture_screenshot.py",{"path":172,"resourceType":163,"resourceTypeDesc":164,"sizeBytes":173,"sourceHtmlUrl":174},"scripts\u002Ffetch_page.py",3768,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Fscripts\u002Ffetch_page.py",{"path":176,"resourceType":163,"resourceTypeDesc":164,"sizeBytes":177,"sourceHtmlUrl":178},"scripts\u002Fgenerate_image.py",20023,"https:\u002F\u002Fgithub.com\u002FsamChang72\u002Fcustom-skills\u002Fblob\u002Fmain\u002Fclaude-config\u002Fskills\u002Fads\u002Fscripts\u002Fgenerate_image.py",[]]