[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JFKR2H2485SC41JWYSJ6YA":3,"skill-same:01M6JFKR2H2485SC41JWYSJ6YA":81},{"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":30,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":13,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":66,"install":67,"resources":80},"01M6JFKR2H2485SC41JWYSJ6YA","ad-campaign-analyzer",null,"Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts like \"analyze my ad campaigns\", \"where am I wasting ad spend\", \"reallocate my ad budget\", \"which ads are actually working\", or \"ROAS analysis\". Do not trigger for campaign planning or creative generation without performance data.","JiayiV\u002Fquestion_mixing","JiayiV","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54466889?v=4","01M6JFJYYMRZ3QRGP9339JNQ2K","01M6JFJZ35KB0QVT50NAHPJA7G",0,"MIT","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fad-campaign-analyzer\u002FSKILL.md",[17,22,27],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",{"categoryNo":28,"categoryName":29,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000040","财务",[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"ad campaign analyzer","analyzer","ad","campaign","ads","api keys","which","paste","external tools","cut","analyze","google","api","analysis","Budget","Meta","data","network","screenshot","performance","2026-11-10 10:12:30",false,"---\nname: ad-campaign-analyzer\ndescription: 'Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts like \"analyze my ad campaigns\", \"where am I wasting ad spend\", \"reallocate my ad budget\", \"which ads are actually working\", or \"ROAS analysis\". Do not trigger for campaign planning or creative generation without performance data.'\nlicense: MIT\ncompatibility: 'Cross-platform. Pure reasoning skill over user-provided campaign exports (CSV, paste, or screenshot from Google, Meta, or LinkedIn) — no external tools, network calls, or API keys.'\nmetadata:\n  version: \"1.0\"\n  author: GooseWorks\n  source: https:\u002F\u002Fgithub.com\u002Fgooseworks-ai\u002Fgoose-skills\n---\n\n# Ad Campaign Analyzer\n\nTake raw campaign performance data and turn it into clear decisions. This skill doesn't just summarize metrics — it diagnoses problems, identifies winners, checks statistical significance, and tells you exactly what to cut, scale, and test next. Then it goes further: it compares channels on equal terms, finds where you're over-spending vs under-spending relative to results, and produces a concrete budget reallocation plan.\n\n**Core principle:** Most startup founders check their ad dashboard, see a ROAS number, and either panic or celebrate. This skill gives you the nuanced analysis a paid media specialist would: what's actually significant, what's noise, and where your next dollar should go. It also solves the allocation problem — most startups either spread budget too thin across channels (no channel gets enough to learn) or dump everything into one channel (missing cheaper opportunities elsewhere).\n\n## When to Use\n\n- \"Analyze my Google Ads performance\"\n- \"Which ads should I kill?\"\n- \"Is this campaign working?\"\n- \"Where am I wasting ad spend?\"\n- \"Optimize my Meta Ads\"\n- \"How should I split my ad budget?\"\n- \"Should I spend more on Google or Meta?\"\n- \"Reallocate my ad spend across channels\"\n- \"Where am I getting the best return?\"\n- \"I have $X\u002Fmonth for ads — how should I distribute it?\"\n\n## Phase 0: Intake\n\n1. **Campaign data** — One of:\n   - CSV export from Google Ads \u002F Meta Ads Manager \u002F LinkedIn Campaign Manager\n   - Pasted performance table\n   - Screenshots of dashboard (we'll extract the data)\n2. **Platform(s)** — Google \u002F Meta \u002F LinkedIn \u002F All\n3. **Time period** — What date range does this cover?\n4. **Monthly budget** — Total ad spend in this period\n5. **Primary goal** — What conversion are you optimizing for? (Demos \u002F Trials \u002F Purchases \u002F Leads)\n6. **Target metrics** — Do you have target CPA or ROAS? (If not, we'll benchmark)\n7. **Any known changes?** — Did you change creative, budget, or targeting during this period?\n8. **Channels currently running** — Google Ads, Meta Ads, LinkedIn Ads, Twitter\u002FX Ads, TikTok Ads, other\n9. **Funnel data** (if available):\n   - Lead → MQL rate\n   - MQL → SQL rate\n   - SQL → Close rate\n   - Average deal size\n10. **Channels you're considering but haven't tried** — Want to test new channels?\n11. **Constraints** — Minimum spend on any channel? Platform you must stay on?\n\n## Phase 1: Data Ingestion & Normalization\n\n### Accepted Data Formats\n\n| Source | Key Columns Expected |\n|--------|---------------------|\n| **Google Ads** | Campaign, Ad Group, Keyword, Impressions, Clicks, CTR, CPC, Conversions, Conv Rate, Cost, Conv Value |\n| **Meta Ads** | Campaign, Ad Set, Ad, Impressions, Reach, Clicks, CTR, CPC, Conversions, Cost Per Result, Amount Spent, ROAS |\n| **LinkedIn Ads** | Campaign, Impressions, Clicks, CTR, CPC, Conversions, Cost, Leads |\n\nNormalize all data into a standard analysis format:\n\n| Dimension | Impressions | Clicks | CTR | CPC | Conversions | Conv Rate | CPA | Spend | Revenue\u002FValue |\n|-----------|------------|--------|-----|-----|-------------|----------|-----|-------|--------------|\n\n### Multi-Channel Normalization\n\nWhen data spans multiple channels, also produce a channel-level rollup:\n\n| Channel | Monthly Spend | Impressions | Clicks | CTR | CPC | Conversions | Conv Rate | CPA | ROAS | CAC* |\n|---------|-------------|------------|--------|-----|-----|-------------|----------|-----|------|------|\n| Google Search | $[X] | [N] | [N] | [X%] | $[X] | [N] | [X%] | $[X] | [X] | $[X] |\n| Google Display | ... | | | | | | | | | |\n| Meta (FB\u002FIG) | ... | | | | | | | | | |\n| LinkedIn | ... | | | | | | | | | |\n| [Other] | ... | | | | | | | | | |\n| **Total** | $[X] | | | | | [N] | | $[X] avg | [X] avg | $[X] avg |\n\n*CAC = Full customer acquisition cost if funnel data provided (CPA × close-rate adjustment)\n\n### Funnel-Adjusted CAC (If Funnel Data Available)\n\n```\nChannel CAC = CPA ÷ (MQL rate × SQL rate × Close rate)\n```\n\nThis reveals which channels produce leads that actually close, not just convert.\n\n## Phase 2: Performance Diagnostics\n\n### 2A: Campaign-Level Health Check\n\nFor each campaign:\n\n| Metric | Value | Benchmark | Status |\n|--------|-------|-----------|--------|\n| CTR | [X%] | [Industry avg] | [Good\u002FOkay\u002FPoor] |\n| CPC | $[X] | [Category avg] | [Good\u002FOkay\u002FPoor] |\n| Conv Rate | [X%] | [Benchmark] | [Good\u002FOkay\u002FPoor] |\n| CPA | $[X] | [Target or benchmark] | [Good\u002FOkay\u002FPoor] |\n| ROAS | [X] | [Target or benchmark] | [Good\u002FOkay\u002FPoor] |\n| Impression Share | [X%] | [>60% ideal] | [Good\u002FOkay\u002FPoor] |\n\n### 2B: Budget Waste Detection\n\nIdentify spend that produced no or negative return:\n\n| Waste Type | Signal | Action |\n|-----------|--------|--------|\n| **Zero-conversion keywords\u002Fads** | Spend > $[X] with 0 conversions | Pause or add negatives |\n| **High CPA outliers** | CPA > 3x target | Pause or restructure |\n| **Low CTR ads** | CTR \u003C 50% of campaign average | Replace creative |\n| **Broad match bleed** | Search terms report showing irrelevant clicks | Add negative keywords |\n| **Audience overlap** | Same users hit by multiple campaigns | Exclude audiences |\n| **Dayparting waste** | Conversions cluster at certain hours; spend is 24\u002F7 | Set ad schedule |\n\n### 2C: Winner Identification\n\nFind what's actually working:\n\n| Winner Type | Signal | Action |\n|------------|--------|--------|\n| **Top-performing keywords** | Lowest CPA, highest conv rate | Increase bid, add variants |\n| **Winning ads** | Highest CTR + conv rate combo | Scale spend, clone for other groups |\n| **Best audiences** | Lowest CPA segment | Increase budget allocation |\n| **Best times** | Peak conversion hours\u002Fdays | Concentrate budget |\n\n### 2D: Statistical Significance Check\n\nFor any A\u002FB test (ad variants, audiences, landing pages):\n\n```\nTest: [Variant A] vs [Variant B]\nMetric: [Conv Rate \u002F CTR \u002F CPA]\nVariant A: [X%] (n=[sample_size])\nVariant B: [Y%] (n=[sample_size])\nConfidence level: [X%]\nVerdict: [Statistically significant \u002F Not enough data \u002F Too close to call]\nRecommended action: [Pick winner \u002F Continue test \u002F Increase budget to reach significance]\n```\n\nMinimum sample: 100 clicks per variant for CTR tests, 30 conversions per variant for CPA tests.\n\n## Phase 3: Funnel Analysis\n\n### Click → Conversion Path\n\n```\nImpressions: [N] (100%)\n     ↓ CTR: [X%]\nClicks: [N] ([X%] of impressions)\n     ↓ Landing page → Conversion: [X%]\nConversions: [N] ([X%] of clicks)\n     ↓ Conversion → Revenue: $[X] avg\nRevenue: $[N]\n```\n\n### Funnel Drop-Off Diagnosis\n\n| Drop-Off Point | Rate | Benchmark | Likely Cause | Fix |\n|----------------|------|-----------|-------------|-----|\n| Impression → Click | [CTR%] | [Benchmark] | [Ad relevance \u002F targeting] | [Copy\u002Ftargeting change] |\n| Click → Conversion | [Conv%] | [Benchmark] | [Landing page \u002F offer \u002F audience mismatch] | [LP optimization] |\n| Conversion → Revenue | [Close%] | [Benchmark] | [Lead quality \u002F sales process] | [Qualification criteria] |\n\n## Phase 4: Budget Reallocation\n\nWhen data spans multiple channels, perform cross-channel budget optimization.\n\n### 4A: Channel Efficiency Ranking\n\n| Rank | Channel | CPA | Funnel-Adj CAC | Share of Spend | Share of Conversions | Efficiency Index |\n|------|---------|-----|---------------|----------------|---------------------|-----------------|\n| 1 | [Channel] | $[X] | $[X] | [X%] | [X%] | [Conv share ÷ Spend share] |\n\n**Efficiency Index:**\n- **> 1.0** = Under-invested (getting more than its share of conversions)\n- **= 1.0** = Proportional (fair share)\n- **\u003C 1.0** = Over-invested (getting less than its share)\n\n### 4B: Marginal Return Analysis\n\nFor each channel, estimate if additional spend would yield proportional returns:\n\n| Channel | Current CPA | Impression Share \u002F Saturation Signal | Marginal Return Estimate |\n|---------|-------------|-------------------------------------|------------------------|\n| Google Search | $[X] | [X%] impression share — room to grow | Likely positive |\n| Meta | $[X] | Frequency [X] — audience may be saturated | Diminishing |\n| LinkedIn | $[X] | Low volume — limited targeting pool | Ceiling soon |\n\n### 4C: Funnel Stage Coverage\n\n| Funnel Stage | Channels Covering It | Current Spend | Gap? |\n|-------------|---------------------|--------------|------|\n| **Awareness** (top) | [Meta Display, YouTube] | $[X] | [Yes\u002FNo] |\n| **Consideration** (mid) | [Google Search, Meta retargeting] | $[X] | [Yes\u002FNo] |\n| **Decision** (bottom) | [Google Brand, Google Search] | $[X] | [Yes\u002FNo] |\n| **Retargeting** | [Meta, Google Display] | $[X] | [Yes\u002FNo] |\n\n### 4D: Budget Shift Recommendations\n\n| Channel | Current Spend | Recommended Spend | Change | Reasoning |\n|---------|-------------|------------------|--------|-----------|\n| Google Search | $[X] | $[Y] | +$[Z] | [Lowest CPA, room to scale] |\n| Meta | $[X] | $[Y] | -$[Z] | [Audience saturation, frequency too high] |\n| LinkedIn | $[X] | $[Y] | $0 | [Maintain — niche but valuable] |\n| [New channel] | $0 | $[Y] | +$[Y] | [Test budget — competitors succeeding here] |\n| **Total** | $[X] | $[X] | $0 | Budget-neutral reallocation |\n\n### 4E: Scenario Modeling\n\n**Scenario 1: Conservative shift (+\u002F- 20%)**\n- Expected conversions: [N] (currently [N]) = [X%] improvement\n- Expected blended CPA: $[X] (currently $[X])\n- Risk: Low\n\n**Scenario 2: Aggressive shift (+\u002F- 40%)**\n- Expected conversions: [N] = [X%] improvement\n- Expected blended CPA: $[X]\n- Risk: Medium — less data on scaled channels\n\n**Scenario 3: Budget increase to $[Y]\u002Fmo**\n- Recommended allocation: [table]\n- Expected conversions: [N]\n- New channels to test: [list]\n\n## Phase 5: Output Format\n\n```markdown\n# Ad Campaign Analysis — [Product\u002FClient] — [DATE]\n\nPeriod: [Date range]\nTotal spend: $[X]\nPlatform(s): [Google \u002F Meta \u002F LinkedIn]\nPrimary goal: [Conversions \u002F Revenue \u002F Leads]\n\n---\n\n## Executive Summary\n\n[3-5 sentences: Overall performance verdict, biggest win, biggest problem, top recommendation including any reallocation moves]\n\n---\n\n## Performance Dashboard\n\n| Campaign | Spend | Impressions | Clicks | CTR | CPC | Conversions | CPA | ROAS | Verdict |\n|----------|-------|------------|--------|-----|-----|-------------|-----|------|---------|\n| [Name] | $[X] | [N] | [N] | [X%] | $[X] | [N] | $[X] | [X] | [Scale\u002FOptimize\u002FPause] |\n\n---\n\n## Budget Waste Report\n\n**Total estimated waste: $[X] ([X%] of total spend)**\n\n### Wasted on zero-conversion items: $[X]\n[List of keywords\u002Fads\u002Faudiences with spend but no conversions]\n\n### Wasted on high-CPA items: $[X]\n[List of items with CPA > 3x target]\n\n### Recommended saves: $[X]\u002Fmonth\n[Specific items to pause]\n\n---\n\n## Winners to Scale\n\n### Top Keywords\u002FAudiences\n| Item | CPA | Conv Rate | Current Spend | Recommended Spend |\n|------|-----|----------|--------------|-------------------|\n\n### Top Ads\n| Ad | CTR | Conv Rate | Why It Works |\n|----|-----|----------|-------------|\n\n---\n\n## A\u002FB Test Results\n\n### [Test Name]\n- Variant A: [Metric] (n=[N])\n- Variant B: [Metric] (n=[N])\n- Confidence: [X%]\n- **Verdict:** [Winner \u002F Continue \u002F Inconclusive]\n\n---\n\n## Budget Reallocation\n\n### Current vs Recommended Allocation\n\n| Channel | Current | Recommended | Change | Why |\n|---------|---------|------------|--------|-----|\n| [Channel] | $[X] | $[Y] | [+\u002F-$Z] | [1-line reason] |\n\n**Projected impact:**\n- Conversions: [N] → [N] (+[X%])\n- Blended CPA: $[X] → $[Y] (-[X%])\n\n### Funnel Stage Coverage\n[Coverage map with gaps identified]\n\n### New Channel Recommendations\n\n#### [Channel Name]\n- **Why test:** [Reasoning]\n- **Recommended test budget:** $[X]\u002Fmo for [X weeks]\n- **Success criteria:** CPA \u003C $[X]\n- **Competitors using it:** [Yes\u002FNo — who]\n\n---\n\n## Action Plan\n\n### Immediate (This Week)\n- [ ] **Pause:** [Specific items — keywords, ads, audiences]\n- [ ] **Scale:** [Specific items — increase budget\u002Fbids]\n- [ ] **Add negatives:** [Specific keywords from search terms]\n- [ ] **Reallocate:** [Specific dollar shifts between channels]\n\n### This Month\n- [ ] **Test:** [New ad angles \u002F audiences \u002F landing pages]\n- [ ] **Restructure:** [Ad groups that need splitting or merging]\n- [ ] **Optimize:** [Bid strategy changes]\n- [ ] **Monitor reallocation:** Track CPA shifts on scaled channels, watch for diminishing returns\n\n### Next Month\n- [ ] **Expand:** [New campaigns \u002F channels to test]\n- [ ] **Re-evaluate:** [Run this analysis again with new data, adjust allocations based on actual results]\n```\n\nSave to `campaign-analysis-[YYYY-MM-DD].md` in the current working directory (or user-specified path).\n\n## Cost\n\n| Component | Cost |\n|-----------|------|\n| Data analysis | Free (LLM reasoning) |\n| Statistical calculations | Free |\n| **Total** | **Free** |\n\n## Tools Required\n\n- No external tools needed — pure reasoning skill\n- User provides campaign data as CSV, paste, or screenshot\n\n## Trigger Phrases\n\n- \"Analyze my ad campaign performance\"\n- \"Which ads should I pause?\"\n- \"Where am I wasting ad budget?\"\n- \"Is my Google Ads campaign working?\"\n- \"Optimize my Meta Ads spend\"\n- \"How should I allocate my ad budget?\"\n- \"Should I spend more on Google or Meta?\"\n- \"Reallocate my ad spend\"\n- \"Where am I getting the best ROAS?\"\n- \"Optimize my multi-channel ad budget\"\n","# Ad Campaign Analyzer\n\nTake raw campaign performance data and turn it into clear decisions. This skill doesn't just summarize metrics — it diagnoses problems, identifies winners, checks statistical significance, and tells you exactly what to cut, scale, and test next. Then it goes further: it compares channels on equal terms, finds where you're over-spending vs under-spending relative to results, and produces a concrete budget reallocation plan.\n\n**Core principle:** Most startup founders check their ad dashboard, see a ROAS number, and either panic or celebrate. This skill gives you the nuanced analysis a paid media specialist would: what's actually significant, what's noise, and where your next dollar should go. It also solves the allocation problem — most startups either spread budget too thin across channels (no channel gets enough to learn) or dump everything into one channel (missing cheaper opportunities elsewhere).\n\n## When to Use\n\n- \"Analyze my Google Ads performance\"\n- \"Which ads should I kill?\"\n- \"Is this campaign working?\"\n- \"Where am I wasting ad spend?\"\n- \"Optimize my Meta Ads\"\n- \"How should I split my ad budget?\"\n- \"Should I spend more on Google or Meta?\"\n- \"Reallocate my ad spend across channels\"\n- \"Where am I getting the best return?\"\n- \"I have $X\u002Fmonth for ads — how should I distribute it?\"\n\n## Phase 0: Intake\n\n1. **Campaign data** — One of:\n   - CSV export from Google Ads \u002F Meta Ads Manager \u002F LinkedIn Campaign Manager\n   - Pasted performance table\n   - Screenshots of dashboard (we'll extract the data)\n2. **Platform(s)** — Google \u002F Meta \u002F LinkedIn \u002F All\n3. **Time period** — What date range does this cover?\n4. **Monthly budget** — Total ad spend in this period\n5. **Primary goal** — What conversion are you optimizing for? (Demos \u002F Trials \u002F Purchases \u002F Leads)\n6. **Target metrics** — Do you have target CPA or ROAS? (If not, we'll benchmark)\n7. **Any known changes?** — Did you change creative, budget, or targeting during this period?\n8. **Channels currently running** — Google Ads, Meta Ads, LinkedIn Ads, Twitter\u002FX Ads, TikTok Ads, other\n9. **Funnel data** (if available):\n   - Lead → MQL rate\n   - MQL → SQL rate\n   - SQL → Close rate\n   - Average deal size\n10. **Channels you're considering but haven't tried** — Want to test new channels?\n11. **Constraints** — Minimum spend on any channel? Platform you must stay on?\n\n## Phase 1: Data Ingestion & Normalization\n\n### Accepted Data Formats\n\n| Source | Key Columns Expected |\n|--------|---------------------|\n| **Google Ads** | Campaign, Ad Group, Keyword, Impressions, Clicks, CTR, CPC, Conversions, Conv Rate, Cost, Conv Value |\n| **Meta Ads** | Campaign, Ad Set, Ad, Impressions, Reach, Clicks, CTR, CPC, Conversions, Cost Per Result, Amount Spent, ROAS |\n| **LinkedIn Ads** | Campaign, Impressions, Clicks, CTR, CPC, Conversions, Cost, Leads |\n\nNormalize all data into a standard analysis format:\n\n| Dimension | Impressions | Clicks | CTR | CPC | Conversions | Conv Rate | CPA | Spend | Revenue\u002FValue |\n|-----------|------------|--------|-----|-----|-------------|----------|-----|-------|--------------|\n\n### Multi-Channel Normalization\n\nWhen data spans multiple channels, also produce a channel-level rollup:\n\n| Channel | Monthly Spend | Impressions | Clicks | CTR | CPC | Conversions | Conv Rate | CPA | ROAS | CAC* |\n|---------|-------------|------------|--------|-----|-----|-------------|----------|-----|------|------|\n| Google Search | $[X] | [N] | [N] | [X%] | $[X] | [N] | [X%] | $[X] | [X] | $[X] |\n| Google Display | ... | | | | | | | | | |\n| Meta (FB\u002FIG) | ... | | | | | | | | | |\n| LinkedIn | ... | | | | | | | | | |\n| [Other] | ... | | | | | | | | | |\n| **Total** | $[X] | | | | | [N] | | $[X] avg | [X] avg | $[X] avg |\n\n*CAC = Full customer acquisition cost if funnel data provided (CPA × close-rate adjustment)\n\n### Funnel-Adjusted CAC (If Funnel Data Available)\n\n```\nChannel CAC = CPA ÷ (MQL rate × SQL rate × Close rate)\n```\n\nThis reveals which channels produce leads that actually close, not just convert.\n\n## Phase 2: Performance Diagnostics\n\n### 2A: Campaign-Level Health Check\n\nFor each campaign:\n\n| Metric | Value | Benchmark | Status |\n|--------|-------|-----------|--------|\n| CTR | [X%] | [Industry avg] | [Good\u002FOkay\u002FPoor] |\n| CPC | $[X] | [Category avg] | [Good\u002FOkay\u002FPoor] |\n| Conv Rate | [X%] | [Benchmark] | [Good\u002FOkay\u002FPoor] |\n| CPA | $[X] | [Target or benchmark] | [Good\u002FOkay\u002FPoor] |\n| ROAS | [X] | [Target or benchmark] | [Good\u002FOkay\u002FPoor] |\n| Impression Share | [X%] | [>60% ideal] | [Good\u002FOkay\u002FPoor] |\n\n### 2B: Budget Waste Detection\n\nIdentify spend that produced no or negative return:\n\n| Waste Type | Signal | Action |\n|-----------|--------|--------|\n| **Zero-conversion keywords\u002Fads** | Spend > $[X] with 0 conversions | Pause or add negatives |\n| **High CPA outliers** | CPA > 3x target | Pause or restructure |\n| **Low CTR ads** | CTR \u003C 50% of campaign average | Replace creative |\n| **Broad match bleed** | Search terms report showing irrelevant clicks | Add negative keywords |\n| **Audience overlap** | Same users hit by multiple campaigns | Exclude audiences |\n| **Dayparting waste** | Conversions cluster at certain hours; spend is 24\u002F7 | Set ad schedule |\n\n### 2C: Winner Identification\n\nFind what's actually working:\n\n| Winner Type | Signal | Action |\n|------------|--------|--------|\n| **Top-performing keywords** | Lowest CPA, highest conv rate | Increase bid, add variants |\n| **Winning ads** | Highest CTR + conv rate combo | Scale spend, clone for other groups |\n| **Best audiences** | Lowest CPA segment | Increase budget allocation |\n| **Best times** | Peak conversion hours\u002Fdays | Concentrate budget |\n\n### 2D: Statistical Significance Check\n\nFor any A\u002FB test (ad variants, audiences, landing pages):\n\n```\nTest: [Variant A] vs [Variant B]\nMetric: [Conv Rate \u002F CTR \u002F CPA]\nVariant A: [X%] (n=[sample_size])\nVariant B: [Y%] (n=[sample_size])\nConfidence level: [X%]\nVerdict: [Statistically significant \u002F Not enough data \u002F Too close to call]\nRecommended action: [Pick winner \u002F Continue test \u002F Increase budget to reach significance]\n```\n\nMinimum sample: 100 clicks per variant for CTR tests, 30 conversions per variant for CPA tests.\n\n## Phase 3: Funnel Analysis\n\n### Click → Conversion Path\n\n```\nImpressions: [N] (100%)\n     ↓ CTR: [X%]\nClicks: [N] ([X%] of impressions)\n     ↓ Landing page → Conversion: [X%]\nConversions: [N] ([X%] of clicks)\n     ↓ Conversion → Revenue: $[X] avg\nRevenue: $[N]\n```\n\n### Funnel Drop-Off Diagnosis\n\n| Drop-Off Point | Rate | Benchmark | Likely Cause | Fix |\n|----------------|------|-----------|-------------|-----|\n| Impression → Click | [CTR%] | [Benchmark] | [Ad relevance \u002F targeting] | [Copy\u002Ftargeting change] |\n| Click → Conversion | [Conv%] | [Benchmark] | [Landing page \u002F offer \u002F audience mismatch] | [LP optimization] |\n| Conversion → Revenue | [Close%] | [Benchmark] | [Lead quality \u002F sales process] | [Qualification criteria] |\n\n## Phase 4: Budget Reallocation\n\nWhen data spans multiple channels, perform cross-channel budget optimization.\n\n### 4A: Channel Efficiency Ranking\n\n| Rank | Channel | CPA | Funnel-Adj CAC | Share of Spend | Share of Conversions | Efficiency Index |\n|------|---------|-----|---------------|----------------|---------------------|-----------------|\n| 1 | [Channel] | $[X] | $[X] | [X%] | [X%] | [Conv share ÷ Spend share] |\n\n**Efficiency Index:**\n- **> 1.0** = Under-invested (getting more than its share of conversions)\n- **= 1.0** = Proportional (fair share)\n- **\u003C 1.0** = Over-invested (getting less than its share)\n\n### 4B: Marginal Return Analysis\n\nFor each channel, estimate if additional spend would yield proportional returns:\n\n| Channel | Current CPA | Impression Share \u002F Saturation Signal | Marginal Return Estimate |\n|---------|-------------|-------------------------------------|------------------------|\n| Google Search | $[X] | [X%] impression share — room to grow | Likely positive |\n| Meta | $[X] | Frequency [X] — audience may be saturated | Diminishing |\n| LinkedIn | $[X] | Low volume — limited targeting pool | Ceiling soon |\n\n### 4C: Funnel Stage Coverage\n\n| Funnel Stage | Channels Covering It | Current Spend | Gap? |\n|-------------|---------------------|--------------|------|\n| **Awareness** (top) | [Meta Display, YouTube] | $[X] | [Yes\u002FNo] |\n| **Consideration** (mid) | [Google Search, Meta retargeting] | $[X] | [Yes\u002FNo] |\n| **Decision** (bottom) | [Google Brand, Google Search] | $[X] | [Yes\u002FNo] |\n| **Retargeting** | [Meta, Google Display] | $[X] | [Yes\u002FNo] |\n\n### 4D: Budget Shift Recommendations\n\n| Channel | Current Spend | Recommended Spend | Change | Reasoning |\n|---------|-------------|------------------|--------|-----------|\n| Google Search | $[X] | $[Y] | +$[Z] | [Lowest CPA, room to scale] |\n| Meta | $[X] | $[Y] | -$[Z] | [Audience saturation, frequency too high] |\n| LinkedIn | $[X] | $[Y] | $0 | [Maintain — niche but valuable] |\n| [New channel] | $0 | $[Y] | +$[Y] | [Test budget — competitors succeeding here] |\n| **Total** | $[X] | $[X] | $0 | Budget-neutral reallocation |\n\n### 4E: Scenario Modeling\n\n**Scenario 1: Conservative shift (+\u002F- 20%)**\n- Expected conversions: [N] (currently [N]) = [X%] improvement\n- Expected blended CPA: $[X] (currently $[X])\n- Risk: Low\n\n**Scenario 2: Aggressive shift (+\u002F- 40%)**\n- Expected conversions: [N] = [X%] improvement\n- Expected blended CPA: $[X]\n- Risk: Medium — less data on scaled channels\n\n**Scenario 3: Budget increase to $[Y]\u002Fmo**\n- Recommended allocation: [table]\n- Expected conversions: [N]\n- New channels to test: [list]\n\n## Phase 5: Output Format\n\n```markdown\n# Ad Campaign Analysis — [Product\u002FClient] — [DATE]\n\nPeriod: [Date range]\nTotal spend: $[X]\nPlatform(s): [Google \u002F Meta \u002F LinkedIn]\nPrimary goal: [Conversions \u002F Revenue \u002F Leads]\n\n---\n\n## Executive Summary\n\n[3-5 sentences: Overall performance verdict, biggest win, biggest problem, top recommendation including any reallocation moves]\n\n---\n\n## Performance Dashboard\n\n| Campaign | Spend | Impressions | Clicks | CTR | CPC | Conversions | CPA | ROAS | Verdict |\n|----------|-------|------------|--------|-----|-----|-------------|-----|------|---------|\n| [Name] | $[X] | [N] | [N] | [X%] | $[X] | [N] | $[X] | [X] | [Scale\u002FOptimize\u002FPause] |\n\n---\n\n## Budget Waste Report\n\n**Total estimated waste: $[X] ([X%] of total spend)**\n\n### Wasted on zero-conversion items: $[X]\n[List of keywords\u002Fads\u002Faudiences with spend but no conversions]\n\n### Wasted on high-CPA items: $[X]\n[List of items with CPA > 3x target]\n\n### Recommended saves: $[X]\u002Fmonth\n[Specific items to pause]\n\n---\n\n## Winners to Scale\n\n### Top Keywords\u002FAudiences\n| Item | CPA | Conv Rate | Current Spend | Recommended Spend |\n|------|-----|----------|--------------|-------------------|\n\n### Top Ads\n| Ad | CTR | Conv Rate | Why It Works |\n|----|-----|----------|-------------|\n\n---\n\n## A\u002FB Test Results\n\n### [Test Name]\n- Variant A: [Metric] (n=[N])\n- Variant B: [Metric] (n=[N])\n- Confidence: [X%]\n- **Verdict:** [Winner \u002F Continue \u002F Inconclusive]\n\n---\n\n## Budget Reallocation\n\n### Current vs Recommended Allocation\n\n| Channel | Current | Recommended | Change | Why |\n|---------|---------|------------|--------|-----|\n| [Channel] | $[X] | $[Y] | [+\u002F-$Z] | [1-line reason] |\n\n**Projected impact:**\n- Conversions: [N] → [N] (+[X%])\n- Blended CPA: $[X] → $[Y] (-[X%])\n\n### Funnel Stage Coverage\n[Coverage map with gaps identified]\n\n### New Channel Recommendations\n\n#### [Channel Name]\n- **Why test:** [Reasoning]\n- **Recommended test budget:** $[X]\u002Fmo for [X weeks]\n- **Success criteria:** CPA \u003C $[X]\n- **Competitors using it:** [Yes\u002FNo — who]\n\n---\n\n## Action Plan\n\n### Immediate (This Week)\n- [ ] **Pause:** [Specific items — keywords, ads, audiences]\n- [ ] **Scale:** [Specific items — increase budget\u002Fbids]\n- [ ] **Add negatives:** [Specific keywords from search terms]\n- [ ] **Reallocate:** [Specific dollar shifts between channels]\n\n### This Month\n- [ ] **Test:** [New ad angles \u002F audiences \u002F landing pages]\n- [ ] **Restructure:** [Ad groups that need splitting or merging]\n- [ ] **Optimize:** [Bid strategy changes]\n- [ ] **Monitor reallocation:** Track CPA shifts on scaled channels, watch for diminishing returns\n\n### Next Month\n- [ ] **Expand:** [New campaigns \u002F channels to test]\n- [ ] **Re-evaluate:** [Run this analysis again with new data, adjust allocations based on actual results]\n```\n\nSave to `campaign-analysis-[YYYY-MM-DD].md` in the current working directory (or user-specified path).\n\n## Cost\n\n| Component | Cost |\n|-----------|------|\n| Data analysis | Free (LLM reasoning) |\n| Statistical calculations | Free |\n| **Total** | **Free** |\n\n## Tools Required\n\n- No external tools needed — pure reasoning skill\n- User provides campaign data as CSV, paste, or screenshot\n\n## Trigger Phrases\n\n- \"Analyze my ad campaign performance\"\n- \"Which ads should I pause?\"\n- \"Where am I wasting ad budget?\"\n- \"Is my Google Ads campaign working?\"\n- \"Optimize my Meta Ads spend\"\n- \"How should I allocate my ad budget?\"\n- \"Should I spend more on Google or Meta?\"\n- \"Reallocate my ad spend\"\n- \"Where am I getting the best ROAS?\"\n- \"Optimize my multi-channel ad budget\"\n",{"name":5,"license":14,"metadata":56,"description":7,"compatibility":60},{"author":57,"source":58,"version":59},"GooseWorks","https:\u002F\u002Fgithub.com\u002Fgooseworks-ai\u002Fgoose-skills","1.0","Cross-platform. Pure reasoning skill over user-provided campaign exports (CSV, paste, or screenshot from Google, Meta, or LinkedIn) — no external tools, network calls, or API keys.","main","068c2486ccc0f8d200a3db4d21ec137064eda3b4","skills\u002Fad-campaign-analyzer","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing","https:\u002F\u002Fgithub.com\u002FJiayiV","2026-08-25 16:30:52",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add JiayiV\u002Fquestion_mixing --skill ad-campaign-analyzer",{"tool":73,"command":74},"bunx","bunx skills add JiayiV\u002Fquestion_mixing --skill ad-campaign-analyzer",{"tool":76,"command":77},"pnpm","pnpm dlx skills add JiayiV\u002Fquestion_mixing --skill ad-campaign-analyzer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fad-campaign-analyzer\u002FSKILL.md",true,[],[82,108,134,165,192,225],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":51},"01M6NN9PJS9NHWPDG4QP93BP8F","webmcpify","Make a web app agent-ready — propose a WebMCP tool manifest, integrate, verify in a real browser, heal; unrelated code stays untouched. Use for \"webmcpify\", \"add WebMCP\", or \"expose app actions to AI agents\".","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fwebmcpify\u002FSKILL.md",[],[84,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"github","ai agents","web","notes","code","browser","https","actions","manifest","inventory","verify","tool","use","ready","unrelated","app","scope","for","webmcp",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":51},"01M6NN6KZE5RBN6NGHN2WXV1RE","vardoger-analyze","Use when the user asks to personalize the GitHub Copilot CLI assistant, adapt Copilot to their style, use vardoger, or analyze their Copilot CLI conversation history. Reads the local session directory at `~\u002F.copilot\u002Fsession-state\u002F`, extracts recurring preferences and conventions, and writes a fenced personalization block into `~\u002F.copilot\u002Fcopilot-instructions.md`. Runs entirely on the user's machine via the local `vardoger` CLI (`pipx install vardoger`); no network calls and no uploads. Triggers: 'personalize my copilot', 'analyze my copilot history', 'tailor copilot to me', 'run vardoger', 'update my copilot instructions from history', 'make copilot learn my style'.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fvardoger-analyze\u002FSKILL.md",[],[116,41,117,118,119,120,121,122,123,48,124,125,126,127,128,129,130,131,132,133],"vardoger analyze","directory","cli","github copilot","copilot","run","update","learn","my style","install","conversation","me","local","github copilot cli","pipx","my","at","copilot instructions",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":146,"publishedAt":51},"01M6NN3CZGQP3XAJ04BM1NNYGT","transloadit-media-processing","Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS\u002FMP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Ftransloadit-media-processing\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":144,"categoryName":145,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[147,148,149,150,151,152,153,154,155,156,157,158,159,101,160,161,162,163,106,164],"transloadit media processing","Media","media processing","processing","MCP","mcp server","documents","subtitles","pipeline","ocr","Video","Audio","mp4","images","files","transformation","free","hls",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":174,"publishedAt":51},"01M6NN28E92F9GH4WFYQ2H1Y15","terraform-azurerm-set-diff-analyzer","Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-azurerm-set-diff-analyzer\u002FSKILL.md",[171],{"categoryNo":172,"categoryName":173,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[175,176,177,178,32,179,180,181,182,101,183,184,185,186,187,188,189,190,191,106],"terraform","SET","terraform azurerm set diff analyzer","diff","diffs","azure","gateway","firewall","only","resource changes","provider","resources","load balancer","attributes","front","load","balancer",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":207,"publishedAt":51},"01M6NN1QMH2TDYWTH3XY3N5XPV","technical-job-search","Use this skill when a software engineer asks for help with job search tasks: parsing or analyzing a job description, tailoring a CV\u002Fresume, writing a cover letter, evaluating a job offer, or drafting a post-interview follow-up email. Do not activate for general career advice unrelated to an active job search action.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Ftechnical-job-search\u002FSKILL.md",[198,201,204],{"categoryNo":199,"categoryName":200,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":202,"categoryName":203,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000036","内容创作者",{"categoryNo":205,"categoryName":206,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000038","人力资源",[208,209,210,211,212,213,214,215,41,216,101,217,218,219,220,221,222,223,106,224],"search","Job Search","technical job search","technical","writing","tasks","email","parsing","interview","up","engineer","general","activate","do","task","cv","letter",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":231,"publishedAt":51},"01M6NMZFA67XYS1GS09WT42235","steno-mode","Shorthand-first response compression that cuts ~40% of response tokens while preserving technical precision and exact literals. Use when the user says \"steno mode\", \"shorthand mode\", \"compressed responses\", \"token reduction\", \"brief structured output\", or invokes \u002Fsteno. Supports four compression levels: lite, brief, court, machine. Do not trigger for requests needing polished prose such as onboarding\u002Ftutorial content, stakeholder or customer-facing copy, or teaching-focused explanations.","https:\u002F\u002Fgithub.com\u002FJiayiV\u002Fquestion_mixing\u002Fblob\u002Fmain\u002Fskills\u002Fsteno-mode\u002FSKILL.md",[],[232,233,234,235,236,211,237,101,221,238,239,240,241,242,243,244,245,246,106,247],"steno mode","mode","customer","brief","first","tutorial","teaching","tokens","as","trigger","structured output","machine","output","court","requests","response compression"]