start-vibing-stacks 2.28.0 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/migrate.js +81 -43
  2. package/dist/setup.js +20 -1
  3. package/package.json +1 -1
  4. package/stacks/_shared/ads-agents/README.md +452 -0
  5. package/stacks/_shared/ads-agents/RESEARCH-REPORT.md +157 -0
  6. package/stacks/_shared/ads-agents/SKILL.md +210 -0
  7. package/stacks/_shared/ads-agents/SKILLS-UPDATE-REPORT.md +255 -0
  8. package/stacks/_shared/ads-agents/agents/audit-budget.md +116 -0
  9. package/stacks/_shared/ads-agents/agents/audit-compliance.md +131 -0
  10. package/stacks/_shared/ads-agents/agents/audit-creative.md +127 -0
  11. package/stacks/_shared/ads-agents/agents/audit-google.md +113 -0
  12. package/stacks/_shared/ads-agents/agents/audit-meta.md +112 -0
  13. package/stacks/_shared/ads-agents/agents/audit-tracking.md +134 -0
  14. package/stacks/_shared/ads-agents/agents/copy-writer.md +188 -0
  15. package/stacks/_shared/ads-agents/agents/creative-strategist.md +199 -0
  16. package/stacks/_shared/ads-agents/agents/format-adapter.md +175 -0
  17. package/stacks/_shared/ads-agents/agents/visual-designer.md +245 -0
  18. package/stacks/_shared/ads-agents/references/additional-platforms.md +106 -0
  19. package/stacks/_shared/ads-agents/references/benchmarks.md +257 -0
  20. package/stacks/_shared/ads-agents/references/bidding-strategies.md +333 -0
  21. package/stacks/_shared/ads-agents/references/brand-dna-template.md +190 -0
  22. package/stacks/_shared/ads-agents/references/budget-allocation.md +150 -0
  23. package/stacks/_shared/ads-agents/references/compliance.md +280 -0
  24. package/stacks/_shared/ads-agents/references/conversion-tracking.md +246 -0
  25. package/stacks/_shared/ads-agents/references/copy-frameworks.md +187 -0
  26. package/stacks/_shared/ads-agents/references/funnel-content-copy-rules.md +44 -0
  27. package/stacks/_shared/ads-agents/references/gaql-notes.md +49 -0
  28. package/stacks/_shared/ads-agents/references/google-audit.md +217 -0
  29. package/stacks/_shared/ads-agents/references/google-creative-specs.md +119 -0
  30. package/stacks/_shared/ads-agents/references/image-providers.md +133 -0
  31. package/stacks/_shared/ads-agents/references/linkedin-audit.md +141 -0
  32. package/stacks/_shared/ads-agents/references/linkedin-creative-specs.md +129 -0
  33. package/stacks/_shared/ads-agents/references/mcp-integration.md +125 -0
  34. package/stacks/_shared/ads-agents/references/meta-audit.md +141 -0
  35. package/stacks/_shared/ads-agents/references/meta-creative-specs.md +134 -0
  36. package/stacks/_shared/ads-agents/references/microsoft-audit.md +158 -0
  37. package/stacks/_shared/ads-agents/references/microsoft-creative-specs.md +123 -0
  38. package/stacks/_shared/ads-agents/references/platform-specs.md +276 -0
  39. package/stacks/_shared/ads-agents/references/scoring-system.md +169 -0
  40. package/stacks/_shared/ads-agents/references/tiktok-audit.md +165 -0
  41. package/stacks/_shared/ads-agents/references/tiktok-creative-specs.md +139 -0
  42. package/stacks/_shared/ads-agents/references/voice-to-style.md +87 -0
  43. package/stacks/_shared/ads-agents/references/youtube-creative-specs.md +134 -0
  44. package/stacks/_shared/ads-agents/skills/ads-apple/SKILL.md +225 -0
  45. package/stacks/_shared/ads-agents/skills/ads-audit/SKILL.md +108 -0
  46. package/stacks/_shared/ads-agents/skills/ads-budget/SKILL.md +198 -0
  47. package/stacks/_shared/ads-agents/skills/ads-competitor/SKILL.md +198 -0
  48. package/stacks/_shared/ads-agents/skills/ads-create/SKILL.md +198 -0
  49. package/stacks/_shared/ads-agents/skills/ads-creative/SKILL.md +208 -0
  50. package/stacks/_shared/ads-agents/skills/ads-dna/SKILL.md +245 -0
  51. package/stacks/_shared/ads-agents/skills/ads-generate/SKILL.md +173 -0
  52. package/stacks/_shared/ads-agents/skills/ads-google/SKILL.md +192 -0
  53. package/stacks/_shared/ads-agents/skills/ads-landing/SKILL.md +186 -0
  54. package/stacks/_shared/ads-agents/skills/ads-linkedin/SKILL.md +200 -0
  55. package/stacks/_shared/ads-agents/skills/ads-math/SKILL.md +216 -0
  56. package/stacks/_shared/ads-agents/skills/ads-meta/SKILL.md +167 -0
  57. package/stacks/_shared/ads-agents/skills/ads-microsoft/SKILL.md +163 -0
  58. package/stacks/_shared/ads-agents/skills/ads-photoshoot/SKILL.md +220 -0
  59. package/stacks/_shared/ads-agents/skills/ads-plan/SKILL.md +176 -0
  60. package/stacks/_shared/ads-agents/skills/ads-test/SKILL.md +199 -0
  61. package/stacks/_shared/ads-agents/skills/ads-tiktok/SKILL.md +190 -0
  62. package/stacks/_shared/ads-agents/skills/ads-youtube/SKILL.md +199 -0
  63. package/stacks/_shared/hooks/_state.ts +8 -2
  64. package/stacks/_shared/hooks/plan-gate.ts +138 -0
  65. package/stacks/_shared/memories/funnel-content-copy.md +81 -0
  66. package/templates/CLAUDE-python.md +6 -0
@@ -0,0 +1,134 @@
1
+ # YouTube Creative Specs: Generation Guide
2
+
3
+ <!-- Updated: 2026-03-12 -->
4
+ <!-- Source: platform-specs.md + Google Ads YouTube requirements -->
5
+ <!-- Used by: ads-generate, visual-designer agent -->
6
+
7
+ ## Purpose
8
+
9
+ Generation-ready specifications for YouTube ad creative. Note: full video generation
10
+ requires a video production workflow. This reference covers thumbnail generation,
11
+ storyboard frame generation, and static companion assets.
12
+
13
+ ---
14
+
15
+ ## Ad Format Overview
16
+
17
+ | Format | Ratio | Resolution | Duration | Skip |
18
+ |--------|-------|-----------|----------|------|
19
+ | Skippable In-Stream | 16:9 | 1920×1080 | 12s-3min (rec 15-30s) | After 5s |
20
+ | Non-Skippable | 16:9 | 1920×1080 | 15-60s (expanded 2025) | No |
21
+ | Bumper | 16:9 | 1920×1080 | ≤6s | No |
22
+ | In-Feed Video | 16:9 | 1920×1080 | Any | N/A |
23
+ | YouTube Shorts | 9:16 | 1080×1920 | ≤60s | Swipe |
24
+
25
+ ---
26
+
27
+ ## Thumbnail Generation
28
+
29
+ Thumbnails are the primary generation output for YouTube campaigns.
30
+
31
+ ### Standard Thumbnail
32
+
33
+ | Property | Value |
34
+ |----------|-------|
35
+ | Dimensions | 1280×720 (16:9) |
36
+ | Format | JPG or PNG |
37
+ | Max size | 2MB |
38
+ | Min resolution | 640×360 |
39
+
40
+ **Thumbnail generation guidelines:**
41
+ - High contrast between subject and background
42
+ - Face or product in center-left (text overlays typically placed right side)
43
+ - Bright, saturated colors outperform muted palettes for CTR
44
+ - Include human faces when relevant (psychological click-trigger)
45
+ - Avoid cluttered backgrounds; viewer evaluates at 246×138px in search
46
+ - Shock or curiosity gap increases CTR more than informational thumbnails
47
+
48
+ ### Shorts Thumbnail
49
+
50
+ | Property | Value |
51
+ |----------|-------|
52
+ | Dimensions | 1080×1080 (1:1) |
53
+ | Safe zone | Center 1080×1080 (full frame) |
54
+
55
+ ---
56
+
57
+ ## Shorts Safe Zone (1080×1920)
58
+
59
+ ```
60
+ ┌─────────────────────────────────┐ ← Top (Y:0)
61
+ │ │
62
+ │ ██████████████████████████ │ ← SAFE START Y:250
63
+ │ █ █ │
64
+ │ █ SAFE CONTENT ZONE █ │
65
+ │ █ 1080×1420px █ │
66
+ │ █ (full width, center) █ │
67
+ │ █ █ │
68
+ │ ██████████████████████████ │ ← SAFE END Y:1670
69
+ │ │
70
+ │ SUBSCRIBE / LIKE / COMMENT UI │ ← Y:1670-1920 (avoid)
71
+ └─────────────────────────────────┘ ← Bottom (Y:1920)
72
+ ```
73
+
74
+ **Safe zone:** Full width, Y:250-1670. Bottom 250px is UI overlay (subscribe, like).
75
+
76
+ ---
77
+
78
+ ## Storyboard Frame Generation
79
+
80
+ For agencies creating video assets, use image generation for storyboard frames:
81
+
82
+ ### Pre-Skip Hook (Skippable In-Stream)
83
+ First 5 seconds must capture attention before the skip button appears.
84
+
85
+ **Generate as:** Single 1920×1080 frame capturing the hook visual.
86
+ Prompt modifier: `"dramatic opening frame, immediate visual interest, skip-proof hook"`
87
+
88
+ ### Bumper Ad Frame (≤6s)
89
+ Single message, no time for story arc.
90
+
91
+ **Generate as:** One 1920×1080 frame = the entire bumper concept.
92
+ Prompt modifier: `"single clear message, product/brand front and center, high recall"`
93
+
94
+ ---
95
+
96
+ ## Copy Limits (YouTube Companion)
97
+
98
+ | Component | Limit |
99
+ |-----------|-------|
100
+ | Headline | 15 chars |
101
+ | CTA button | Predefined |
102
+ | Description (in-feed) | 2 lines, 35 chars each |
103
+
104
+ ---
105
+
106
+ ## Image Generation Prompt Modifiers
107
+
108
+ **For Standard Thumbnail (1280×720):**
109
+ - `"horizontal composition, 16:9 aspect ratio"`
110
+ - `"subject in center-left third of frame"`
111
+ - `"high contrast, bold colors"`
112
+ - `"dramatic lighting"` (thumbnails need visual pop)
113
+ - `"designed to be legible at thumbnail size"`
114
+
115
+ **For Shorts (1080×1920 vertical):**
116
+ - `"vertical composition, subject centered in upper portion"`
117
+ - `"bottom 250px is clear background only"`
118
+ - `"bold, full-bleed vertical visual"`
119
+ - `"designed for mobile fullscreen viewing"`
120
+
121
+ **For Storyboard Frames (1920×1080):**
122
+ - `"cinematic composition, widescreen"`
123
+ - `"broadcast quality, professional production"`
124
+ - `"clear storytelling in single frame"`
125
+
126
+ ---
127
+
128
+ ## Generation Scope Limitation
129
+
130
+ Full video ads (MP4) cannot be generated with still image models. Use:
131
+ - `generate_image.py` → thumbnail, companion banner, storyboard frames
132
+ - `/ads generate` → static assets only
133
+ - For video generation → use `/ads generate` with the `ads-youtube` video generation workflow
134
+ (requires separate video generation API, not covered by `generate_image.py`)
@@ -0,0 +1,225 @@
1
+ ---
2
+ name: ads-apple
3
+ version: 1.6.0
4
+ description: "Apple Ads (formerly Apple Search Ads) deep analysis for mobile app advertisers. Evaluates campaign structure, bid health, Custom Product Pages (CPPs), MMP attribution, budget pacing, TAP coverage (Today/Search/Product Pages), Maximize Conversions bidding, and goal CPA benchmarks by country. Use when user says Apple Ads, Apple Search Ads, ASA, App Store ads, Apple ads, Search Ads, or is advertising a mobile app on iOS."
5
+ user-invokable: false
6
+ ---
7
+
8
+ # Apple Ads (formerly Apple Search Ads) Deep Analysis
9
+
10
+ <!-- Updated: 2026-05-14 | v1.6: CPP limit confirmed 70 (October 29, 2025), Maximize Conversions GA confirmed (Feb 26, 2026), Multiple ads per query rollout March 2026 (up to 2 ads), keyword assignment for CPPs (Oct 2025) -->
11
+ <!-- Note: Apple rebranded "Apple Search Ads" to "Apple Ads" in April 2025 -->
12
+
13
+ ## Process
14
+
15
+ 1. Collect Apple Ads account data (exports from Apple Ads dashboard or pasted metrics)
16
+ 2. Identify active placement types (Search Results, Search Tab, Today Tab, Product Pages)
17
+ 3. Evaluate all applicable checks as PASS, WARNING, or FAIL
18
+ 4. Calculate ASA Health Score (0-100)
19
+ 5. Generate findings report with action plan
20
+
21
+ ## What to Analyze
22
+
23
+ ### Campaign Structure (25% weight)
24
+
25
+ **BOFU; Bottom of Funnel (Search Results, Exact Match brand)**
26
+ - Brand keyword campaign present (own app name + misspellings)
27
+ - Competitor campaign present (competitor app names as keywords)
28
+ - Category campaigns targeting high-intent generic terms (e.g. "workout app", "budget tracker")
29
+
30
+ **MOFU; Middle of Funnel (Search Match / broad discovery)**
31
+ - Search Match campaigns active in at least one ad group for discovery
32
+ - Search Match ad groups isolated from Exact Match (separate ad groups; never mix)
33
+ - Search Terms Report reviewed to mine converting queries for Exact Match promotion
34
+
35
+ **Campaign Architecture Rules:**
36
+ - Brand / Category / Competitor should be separate campaigns (different CPT bids, budgets)
37
+ - Search Match ad groups isolated from manual keyword ad groups; NEVER mix in same ad group
38
+ - Goal: let Search Match discover, then promote winners to Exact Match campaigns
39
+
40
+ ### Bid Health (20% weight)
41
+
42
+ **CPT (Cost Per Tap) vs Install Rate by Match Type:**
43
+ - CPT vs category benchmarks (see Benchmarks section below)
44
+ - TTR (Tap-Through Rate): benchmark >2.5% for Search Results, >1.5% for Search Tab
45
+ - Conversion Rate (tap → install): benchmark 50-65% for brand terms, 20-40% for category
46
+ - CPT/CPG (Cost Per Goal): compare against target CPI/CPA from MMP
47
+
48
+ **Bid Strategy:**
49
+ - Manual CPT bidding appropriate for small/new accounts
50
+ - **Maximize Conversions** (GA February 26, 2026): AI-powered auto-bidder using Search Match that sets optimal bids per search query in real time. Target CPA (weekly average target) replaces CPA Cap (being deprecated). Recommended daily budget: at least 5x target CPA. Two-week learning period minimum. **Current limitation**: only optimizes for installs, NOT post-install events (no trial, subscription, or ROAS optimization yet)
51
+ - CPA Goals available at campaign level; evaluate if conversion volume supports it (>100 installs/month per campaign)
52
+ - Are bids differentiated by match type? (Brand Exact > Category Exact > Search Match)
53
+ - Keyword-level CPT bids set, not just ad group default?
54
+
55
+ **Keyword Health:**
56
+ - Irrelevant Search Terms (from Search Match) identified and excluded via negative keywords
57
+ - Low-performing keywords paused or bid reduced (TTR <1% + high CPT)
58
+ - High-volume generic terms checked for intent quality (avoid "free apps" type queries)
59
+
60
+ ### Custom Product Pages (15% weight)
61
+
62
+ > **Creative Sets fully deprecated.** CPPs are now the sole ad variation mechanism. **CPP limit doubled from 35 to 70 on October 29, 2025**, and **CPPs can now be assigned keyword sets** for organic discoverability in App Store search.
63
+
64
+ **Custom Product Pages (CPP) — 2026:**
65
+ - CPPs created in App Store Connect? (up to 70 per app as of Oct 29, 2025)
66
+ - At least 3 CPP variants tested per campaign type (different value props per audience)
67
+ - CPP assets aligned with ad group keyword themes (e.g. fitness keywords → fitness screenshots)
68
+ - **Keyword assignment per CPP (Oct 2025)**: each CPP can have unique keyword sets for intent-based organic discoverability — paid and organic strategy now bridge through CPPs
69
+ - CPPs can be linked from external acquisition channels (Meta, Google, AppLovin, Unity, Mintegral) for unified pre-install creative consistency
70
+ - CPPs increase conversion rates ~8% for games, ~6.6% for non-gaming apps (AppTweak data)
71
+ - SoundCloud case study: CPPs in competitor campaigns led to 58% CR increase, 39% CPI reduction
72
+ - **Critical**: 78% of App Store search volume comes from devices with Personalized Ads off. Use creative-based targeting (CPP asset alignment) rather than demographic audience filters
73
+
74
+ **Default (Store Listing) Creative:**
75
+ - App icon, subtitle, and first 3 screenshots optimized; these show in ads by default
76
+ - Short description (170 chars) compelling and keyword-rich
77
+ - Preview video present (strongly recommended for TTR improvement)
78
+
79
+ **Creative Testing:**
80
+ - CPP performance compared: which variant has highest TTR and lowest CPI?
81
+ - Deep links in CPPs available on iOS/iPadOS 18+ (test for re-engagement)
82
+ - CPPs can now be assigned organic keywords (WWDC 2025), bridging paid/organic optimization
83
+
84
+ ### Attribution & MMP Health (15% weight)
85
+
86
+ **MMP Integration (Critical):**
87
+ - MMP (AppsFlyer / Adjust / Branch / Singular) integrated with Apple Ads via AdAttributionKit + ATT
88
+ - Apple Ads properly connected as a partner in MMP dashboard
89
+ - In-app events being sent back to Apple Ads (enables Maximize Conversions and ROAS optimization)
90
+ - Post-install event quality: are purchase, subscription_start, or other revenue events tracked?
91
+
92
+ **AdAttributionKit & Dual Attribution (April 10, 2025):**
93
+ - Apple Ads registered with AdAttributionKit (SKAN v1-3), creating dual attribution for the first time
94
+ - Installs now report through BOTH SKAN/AAK postbacks AND the AdServices API
95
+ - WWDC 2025: configurable attribution windows, overlapping re-engagement windows, and country codes in postbacks
96
+ - SKAdNetwork conversion values configured in MMP (maps user actions to conversion windows)
97
+ - ATT opt-in rate monitored (low ATT rate = less MMP data, more reliance on SKAN/AAK)
98
+ - Privacy threshold considerations: are campaigns getting postbacks or null reports?
99
+
100
+ **Attribution Windows:**
101
+ - Default Apple Ads attribution: 30-day click, 1-day view; appropriate for app install goals?
102
+ - WWDC 2025 added configurable windows and overlapping re-engagement windows
103
+ - For re-engagement or subscription goals: evaluate longer lookback windows
104
+
105
+ ### Budget Pacing (10% weight)
106
+
107
+ - Daily cap set at campaign level (budget pacing in ASA is daily, not monthly)
108
+ - Actual daily spend vs daily cap ratio: flag if consistently hitting cap (could be missing volume)
109
+ - Conversely: flag if spend is <50% of daily cap (creative or bid issue, not budget)
110
+ - Budget split across placement types aligned with performance (don't over-invest in underperforming placements)
111
+ - Lifetime budget campaigns (if used): check end dates and pacing curves
112
+
113
+ ### TAP Coverage: Placement Types (10% weight)
114
+
115
+ ASA offers 4 placement types; evaluate coverage and performance:
116
+
117
+ | Placement | Where | Best for | Benchmark CPT |
118
+ |-----------|-------|----------|----------------|
119
+ | Search Results | Below search results | High intent, bottom funnel | $0.50-$3.00 |
120
+ | Search Tab | Top of Search tab | Discovery, mid funnel | $0.30-$1.50 |
121
+ | Today Tab | App Store home | Brand awareness | $1.00-$5.00 |
122
+ | Product Pages | Competitor/related app pages | Competitor conquesting | $0.50-$2.00 |
123
+
124
+ **Evaluation:**
125
+ - Search Results: must be active (highest intent placement)
126
+ - Search Tab: active for scale? Evaluate CPT and TTR vs Search Results
127
+ - Today Tab: only if budget >$3k/month and brand awareness is a goal (high CPT, low intent)
128
+ - Product Pages: competitive opportunity; are competitor CPPs being targeted?
129
+
130
+ ### Goal CPA / KPI Assessment (5% weight)
131
+
132
+ **Benchmarks by Category (2025-2026 ASA averages):**
133
+ | Category | Avg CPT | Avg TTR | Avg Install CVR | Target CPI |
134
+ |----------|---------|---------|-----------------|------------|
135
+ | Games | $0.50-$1.00 | 3-5% | 55-70% | $1.00-$3.00 |
136
+ | Health & Fitness | $1.50-$3.00 | 2-4% | 45-60% | $3.00-$8.00 |
137
+ | Productivity | $1.00-$2.50 | 2-3.5% | 50-65% | $2.00-$5.00 |
138
+ | Finance | $2.00-$5.00 | 1.5-3% | 40-55% | $5.00-$15.00 |
139
+ | Education | $1.00-$2.00 | 2-4% | 50-65% | $2.00-$6.00 |
140
+ | Shopping | $0.80-$2.00 | 2.5-4% | 45-60% | $2.00-$5.00 |
141
+ | Lifestyle | $0.80-$1.80 | 2-3.5% | 45-60% | $2.00-$5.00 |
142
+
143
+ **Country-level benchmarks:**
144
+ - Tier 1 (US, UK, AU, CA, JP): CPT 2-3× above global average; highest LTV
145
+ - Tier 2 (DE, FR, KR, SG, HK): CPT 1-1.5× above global average
146
+ - Tier 3 (BR, IN, MX): CPT 30-60% below Tier 1; high volume, lower LTV
147
+
148
+ **Checks:**
149
+ - Actual CPI vs target CPI (from MMP); flag if >2x target
150
+ - CPI trend over 30 days (improving or worsening?)
151
+ - Revenue events: is ROAS positive within MMP attribution window?
152
+
153
+ ### Overall Benchmarks (2025 SplitMetrics data)
154
+
155
+ | Metric | Search Results Average |
156
+ |--------|-----------------------|
157
+ | TTR (Tap-Through Rate) | 9.7% |
158
+ | Conversion Rate | 66.2% |
159
+ | CPT (Cost Per Tap) | $2.25 |
160
+ | CPA (Cost Per Acquisition) | $3.76 |
161
+
162
+ - US is the highest-cost market
163
+ - AMEI (Africa/Middle East/India) is most cost-efficient and stable
164
+ - **International markets often deliver 3-5x better CPI than US** with comparable LTV for subscription apps
165
+
166
+ ### Platform Changes (v1.5)
167
+
168
+ | ID | Check | Severity | Notes |
169
+ |----|-------|----------|-------|
170
+ | ASA-MA1 | Multiple ads per query readiness | Medium | Rolling out March 2026: up to 2 ads per search query (was 1). Changes competitive dynamics: more search results real estate available. Evaluate bid strategy for increased competition |
171
+
172
+ **Deprecated:**
173
+ - Creative Sets: fully deprecated. Only CPPs now (up to 70 per app)
174
+ - CPA Cap: being retired in favor of Target CPA via Maximize Conversions
175
+ - Demographic audience targeting as primary strategy: 78% of App Store search volume comes from devices with Personalized Ads off
176
+
177
+ ## Output Format
178
+
179
+ ```
180
+ ## Apple Ads Audit
181
+
182
+ **ASA Health Score: [X]/100**
183
+
184
+ ### Critical Issues ([count])
185
+ - [Issue with specific impact and fix]
186
+
187
+ ### High Priority ([count])
188
+ - [Issue]
189
+
190
+ ### Campaign Structure
191
+ PASS/WARNING/FAIL for each check category
192
+
193
+ ### Benchmark Comparison
194
+ [Metric] | Your Account | ASA Benchmark | Status
195
+
196
+ ### Quick Wins (do this week)
197
+ 1. [Most impactful fix with expected outcome]
198
+ 2.
199
+ 3.
200
+
201
+ ### Recommended Next Steps
202
+ [Prioritized action plan]
203
+ ```
204
+
205
+ ## Scoring Weights
206
+
207
+ | Category | Weight |
208
+ |----------|--------|
209
+ | Campaign Structure | 25% |
210
+ | Bid Health | 20% |
211
+ | Custom Product Pages | 15% |
212
+ | Attribution & MMP | 15% |
213
+ | Budget Pacing | 10% |
214
+ | TAP Coverage | 10% |
215
+ | Goal KPI Assessment | 5% |
216
+
217
+ ## Data to Request from User
218
+
219
+ If not provided, ask for:
220
+ - Campaign list with spend, installs, CPT, TTR, CVR (last 30 days)
221
+ - Active placement types
222
+ - MMP being used (AppsFlyer, Adjust, Branch, Singular, or none)
223
+ - Target CPI / CPA and app category
224
+ - Countries/regions active
225
+ - Whether Custom Product Pages are set up in App Store Connect
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: ads-audit
3
+ version: 1.5.0
4
+ description: "Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and Microsoft Ads accounts. Generates health score per platform and aggregate score. Use when user says audit, full ad check, analyze my ads, account health check, or PPC audit."
5
+ user-invokable: false
6
+ ---
7
+
8
+ # Full Multi-Platform Ads Audit
9
+
10
+ ## Process
11
+
12
+ 1. **Collect account data**: request exports, screenshots, or API access
13
+ 2. **Validate**: confirm at least one platform's data is available before proceeding
14
+ 3. **Detect business type**: analyze account signals per ads orchestrator
15
+ 4. **Identify active platforms**: determine which platforms are in use
16
+ 5. **Delegate to subagents** (if available, otherwise run inline sequentially):
17
+ - `audit-google`: Conversion tracking, wasted spend, structure, keywords, ads, settings (G01-G74)
18
+ - `audit-meta`: Pixel/CAPI health, creative fatigue, structure, audience (M01-M46)
19
+ - `audit-creative`: LinkedIn, TikTok, Microsoft creative checks + cross-platform synthesis
20
+ - `audit-tracking`: LinkedIn, TikTok, Microsoft tracking + cross-platform tracking health
21
+ - `audit-budget`: LinkedIn, TikTok, Microsoft budget/bidding + cross-platform allocation
22
+ - `audit-compliance`: All-platform compliance, settings, performance benchmarks
23
+ 6. **Validate**: verify each subagent returned valid scores with required fields before aggregating
24
+ 7. **Score**: calculate per-platform and aggregate Ads Health Score (0-100)
25
+ 8. **Report**: generate prioritized action plan with Quick Wins
26
+
27
+ ## Data Collection
28
+
29
+ Ask the user for available data. Accept any combination:
30
+ - Google Ads: account export, Change History, Search Terms Report
31
+ - Meta Ads: Ads Manager export, Events Manager screenshot, EMQ scores
32
+ - LinkedIn Ads: Campaign Manager export, Insight Tag status
33
+ - TikTok Ads: Ads Manager export, Pixel/Events API status
34
+ - Microsoft Ads: account export, UET tag status, import validation results
35
+
36
+ If no exports available, audit from screenshots or manual data entry.
37
+
38
+ ## Scoring
39
+
40
+ Read `ads-agents/references/scoring-system.md` for full algorithm.
41
+
42
+ ### Per-Platform Weights
43
+
44
+ | Platform | Category Weights |
45
+ |----------|-----------------|
46
+ | Google | Conversion 25%, Waste 20%, Structure 15%, Keywords 15%, Ads 15%, Settings 10% |
47
+ | Meta | Pixel/CAPI 30%, Creative 30%, Structure 20%, Audience 20% |
48
+ | LinkedIn | Tech 25%, Audience 25%, Creative 20%, Lead Gen 15%, Budget 15% |
49
+ | TikTok | Creative 30%, Tech 25%, Bidding 20%, Structure 15%, Performance 10% |
50
+ | Microsoft | Tech 25%, Syndication 20%, Structure 20%, Creative 20%, Settings 15% |
51
+
52
+ ### Aggregate Score
53
+
54
+ ```
55
+ Aggregate = Sum(Platform_Score x Platform_Budget_Share)
56
+ Grade: A (90-100), B (75-89), C (60-74), D (40-59), F (<40)
57
+ ```
58
+
59
+ ## Output Files
60
+
61
+ - `ADS-AUDIT-REPORT.md`: Comprehensive multi-platform findings
62
+ - `ADS-ACTION-PLAN.md`: Prioritized recommendations (Critical > High > Medium > Low)
63
+ - `ADS-QUICK-WINS.md`: Items fixable in <15 minutes with high impact
64
+
65
+ ## Report Structure
66
+
67
+ ### Executive Summary
68
+ - Aggregate Ads Health Score (0-100) with grade
69
+ - Per-platform scores
70
+ - Business type detected
71
+ - Active platforms identified
72
+ - Top 5 critical issues across all platforms
73
+ - Top 5 quick wins across all platforms
74
+
75
+ ### Per-Platform Sections
76
+ Each platform section includes:
77
+ - Platform Health Score with grade
78
+ - Category breakdown with pass/warning/fail per check
79
+ - Platform-specific Quick Wins
80
+ - Detailed findings with remediation steps
81
+
82
+ ### Cross-Platform Analysis
83
+ - Budget allocation assessment (actual vs recommended)
84
+ - Tracking consistency (are all platforms tracking the same events?)
85
+ - Creative consistency (is messaging aligned across platforms?)
86
+ - Attribution overlap (are platforms double-counting conversions?)
87
+
88
+ ### Strategic Recommendations
89
+ - Platform prioritization based on business type
90
+ - Budget reallocation recommendations
91
+ - Scaling opportunities (platforms/campaigns ready to scale)
92
+ - Kill list (campaigns/ad groups to pause immediately)
93
+
94
+ ## Priority Definitions
95
+
96
+ - **Critical**: Revenue/data loss risk (fix immediately)
97
+ - **High**: Significant performance drag (fix within 7 days)
98
+ - **Medium**: Optimization opportunity (fix within 30 days)
99
+ - **Low**: Best practice, minor impact (backlog)
100
+
101
+ ## Quick Wins Criteria
102
+
103
+ ```
104
+ IF severity == "Critical" OR severity == "High"
105
+ AND estimated_fix_time < 15 minutes
106
+ THEN flag as Quick Win
107
+ SORT BY (severity_multiplier x estimated_impact) DESC
108
+ ```
@@ -0,0 +1,198 @@
1
+ ---
2
+ name: ads-budget
3
+ version: 1.6.0
4
+ description: "Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy appropriateness, scaling readiness, and identifies campaigns to kill or scale. Uses 70/20/10 rule, 3x Kill Rule, and 20% scaling rule. Use when user says budget allocation, bidding strategy, ad spend, ROAS target, media budget, or scaling."
5
+ user-invokable: false
6
+ ---
7
+
8
+ <!-- Updated: 2026-05-14 | v1.6: AI Max 7% lift (corrected from 14%), DSA September 2026 auto-upgrade timeline, TikTok Smart+ Catalog Ads 29% CPA improvement -->
9
+
10
+ # Budget Allocation & Bidding Strategy
11
+
12
+ ## Process
13
+
14
+ 1. Collect budget and performance data across all active platforms
15
+ 2. Read `ads-agents/references/budget-allocation.md` for allocation framework
16
+ 3. Read `ads-agents/references/bidding-strategies.md` for strategy decision trees
17
+ 4. Read `ads-agents/references/benchmarks.md` for CPC/CPA benchmarks
18
+ 5. Read `ads-agents/references/scoring-system.md` for health score algorithm
19
+ 6. **Validate**: confirm spend data covers ≥14 days before evaluating kill/scale decisions
20
+ 7. Evaluate budget allocation, bidding strategy, and scaling readiness
21
+ 8. **Validate**: verify kill list candidates have sufficient data (≥20 clicks or ≥$100 spend) before recommending pause
22
+ 9. Generate recommendations with kill list and scale list
23
+
24
+ ## Budget Allocation Framework
25
+
26
+ ### 70/20/10 Rule
27
+ - **70%** on proven channels (consistent ROAS/CPA targets met)
28
+ - **20%** on scaling channels (showing promise, need more data)
29
+ - **10%** on testing channels (new platforms, audiences, creatives)
30
+
31
+ ### Platform Selection Matrix
32
+
33
+ | Business Type | Primary | Secondary | Testing |
34
+ |---------------|---------|-----------|---------|
35
+ | SaaS B2B | Google Search, LinkedIn | Meta, YouTube | TikTok, Microsoft |
36
+ | E-commerce | Google Shopping, Meta | TikTok, YouTube | Microsoft, LinkedIn |
37
+ | Local Service | Google Search, Google LSA | Meta | Microsoft, YouTube |
38
+ | B2B Enterprise | LinkedIn, Google Search | Meta | Microsoft, TikTok |
39
+ | Info Products | Meta, YouTube | Google Search | TikTok |
40
+ | Mobile App | Meta, Google UAC | TikTok | Apple Ads |
41
+ | Real Estate | Google Search, Meta | YouTube | Microsoft |
42
+ | Healthcare | Google Search | Meta | Microsoft, YouTube |
43
+ | Finance | Google Search, Meta | LinkedIn | Microsoft |
44
+ | Agency (clients) | Varies by client | N/A | N/A |
45
+
46
+ ### Budget Sufficiency Rules
47
+
48
+ | Platform | Minimum Daily | Learning Phase Budget |
49
+ |----------|--------------|----------------------|
50
+ | Google Search | $20/day | Sufficient for 15+ conv/month |
51
+ | Google PMax | $50/day | Sufficient for algorithm optimization |
52
+ | Meta | $20/day per ad set | ≥5x target CPA per ad set |
53
+ | LinkedIn | $50/day Sponsored Content | 15+ conversions/month |
54
+ | TikTok | $50/day campaign, $20/day ad group | ≥50x target CPA per ad group |
55
+ | Microsoft | No strict minimum | Sufficient for stable delivery |
56
+
57
+ ## Bidding Strategy Evaluation
58
+
59
+ ### Google Ads Bidding Decision Tree
60
+
61
+ ```
62
+ Start
63
+ ├─ <30 conversions/month?
64
+ │ └─ Use Maximize Clicks (cap CPC at benchmark)
65
+ │ └─ When >30 conv/month → Maximize Conversions
66
+ ├─ 30-50 conversions/month?
67
+ │ └─ Use Maximize Conversions
68
+ │ └─ When stable CPA → Target CPA
69
+ ├─ >50 conversions/month?
70
+ │ └─ Use Target CPA
71
+ │ └─ When revenue tracking → Target ROAS
72
+ └─ Revenue tracking active + >50 conv/month?
73
+ └─ Use Target ROAS
74
+ ```
75
+
76
+ ### Meta Ads Bidding
77
+ - **Lowest Cost (default)**: best for volume, may have CPA variance
78
+ - **Cost Cap**: sets CPA ceiling, may reduce volume
79
+ - **Bid Cap**: maximum bid per auction, most control
80
+ - **ROAS Goal**: target return on ad spend
81
+ - **CBO vs ABO**: CBO for proven campaigns, ABO for testing
82
+
83
+ ### LinkedIn Bidding
84
+ - **Cost Per Send (CPS)**: for Message Ads
85
+ - **Manual CPC**: recommended starting point for cost control
86
+ - **Cost Cap**: efficiency at scale with predictable CPA
87
+ - **Maximum Delivery**: highest volume, most expensive. Use only for scale with established data
88
+ - **Target Cost**: for predictable CPA
89
+
90
+ ### TikTok Bidding
91
+ - **Lowest Cost**: maximize conversions within budget (volume)
92
+ - **Cost Cap**: set maximum CPA (efficiency)
93
+ - **Bid Cap**: maximum bid per impression
94
+ - Budget ≥50x CPA per ad group for learning phase exit
95
+
96
+ ### Microsoft Bidding
97
+ - Mirror Google strategy but bid 20-35% lower
98
+ - Manual CPC for low-volume campaigns (Enhanced CPC deprecated on Google March 2025; verify Microsoft availability before recommending)
99
+ - Target CPA / Target ROAS for automated (requires 15+ conversions/30 days)
100
+
101
+ ## v1.5 Bidding Innovations
102
+
103
+ ### Google AI Max for Search (GA April 2026)
104
+ - **7% average conversion lift** at similar CPA/ROAS when full feature suite enabled (search term matching + text customization + final URL expansion), per Google internal data April 2026
105
+ - Requires strong negative keyword lists (AI Max casts a wider net)
106
+ - **DSA + ACA + campaign-level broad match auto-upgrade to AI Max in September 2026** (no new DSA creation after that point)
107
+ - Best for: accounts with mature conversion tracking and keyword history
108
+
109
+ ### TikTok Smart+ Modular Control (expanded 2026)
110
+ - Lock targeting, budget, catalog ads, or placements independently (mix of manual and AI)
111
+ - **Smart+ Catalog Ads: 29% CPA improvement** vs manual campaigns (TikTok internal data, Global 2025 beta)
112
+ - Smart+ now expanded to Traffic objective (previously only lower-funnel: Sales, App Promotion, Lead Gen)
113
+ - Symphony Automation built into Smart+ workflow (Recommended Creatives, Auto-add, Automatic Enhancements, 50+ language dubbing)
114
+ - Music Autofix available for App Campaigns
115
+ - Best for: advertisers wanting partial AI control without full black-box; product catalog brands should default to Smart+ Catalog Ads
116
+
117
+ ### Apple Ads Maximize Conversions
118
+ - GA: February 26, 2026. AI-powered auto-bidder for Apple Ads
119
+ - Target CPA based on weekly average (not per-conversion)
120
+ - Daily budget must be >=5x target CPA for stable performance
121
+ - Two-week learning phase required; avoid changes during learning
122
+ - Currently supports installs only (not post-install events)
123
+
124
+ ### Meta Advantage+ Bidding
125
+ - Automatic optimization across all placements within Advantage+ Sales campaigns
126
+ - Budget automatically shifts to highest-performing placements in real time
127
+ - Best combined with broad targeting and high creative volume
128
+
129
+ ## Scaling Assessment
130
+
131
+ ### Ready to Scale (Green Light)
132
+ - CPA consistently below target for 2+ weeks
133
+ - ≥50 conversions per week (learning phase exited)
134
+ - CTR stable or improving
135
+ - ROAS above target
136
+ - No creative fatigue signals
137
+
138
+ ### 20% Rule
139
+ Never increase budget by more than 20% at a time:
140
+ - Week 1: $100/day → $120/day
141
+ - Week 2: $120/day → $144/day
142
+ - Week 3: $144/day → $173/day
143
+ - Monitor 3-5 days after each increase for performance stability
144
+
145
+ ### Scaling Methods
146
+ 1. **Vertical**: increase budget on winning campaigns (20% rule)
147
+ 2. **Horizontal**: duplicate winning campaigns to new audiences
148
+ 3. **Platform expansion**: add budget on new platforms
149
+ 4. **Geographic expansion**: test new markets/regions
150
+ 5. **Format expansion**: test new ad formats on same platform
151
+
152
+ ## Kill List Assessment
153
+
154
+ ### 3x Kill Rule
155
+ - Any campaign/ad group with CPA >3x target → **flag for pause**
156
+ - Review spend in last 14 days with no conversions → **flag for pause**
157
+ - Creative with CTR >50% below platform benchmark → **flag for creative kill**
158
+
159
+ ### Kill Decision Framework
160
+ | Scenario | Data Required | Action |
161
+ |----------|---------------|--------|
162
+ | CPA >3x target | ≥7 days data, ≥20 clicks | Pause immediately |
163
+ | No conversions | ≥$100 spend or ≥50 clicks | Pause and diagnose |
164
+ | CTR <50% of benchmark | ≥1,000 impressions | Kill creative, test new |
165
+ | ROAS <50% of target | ≥14 days data | Reduce budget 50% or pause |
166
+
167
+ ## MER (Marketing Efficiency Ratio)
168
+
169
+ ```
170
+ MER = Total Revenue / Total Marketing Spend
171
+ ```
172
+
173
+ - Assess blended efficiency across all platforms
174
+ - Target MER varies by business: 3x-10x depending on margins
175
+ - Use MER to evaluate overall health, not just per-platform ROAS
176
+ - Incrementality testing recommended for MER accuracy
177
+
178
+ ## Output
179
+
180
+ ### Budget & Bidding Assessment
181
+
182
+ ```
183
+ Budget Allocation Health
184
+
185
+ Allocation Strategy: ████████░░ XX/100
186
+ Bidding Strategies: ██████████ XX/100
187
+ Scaling Readiness: ███████░░░ XX/100
188
+ Budget Sufficiency: █████░░░░░ XX/100
189
+ ```
190
+
191
+ ### Deliverables
192
+ - `BUDGET-STRATEGY-REPORT.md`: Full allocation and bidding analysis
193
+ - Current vs recommended budget split (pie chart data)
194
+ - Bidding strategy recommendations per platform/campaign
195
+ - Scale list: campaigns ready for more budget
196
+ - Kill list: campaigns/ad groups to pause immediately
197
+ - MER analysis and trend
198
+ - Quick Wins for immediate budget optimization