agileflow 3.3.0 → 3.4.1

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 (210) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +6 -6
  3. package/lib/skill-loader.js +0 -1
  4. package/package.json +1 -1
  5. package/scripts/agileflow-statusline.sh +81 -0
  6. package/scripts/agileflow-welcome.js +79 -0
  7. package/scripts/claude-tmux.sh +90 -23
  8. package/scripts/claude-watchdog.sh +225 -0
  9. package/scripts/generators/agent-registry.js +14 -1
  10. package/scripts/generators/inject-babysit.js +22 -9
  11. package/scripts/generators/inject-help.js +19 -9
  12. package/scripts/lib/ac-test-matcher.js +452 -0
  13. package/scripts/lib/audit-cleanup.js +250 -0
  14. package/scripts/lib/audit-registry.js +304 -0
  15. package/scripts/lib/configure-features.js +35 -0
  16. package/scripts/lib/feature-catalog.js +3 -3
  17. package/scripts/lib/gate-enforcer.js +295 -0
  18. package/scripts/lib/model-profiles.js +118 -0
  19. package/scripts/lib/quality-gates.js +163 -0
  20. package/scripts/lib/signal-detectors.js +44 -1
  21. package/scripts/lib/skill-catalog.js +557 -0
  22. package/scripts/lib/skill-recommender.js +311 -0
  23. package/scripts/lib/status-writer.js +255 -0
  24. package/scripts/lib/story-claiming.js +128 -45
  25. package/scripts/lib/task-sync.js +32 -38
  26. package/scripts/lib/tdd-phase-manager.js +455 -0
  27. package/scripts/lib/team-events.js +34 -3
  28. package/scripts/lib/tmux-audit-monitor.js +611 -0
  29. package/scripts/lib/tmux-group-colors.js +113 -0
  30. package/scripts/lib/tool-registry.yaml +241 -0
  31. package/scripts/lib/tool-shed.js +441 -0
  32. package/scripts/messaging-bridge.js +209 -1
  33. package/scripts/native-team-observer.js +219 -0
  34. package/scripts/obtain-context.js +14 -0
  35. package/scripts/ralph-loop.js +30 -5
  36. package/scripts/smart-detect.js +21 -0
  37. package/scripts/spawn-audit-sessions.js +877 -0
  38. package/scripts/team-manager.js +56 -16
  39. package/scripts/tmux-close-windows.sh +180 -0
  40. package/src/core/agents/a11y-analyzer-aria.md +155 -0
  41. package/src/core/agents/a11y-analyzer-forms.md +162 -0
  42. package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
  43. package/src/core/agents/a11y-analyzer-semantic.md +153 -0
  44. package/src/core/agents/a11y-analyzer-visual.md +158 -0
  45. package/src/core/agents/a11y-consensus.md +248 -0
  46. package/src/core/agents/ads-audit-budget.md +181 -0
  47. package/src/core/agents/ads-audit-compliance.md +169 -0
  48. package/src/core/agents/ads-audit-creative.md +164 -0
  49. package/src/core/agents/ads-audit-google.md +226 -0
  50. package/src/core/agents/ads-audit-meta.md +183 -0
  51. package/src/core/agents/ads-audit-tracking.md +197 -0
  52. package/src/core/agents/ads-consensus.md +396 -0
  53. package/src/core/agents/ads-generate.md +145 -0
  54. package/src/core/agents/ads-performance-tracker.md +197 -0
  55. package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
  56. package/src/core/agents/api-quality-analyzer-docs.md +176 -0
  57. package/src/core/agents/api-quality-analyzer-errors.md +183 -0
  58. package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
  59. package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
  60. package/src/core/agents/api-quality-consensus.md +214 -0
  61. package/src/core/agents/arch-analyzer-circular.md +148 -0
  62. package/src/core/agents/arch-analyzer-complexity.md +171 -0
  63. package/src/core/agents/arch-analyzer-coupling.md +146 -0
  64. package/src/core/agents/arch-analyzer-layering.md +151 -0
  65. package/src/core/agents/arch-analyzer-patterns.md +162 -0
  66. package/src/core/agents/arch-consensus.md +227 -0
  67. package/src/core/agents/brainstorm-analyzer-features.md +169 -0
  68. package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
  69. package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
  70. package/src/core/agents/brainstorm-analyzer-market.md +147 -0
  71. package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
  72. package/src/core/agents/brainstorm-consensus.md +237 -0
  73. package/src/core/agents/completeness-consensus.md +5 -5
  74. package/src/core/agents/perf-consensus.md +2 -2
  75. package/src/core/agents/security-consensus.md +2 -2
  76. package/src/core/agents/seo-analyzer-content.md +167 -0
  77. package/src/core/agents/seo-analyzer-images.md +187 -0
  78. package/src/core/agents/seo-analyzer-performance.md +206 -0
  79. package/src/core/agents/seo-analyzer-schema.md +176 -0
  80. package/src/core/agents/seo-analyzer-sitemap.md +172 -0
  81. package/src/core/agents/seo-analyzer-technical.md +144 -0
  82. package/src/core/agents/seo-consensus.md +289 -0
  83. package/src/core/agents/test-consensus.md +2 -2
  84. package/src/core/commands/adr.md +1 -0
  85. package/src/core/commands/ads/audit.md +375 -0
  86. package/src/core/commands/ads/budget.md +97 -0
  87. package/src/core/commands/ads/competitor.md +112 -0
  88. package/src/core/commands/ads/creative.md +85 -0
  89. package/src/core/commands/ads/generate.md +238 -0
  90. package/src/core/commands/ads/google.md +112 -0
  91. package/src/core/commands/ads/health.md +327 -0
  92. package/src/core/commands/ads/landing.md +119 -0
  93. package/src/core/commands/ads/linkedin.md +112 -0
  94. package/src/core/commands/ads/meta.md +91 -0
  95. package/src/core/commands/ads/microsoft.md +115 -0
  96. package/src/core/commands/ads/plan.md +321 -0
  97. package/src/core/commands/ads/test-plan.md +317 -0
  98. package/src/core/commands/ads/tiktok.md +129 -0
  99. package/src/core/commands/ads/track.md +288 -0
  100. package/src/core/commands/ads/youtube.md +124 -0
  101. package/src/core/commands/ads.md +140 -0
  102. package/src/core/commands/assign.md +1 -0
  103. package/src/core/commands/audit.md +43 -6
  104. package/src/core/commands/babysit.md +315 -1266
  105. package/src/core/commands/baseline.md +1 -0
  106. package/src/core/commands/blockers.md +1 -0
  107. package/src/core/commands/board.md +1 -0
  108. package/src/core/commands/changelog.md +1 -0
  109. package/src/core/commands/choose.md +1 -0
  110. package/src/core/commands/ci.md +1 -0
  111. package/src/core/commands/code/accessibility.md +347 -0
  112. package/src/core/commands/code/api.md +297 -0
  113. package/src/core/commands/code/architecture.md +297 -0
  114. package/src/core/commands/{audit → code}/completeness.md +72 -25
  115. package/src/core/commands/{audit → code}/legal.md +63 -16
  116. package/src/core/commands/{audit → code}/logic.md +64 -16
  117. package/src/core/commands/{audit → code}/performance.md +67 -20
  118. package/src/core/commands/{audit → code}/security.md +69 -19
  119. package/src/core/commands/{audit → code}/test.md +67 -20
  120. package/src/core/commands/configure.md +1 -0
  121. package/src/core/commands/council.md +1 -0
  122. package/src/core/commands/deploy.md +1 -0
  123. package/src/core/commands/diagnose.md +1 -0
  124. package/src/core/commands/docs.md +1 -0
  125. package/src/core/commands/epic/edit.md +213 -0
  126. package/src/core/commands/epic.md +1 -0
  127. package/src/core/commands/export.md +238 -0
  128. package/src/core/commands/help.md +16 -1
  129. package/src/core/commands/{discovery → ideate}/brief.md +12 -12
  130. package/src/core/commands/{discovery/new.md → ideate/discover.md} +20 -16
  131. package/src/core/commands/ideate/features.md +496 -0
  132. package/src/core/commands/ideate/new.md +158 -124
  133. package/src/core/commands/impact.md +1 -0
  134. package/src/core/commands/learn/explain.md +118 -0
  135. package/src/core/commands/learn/glossary.md +135 -0
  136. package/src/core/commands/learn/patterns.md +138 -0
  137. package/src/core/commands/learn/tour.md +126 -0
  138. package/src/core/commands/migrate/codemods.md +151 -0
  139. package/src/core/commands/migrate/plan.md +131 -0
  140. package/src/core/commands/migrate/scan.md +114 -0
  141. package/src/core/commands/migrate/validate.md +119 -0
  142. package/src/core/commands/multi-expert.md +1 -0
  143. package/src/core/commands/pr.md +1 -0
  144. package/src/core/commands/review.md +1 -0
  145. package/src/core/commands/seo/audit.md +373 -0
  146. package/src/core/commands/seo/competitor.md +174 -0
  147. package/src/core/commands/seo/content.md +107 -0
  148. package/src/core/commands/seo/geo.md +229 -0
  149. package/src/core/commands/seo/hreflang.md +140 -0
  150. package/src/core/commands/seo/images.md +96 -0
  151. package/src/core/commands/seo/page.md +198 -0
  152. package/src/core/commands/seo/plan.md +163 -0
  153. package/src/core/commands/seo/programmatic.md +131 -0
  154. package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
  155. package/src/core/commands/seo/references/eeat-framework.md +110 -0
  156. package/src/core/commands/seo/references/quality-gates.md +91 -0
  157. package/src/core/commands/seo/references/schema-types.md +102 -0
  158. package/src/core/commands/seo/schema.md +183 -0
  159. package/src/core/commands/seo/sitemap.md +97 -0
  160. package/src/core/commands/seo/technical.md +100 -0
  161. package/src/core/commands/seo.md +107 -0
  162. package/src/core/commands/skill/list.md +68 -212
  163. package/src/core/commands/skill/recommend.md +216 -0
  164. package/src/core/commands/sprint.md +1 -0
  165. package/src/core/commands/status/undo.md +191 -0
  166. package/src/core/commands/status.md +1 -0
  167. package/src/core/commands/story/edit.md +204 -0
  168. package/src/core/commands/story/view.md +29 -7
  169. package/src/core/commands/story-validate.md +1 -0
  170. package/src/core/commands/story.md +1 -0
  171. package/src/core/commands/tdd-next.md +238 -0
  172. package/src/core/commands/tdd.md +211 -0
  173. package/src/core/commands/team/start.md +10 -6
  174. package/src/core/commands/tests.md +1 -0
  175. package/src/core/commands/verify.md +27 -1
  176. package/src/core/commands/workflow.md +2 -0
  177. package/src/core/experts/_core-expertise.yaml +105 -0
  178. package/src/core/experts/analytics/expertise.yaml +5 -99
  179. package/src/core/experts/codebase-query/expertise.yaml +3 -72
  180. package/src/core/experts/compliance/expertise.yaml +6 -72
  181. package/src/core/experts/database/expertise.yaml +9 -52
  182. package/src/core/experts/documentation/expertise.yaml +7 -140
  183. package/src/core/experts/integrations/expertise.yaml +7 -127
  184. package/src/core/experts/mentor/expertise.yaml +8 -35
  185. package/src/core/experts/monitoring/expertise.yaml +7 -49
  186. package/src/core/experts/performance/expertise.yaml +1 -26
  187. package/src/core/experts/security/expertise.yaml +9 -34
  188. package/src/core/experts/ui/expertise.yaml +6 -36
  189. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
  190. package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
  191. package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
  192. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
  193. package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
  194. package/src/core/teams/backend.json +41 -0
  195. package/src/core/teams/frontend.json +41 -0
  196. package/src/core/teams/qa.json +41 -0
  197. package/src/core/teams/solo.json +35 -0
  198. package/src/core/templates/agileflow-metadata.json +20 -1
  199. package/tools/cli/commands/setup.js +85 -3
  200. package/tools/cli/commands/update.js +42 -0
  201. package/tools/cli/installers/ide/_base-ide.js +42 -5
  202. package/tools/cli/installers/ide/claude-code.js +71 -3
  203. package/tools/cli/lib/content-injector.js +160 -12
  204. package/tools/cli/lib/docs-setup.js +1 -1
  205. package/src/core/commands/skill/create.md +0 -698
  206. package/src/core/commands/skill/delete.md +0 -316
  207. package/src/core/commands/skill/edit.md +0 -359
  208. package/src/core/commands/skill/test.md +0 -394
  209. package/src/core/commands/skill/upgrade.md +0 -552
  210. package/src/core/templates/skill-template.md +0 -117
@@ -0,0 +1,327 @@
1
+ ---
2
+ description: Unified marketing health scorecard — runs ads, SEO, landing page, and tracking audits in parallel to produce a combined score with cross-domain insights
3
+ argument-hint: "<account-data-and-url> [SCOPE=all]"
4
+ compact_context:
5
+ priority: high
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:ads:health - Unified marketing health scorecard"
8
+ - "CRITICAL: Deploy ads audit + SEO audit + landing page analysis IN PARALLEL"
9
+ - "CRITICAL: Combine scores into unified Marketing Health Score with domain weights"
10
+ - "Domain weights: Ads 40%, SEO 25%, Landing Pages 20%, Tracking 15%"
11
+ - "Cross-domain insights: tracking gaps affect ads + SEO, landing page quality affects ad ROAS"
12
+ state_fields:
13
+ - ads_score
14
+ - seo_score
15
+ - landing_score
16
+ - tracking_score
17
+ - unified_score
18
+ ---
19
+
20
+ # /agileflow:ads:health
21
+
22
+ Unified marketing health scorecard that orchestrates ads, SEO, landing page, and tracking audits in parallel, then synthesizes into a single Marketing Health Score with cross-domain insights.
23
+
24
+ ---
25
+
26
+ ## Quick Reference
27
+
28
+ ```
29
+ /agileflow:ads:health <account-data> <landing-page-url> # Full health check
30
+ /agileflow:ads:health <account-data> SCOPE=ads,seo # Ads + SEO only
31
+ /agileflow:ads:health <account-data> SCOPE=ads,landing # Ads + landing pages only
32
+ ```
33
+
34
+ ---
35
+
36
+ ## How It Works
37
+
38
+ ```
39
+ +-------------------------------------------------------------------+
40
+ | /agileflow:ads:health |
41
+ | |
42
+ | 1. Parse inputs (ad data + URLs) |
43
+ | 2. Deploy domain audits IN PARALLEL |
44
+ | 3. Collect all domain scores |
45
+ | 4. Cross-reference findings across domains |
46
+ | 5. Calculate unified Marketing Health Score |
47
+ | 6. Generate shareable scorecard |
48
+ +-------------------------------------------------------------------+
49
+
50
+ +-----------+ +----------+ +-----------+ +----------+
51
+ | Ads | | SEO | | Landing | | Tracking |
52
+ | Audit | | Audit | | Page | | Audit |
53
+ | (6 agents)| |(6 agents)| | Analysis | | (shared) |
54
+ +-----+-----+ +----+-----+ +-----+-----+ +----+-----+
55
+ | | | |
56
+ +---------------+---------------+---------------+
57
+ |
58
+ +-----------+-----------+
59
+ | Health Score |
60
+ | Synthesis & |
61
+ | Cross-Domain |
62
+ | Insights |
63
+ +-----------------------+
64
+ ```
65
+
66
+ ---
67
+
68
+ ## Arguments
69
+
70
+ | Argument | Values | Default | Description |
71
+ |----------|--------|---------|-------------|
72
+ | account-data | Text, file, or description | Required for ads | Ad account data for ads audit |
73
+ | URL | Landing page URL(s) | Optional | URLs for SEO + landing page analysis |
74
+ | SCOPE | all, ads, seo, landing, tracking | all | Which domains to include |
75
+
76
+ ---
77
+
78
+ ## Step-by-Step Process
79
+
80
+ ### STEP 1: Parse Inputs
81
+
82
+ Accept a combination of:
83
+ - **Ad account data** (pasted, file, or described) — triggers ads audit
84
+ - **URL(s)** — triggers SEO audit + landing page analysis
85
+ - **Both** — triggers full health check
86
+
87
+ If insufficient data provided:
88
+
89
+ ```xml
90
+ <invoke name="AskUserQuestion">
91
+ <parameter name="questions">[
92
+ {
93
+ "question": "What data do you have for the health check? More data = more comprehensive score.",
94
+ "header": "Data Sources",
95
+ "multiSelect": true,
96
+ "options": [
97
+ {"label": "Ad account data (Recommended)", "description": "Paste from Google Ads, Meta Ads Manager — enables ads audit (40% of score)"},
98
+ {"label": "Website/landing page URL", "description": "Your main URL for SEO + landing page analysis (45% of score)"},
99
+ {"label": "Tracking setup description", "description": "Describe your GTM, pixels, conversion events (15% of score)"}
100
+ ]
101
+ }
102
+ ]</parameter>
103
+ </invoke>
104
+ ```
105
+
106
+ ### STEP 2: Deploy Domain Audits in Parallel
107
+
108
+ **CRITICAL**: Deploy ALL applicable audits in a SINGLE message with multiple Task calls using `run_in_background: true`.
109
+
110
+ #### Ads Audit (if ad data provided)
111
+
112
+ ```xml
113
+ <invoke name="Task">
114
+ <parameter name="description">Ads audit for health scorecard</parameter>
115
+ <parameter name="prompt">Run a complete ads audit on this account data. Apply all checks from all 6 analyzers (Google, Meta, Budget, Creative, Tracking, Compliance). Calculate the Ads Health Score.
116
+
117
+ ACCOUNT DATA:
118
+ {account_data}
119
+
120
+ OUTPUT: Your Ads Health Score X/100 with category breakdown and top 5 findings by severity.</parameter>
121
+ <parameter name="subagent_type">ads-consensus</parameter>
122
+ <parameter name="run_in_background">true</parameter>
123
+ </invoke>
124
+ ```
125
+
126
+ #### SEO Audit (if URL provided)
127
+
128
+ ```xml
129
+ <invoke name="Task">
130
+ <parameter name="description">SEO audit for health scorecard</parameter>
131
+ <parameter name="prompt">Run a complete SEO audit on this URL. Apply all checks from all 6 analyzers (Technical, Content, Schema, Performance, Images, Sitemap). Calculate the SEO Health Score.
132
+
133
+ URL: {url}
134
+
135
+ OUTPUT: Your SEO Health Score X/100 with category breakdown and top 5 findings by severity.</parameter>
136
+ <parameter name="subagent_type">seo-consensus</parameter>
137
+ <parameter name="run_in_background">true</parameter>
138
+ </invoke>
139
+ ```
140
+
141
+ #### Landing Page Analysis (if URL provided)
142
+
143
+ ```xml
144
+ <invoke name="Task">
145
+ <parameter name="description">Landing page analysis for health scorecard</parameter>
146
+ <parameter name="prompt">Analyze this landing page for conversion optimization. Score across these dimensions:
147
+
148
+ URL: {url}
149
+
150
+ ## Landing Page Scoring (100 points total)
151
+
152
+ ### Above-the-Fold (30 points)
153
+ - Clear headline matching ad intent (10)
154
+ - Visible CTA above fold (10)
155
+ - Social proof visible without scrolling (5)
156
+ - Load time under 3 seconds (5)
157
+
158
+ ### Message Match (25 points)
159
+ - Headline matches ad copy themes (10)
160
+ - Value proposition clarity (10)
161
+ - Single clear conversion goal (5)
162
+
163
+ ### Trust & Proof (20 points)
164
+ - Customer testimonials/logos (8)
165
+ - Security badges/certifications (4)
166
+ - Clear contact information (4)
167
+ - Privacy policy linked (4)
168
+
169
+ ### Form/CTA Optimization (15 points)
170
+ - Minimal form fields for stage (5)
171
+ - CTA button contrast and copy (5)
172
+ - Multiple CTAs on long pages (5)
173
+
174
+ ### Mobile Experience (10 points)
175
+ - Responsive layout (4)
176
+ - Touch-friendly buttons (3)
177
+ - Fast mobile load (3)
178
+
179
+ OUTPUT: Landing Page Score X/100 with breakdown and top 5 recommendations.</parameter>
180
+ <parameter name="subagent_type">general-purpose</parameter>
181
+ <parameter name="run_in_background">true</parameter>
182
+ </invoke>
183
+ ```
184
+
185
+ #### Tracking Audit (always runs if any data provided)
186
+
187
+ The tracking score is extracted from the ads audit (if run) or assessed independently from the URL/description.
188
+
189
+ ### STEP 3: Collect Results
190
+
191
+ Wait for all background tasks to complete using TaskOutput with `block: true`.
192
+
193
+ ### STEP 4: Cross-Domain Insights
194
+
195
+ After collecting all scores, identify cross-domain correlations:
196
+
197
+ | Pattern | Domains | Insight |
198
+ |---------|---------|---------|
199
+ | Tracking broken + low ads ROAS | Tracking + Ads | "Your ROAS numbers are unreliable — fix tracking first" |
200
+ | Slow landing page + high CPC | Landing + Ads | "Slow pages increase bounce rate, raising your CPC" |
201
+ | Missing schema + low organic | SEO + Landing | "No structured data means fewer rich snippets in SERPs" |
202
+ | Ad copy mismatch + low CVR | Ads + Landing | "Your ads promise X but landing page delivers Y" |
203
+ | No retargeting pixel + high bounce | Tracking + Landing | "Losing bounced visitors with no way to retarget them" |
204
+
205
+ ### STEP 5: Calculate Unified Score
206
+
207
+ ```
208
+ Marketing Health Score = sum(Domain Score * Domain Weight)
209
+ ```
210
+
211
+ **Domain Weights:**
212
+ | Domain | Weight | Why |
213
+ |--------|--------|-----|
214
+ | Ads | 40% | Direct spend efficiency — highest dollar impact |
215
+ | SEO | 25% | Organic acquisition — compounding long-term value |
216
+ | Landing Pages | 20% | Conversion rate — multiplier for all traffic |
217
+ | Tracking | 15% | Data quality — foundation for all optimization |
218
+
219
+ **If a domain is excluded** (not in SCOPE or no data), redistribute its weight proportionally to included domains.
220
+
221
+ **Grade Scale:**
222
+ | Grade | Score | Meaning |
223
+ |-------|-------|---------|
224
+ | A | 90-100 | Excellent — optimized marketing funnel |
225
+ | B | 80-89 | Good — minor improvements available |
226
+ | C | 70-79 | Needs Work — significant gaps in the funnel |
227
+ | D | 60-69 | Poor — major issues across multiple domains |
228
+ | F | < 60 | Critical — fundamental problems, likely wasting significant spend |
229
+
230
+ ### STEP 6: Generate Scorecard
231
+
232
+ Output a compact, shareable scorecard:
233
+
234
+ ```markdown
235
+ # Marketing Health Scorecard
236
+
237
+ **Generated**: {YYYY-MM-DD}
238
+ **Account**: {name/description}
239
+ **Scope**: {domains audited}
240
+
241
+ ---
242
+
243
+ ## Marketing Health Score: {X}/100 ({grade})
244
+
245
+ ```
246
+ Ads: ████████████████████░░░░░░ 78/100 (40%)
247
+ SEO: ██████████████░░░░░░░░░░░░ 58/100 (25%)
248
+ Landing: ████████████████████████░░ 92/100 (20%)
249
+ Tracking: ██████░░░░░░░░░░░░░░░░░░░░ 25/100 (15%)
250
+ ──────────────────────────
251
+ Overall: ██████████████████░░░░░░░░ 71/100 (C)
252
+ ```
253
+
254
+ | Domain | Score | Grade | Top Issue |
255
+ |--------|-------|-------|-----------|
256
+ | **Ads** | {X}/100 | {grade} | {top finding} |
257
+ | **SEO** | {X}/100 | {grade} | {top finding} |
258
+ | **Landing Pages** | {X}/100 | {grade} | {top finding} |
259
+ | **Tracking** | {X}/100 | {grade} | {top finding} |
260
+
261
+ ---
262
+
263
+ ## Cross-Domain Insights
264
+
265
+ 1. **{insight title}** ({domains affected})
266
+ {description and impact}
267
+
268
+ 2. **{insight title}** ({domains affected})
269
+ {description and impact}
270
+
271
+ ---
272
+
273
+ ## Priority Actions (by estimated $ impact)
274
+
275
+ | # | Action | Domain | Impact | Effort |
276
+ |---|--------|--------|--------|--------|
277
+ | 1 | {action} | {domain} | {$$} | {Low/Med/High} |
278
+ | 2 | {action} | {domain} | {$$} | {Low/Med/High} |
279
+ | 3 | {action} | {domain} | {$$} | {Low/Med/High} |
280
+
281
+ ---
282
+
283
+ ## Domain Deep-Dives
284
+
285
+ Run individual audits for detailed findings:
286
+ - `/agileflow:ads:audit` — Full 190-check ads analysis
287
+ - `/agileflow:seo:audit` — Full 6-analyzer SEO audit
288
+ - `/agileflow:ads:landing` — Detailed landing page optimization
289
+ ```
290
+
291
+ Save scorecard to `docs/08-project/health-scorecards/health-scorecard-{YYYYMMDD}.md`.
292
+
293
+ ### STEP 7: Present Results
294
+
295
+ ```xml
296
+ <invoke name="AskUserQuestion">
297
+ <parameter name="questions">[{
298
+ "question": "Marketing Health Score: {X}/100 ({grade}). Lowest domain: {domain} ({score}/100). {N} cross-domain insights found.",
299
+ "header": "Next steps",
300
+ "multiSelect": false,
301
+ "options": [
302
+ {"label": "Fix {lowest_domain} issues first (Recommended)", "description": "{top_issue} — estimated ${impact}/mo impact"},
303
+ {"label": "Deep-dive ads audit", "description": "Run full /agileflow:ads:audit for 190-check analysis"},
304
+ {"label": "Deep-dive SEO audit", "description": "Run full /agileflow:seo:audit for comprehensive SEO analysis"},
305
+ {"label": "Generate fix artifacts", "description": "Auto-generate corrected ad copy, schema markup, and meta tags"}
306
+ ]
307
+ }]</parameter>
308
+ </invoke>
309
+ ```
310
+
311
+ ---
312
+
313
+ <!-- COMPACT_SUMMARY_START -->
314
+ ## Compact Summary
315
+
316
+ **Command**: `/agileflow:ads:health` - Unified marketing health scorecard
317
+
318
+ **What It Does**: Deploy ads + SEO + landing page + tracking audits in parallel -> cross-domain insights -> Marketing Health Score 0-100
319
+
320
+ **Domain Weights**: Ads 40%, SEO 25%, Landing Pages 20%, Tracking 15%
321
+
322
+ **Output**: Shareable scorecard with bar chart, cross-domain insights, and priority actions
323
+
324
+ **Usage**: `/agileflow:ads:health <account-data> <url> [SCOPE=all]`
325
+
326
+ **File**: `docs/08-project/health-scorecards/health-scorecard-{YYYYMMDD}.md`
327
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,119 @@
1
+ ---
2
+ description: Landing page optimization audit for ad campaigns - Core Web Vitals, CTA effectiveness, trust signals, mobile experience, and message match
3
+ argument-hint: "<URL>"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:ads:landing - Landing page optimization"
8
+ - "Use WebFetch to analyze the actual landing page"
9
+ - "Check CWV, CTA, trust signals, mobile, message match"
10
+ state_fields:
11
+ - target_url
12
+ - landing_score
13
+ ---
14
+
15
+ # /agileflow:ads:landing
16
+
17
+ Audit a landing page for paid advertising effectiveness. Analyzes the page for conversion rate optimization factors that directly impact ad campaign performance.
18
+
19
+ ---
20
+
21
+ ## Quick Reference
22
+
23
+ ```
24
+ /agileflow:ads:landing https://example.com/offer # Audit landing page
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Process
30
+
31
+ ### STEP 1: Fetch Landing Page
32
+
33
+ Use WebFetch to retrieve the target URL. Extract:
34
+ - Page structure (H1, form, CTA buttons)
35
+ - Load performance indicators
36
+ - Trust signals (testimonials, badges, reviews)
37
+ - Mobile responsiveness indicators
38
+ - Form fields and friction points
39
+
40
+ ### STEP 2: Run 15 Checks
41
+
42
+ | # | Check | Severity | Pass Criteria |
43
+ |---|-------|----------|---------------|
44
+ | LP-1 | Page loads < 3 seconds | HIGH | LCP < 2.5s, FCP < 1.8s |
45
+ | LP-2 | Single clear CTA | HIGH | One primary CTA visible above fold |
46
+ | LP-3 | Headline matches ad copy | CRITICAL | H1 reflects the ad's promise |
47
+ | LP-4 | Mobile responsive | HIGH | Viewport meta + responsive design |
48
+ | LP-5 | Form friction | HIGH | < 5 form fields for lead gen |
49
+ | LP-6 | Trust signals present | MEDIUM | Testimonials, reviews, badges, logos |
50
+ | LP-7 | No navigation distractions | MEDIUM | Minimal or no top navigation |
51
+ | LP-8 | Social proof | MEDIUM | Customer count, ratings, case studies |
52
+ | LP-9 | Urgency element | LOW | Deadline, limited availability (if genuine) |
53
+ | LP-10 | Phone number visible | MEDIUM | Click-to-call for service businesses |
54
+ | LP-11 | Privacy policy linked | HIGH | Required for ad platform compliance |
55
+ | LP-12 | SSL certificate | CRITICAL | HTTPS required |
56
+ | LP-13 | No broken images/links | HIGH | All resources load correctly |
57
+ | LP-14 | Thank you page/confirmation | MEDIUM | Post-conversion confirmation page |
58
+ | LP-15 | Tracking pixels present | CRITICAL | GTM/Pixel/tag detected on page |
59
+
60
+ ### STEP 3: Score and Report
61
+
62
+ ```markdown
63
+ ## Landing Page Audit: {URL}
64
+
65
+ **Landing Page Score**: {X}/100
66
+
67
+ | Check | Status | Severity | Notes |
68
+ |-------|--------|----------|-------|
69
+ | LP-1 Page speed | PASS/FAIL | HIGH | {LCP time} |
70
+ | ... | ... | ... | ... |
71
+
72
+ ### Critical Issues
73
+ {List any CRITICAL failures}
74
+
75
+ ### Quick Wins
76
+ {Easy fixes that improve conversion rate}
77
+
78
+ ### Message Match Analysis
79
+ - **Ad headline**: {if provided}
80
+ - **Landing page H1**: {extracted}
81
+ - **Match quality**: {Strong/Weak/Mismatch}
82
+
83
+ ### Conversion Rate Optimization Suggestions
84
+ 1. {Specific suggestion with expected impact}
85
+ 2. {Suggestion}
86
+ 3. {Suggestion}
87
+ ```
88
+
89
+ ### STEP 4: Offer Next Steps
90
+
91
+ ```xml
92
+ <invoke name="AskUserQuestion">
93
+ <parameter name="questions">[{
94
+ "question": "Landing page score: {X}/100. {N} issues found. What would you like to do?",
95
+ "header": "Next steps",
96
+ "multiSelect": false,
97
+ "options": [
98
+ {"label": "Fix critical issues (Recommended)", "description": "{top issue}"},
99
+ {"label": "Run full ads audit", "description": "Check ad account + landing page together"},
100
+ {"label": "Test another landing page", "description": "Compare multiple landing pages"},
101
+ {"label": "Optimize for specific platform", "description": "Platform-specific landing page requirements"}
102
+ ]
103
+ }]</parameter>
104
+ </invoke>
105
+ ```
106
+
107
+ ---
108
+
109
+ <!-- COMPACT_SUMMARY_START -->
110
+ ## Compact Summary
111
+
112
+ **Command**: `/agileflow:ads:landing` - Landing page optimization for ads
113
+
114
+ **Input**: URL of landing page
115
+
116
+ **Output**: 15-check audit with CRO suggestions
117
+
118
+ **Quick Usage**: `/agileflow:ads:landing <URL>`
119
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,112 @@
1
+ ---
2
+ description: LinkedIn Ads audit with 9 checks for lead gen forms, audience targeting, budget efficiency, and CRM integration
3
+ argument-hint: "<account-data>"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:ads:linkedin - LinkedIn Ads audit"
8
+ - "Inline command - 9 checks, no separate agent needed"
9
+ - "Min budget: $50/day campaign, $25/day ad group"
10
+ state_fields:
11
+ - linkedin_score
12
+ ---
13
+
14
+ # /agileflow:ads:linkedin
15
+
16
+ Run an inline audit on a LinkedIn Ads account with 9 focused checks. LinkedIn has the highest CPCs in paid social, so efficiency is critical.
17
+
18
+ ---
19
+
20
+ ## Quick Reference
21
+
22
+ ```
23
+ /agileflow:ads:linkedin <account-data> # LinkedIn Ads audit
24
+ ```
25
+
26
+ ---
27
+
28
+ ## The 9 Checks
29
+
30
+ | # | Check | Severity | Pass Criteria |
31
+ |---|-------|----------|---------------|
32
+ | LI-1 | Insight Tag installed | CRITICAL | LinkedIn Insight Tag on all pages |
33
+ | LI-2 | Lead Gen Forms vs landing pages | HIGH | Lead Gen Forms tested (typically 2-5x better CVR) |
34
+ | LI-3 | Audience size appropriate | HIGH | 50K-500K for Sponsored Content |
35
+ | LI-4 | Company/title targeting precision | HIGH | Targeting by job title or function, not just industry |
36
+ | LI-5 | Budget meets minimum | CRITICAL | Minimum $50/day per campaign |
37
+ | LI-6 | CRM integration active | HIGH | Leads syncing to CRM within 24 hours |
38
+ | LI-7 | Content type mix | MEDIUM | Single image + carousel + video tested |
39
+ | LI-8 | Matched Audiences | MEDIUM | Website retargeting + company list + LAL active |
40
+ | LI-9 | ABM alignment | LOW | Account-Based Marketing lists for enterprise |
41
+
42
+ ---
43
+
44
+ ## Process
45
+
46
+ ### STEP 1: Apply All 9 Checks
47
+
48
+ Review the account data against each check. For LinkedIn specifically:
49
+
50
+ **Budget reality check**: LinkedIn CPCs are $5-15 for Sponsored Content. With $50/day minimum:
51
+ - Daily clicks: ~3-10
52
+ - Monthly clicks: ~100-300
53
+ - At 5% conversion rate: ~5-15 leads/month
54
+ - **Minimum viable budget for lead gen: $100/day recommended**
55
+
56
+ **Lead Gen Forms vs Landing Pages**:
57
+ - Lead Gen Forms: 10-30% conversion rate (pre-filled data)
58
+ - Landing Pages: 2-5% conversion rate
59
+ - Always test Lead Gen Forms first on LinkedIn
60
+
61
+ ### STEP 2: Score
62
+
63
+ ```
64
+ LinkedIn Score = 100 - sum(severity_deductions)
65
+ ```
66
+
67
+ Deductions: CRITICAL (-15), HIGH (-8), MEDIUM (-4), LOW (-2)
68
+
69
+ ### STEP 3: Output
70
+
71
+ ```markdown
72
+ ## LinkedIn Ads Audit
73
+
74
+ **LinkedIn Score**: {X}/100
75
+
76
+ | Check | Status | Notes |
77
+ |-------|--------|-------|
78
+ | LI-1 Insight Tag | PASS/FAIL | {details} |
79
+ | LI-2 Lead Gen Forms | PASS/FAIL | {details} |
80
+ | LI-3 Audience size | PASS/FAIL | {size estimate} |
81
+ | LI-4 Targeting precision | PASS/FAIL | {targeting method} |
82
+ | LI-5 Budget minimum | PASS/FAIL | ${daily}/day |
83
+ | LI-6 CRM integration | PASS/FAIL | {sync status} |
84
+ | LI-7 Content types | PASS/FAIL | {formats in use} |
85
+ | LI-8 Matched Audiences | PASS/FAIL | {audience types} |
86
+ | LI-9 ABM alignment | PASS/FAIL | {ABM status} |
87
+
88
+ ### Key Recommendations
89
+ 1. {Top priority fix}
90
+ 2. {Second priority}
91
+ 3. {Third priority}
92
+
93
+ ### LinkedIn-Specific Tips
94
+ - Use Lead Gen Forms for B2B lead generation (2-5x better CVR)
95
+ - Minimum audience size 50K for Sponsored Content
96
+ - Test Document Ads for thought leadership
97
+ - Message Ads have highest response rate but lowest scale
98
+ ```
99
+
100
+ ---
101
+
102
+ <!-- COMPACT_SUMMARY_START -->
103
+ ## Compact Summary
104
+
105
+ **Command**: `/agileflow:ads:linkedin` - LinkedIn Ads audit
106
+
107
+ **Checks**: 9 (inline, no separate agent)
108
+
109
+ **Key**: Min $50/day, Lead Gen Forms > Landing Pages, 50K-500K audience
110
+
111
+ **Quick Usage**: `/agileflow:ads:linkedin <account-data>`
112
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,91 @@
1
+ ---
2
+ description: Meta/Facebook Ads deep-dive audit with 46 deterministic checks across Pixel/CAPI tracking, creative strategy, account structure, and audience targeting
3
+ argument-hint: "<account-data>"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:ads:meta - Meta Ads deep-dive"
8
+ - "Delegate to ads-audit-meta agent for 46 checks"
9
+ - "Quality gates: Pixel required, domain verified, learning phase, Special Ad Categories"
10
+ state_fields:
11
+ - meta_score
12
+ ---
13
+
14
+ # /agileflow:ads:meta
15
+
16
+ Run a deep-dive audit on a Meta/Facebook Ads account using the `ads-audit-meta` agent with 46 deterministic checks across 4 categories.
17
+
18
+ ---
19
+
20
+ ## Quick Reference
21
+
22
+ ```
23
+ /agileflow:ads:meta <account-data> # Full Meta Ads audit
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Process
29
+
30
+ ### STEP 1: Validate Input
31
+
32
+ If no account data provided, ask the user to paste or describe their Meta Ads setup including:
33
+ - Pixel and CAPI setup
34
+ - Campaign objectives and structure
35
+ - Audience targeting (LAL, custom, interest)
36
+ - Creative assets and formats
37
+ - Budget and performance metrics
38
+
39
+ ### STEP 2: Deploy Meta Ads Analyzer
40
+
41
+ ```xml
42
+ <invoke name="Task">
43
+ <parameter name="description">Meta Ads deep-dive audit</parameter>
44
+ <parameter name="prompt">TASK: Run a comprehensive Meta/Facebook Ads audit.
45
+
46
+ ACCOUNT DATA:
47
+ {account_data}
48
+
49
+ Apply ALL 46 checks across 4 weighted categories:
50
+ - Pixel & CAPI Tracking (30%) - 12 checks
51
+ - Creative Strategy (25%) - 14 checks
52
+ - Account Structure (25%) - 10 checks
53
+ - Audience Targeting (20%) - 10 checks
54
+
55
+ Enforce ALL quality gates:
56
+ 1. Pixel installed and firing
57
+ 2. Domain verified
58
+ 3. Learning phase healthy (50 conversions/week)
59
+ 4. Special Ad Categories declared
60
+
61
+ OUTPUT: Full findings with Meta Ads Score X/100</parameter>
62
+ <parameter name="subagent_type">ads-audit-meta</parameter>
63
+ </invoke>
64
+ ```
65
+
66
+ ### STEP 3: Present Results
67
+
68
+ Show the Meta Ads Score and key findings, then offer next steps.
69
+
70
+ ---
71
+
72
+ ## 46 Checks Overview
73
+
74
+ | Category | Weight | Checks | Focus |
75
+ |----------|--------|--------|-------|
76
+ | Pixel & CAPI Tracking | 30% | 12 | Pixel, CAPI, EMQ, AEM, dedup, privacy |
77
+ | Creative Strategy | 25% | 14 | Diversity, video, formats, refresh, DCO |
78
+ | Account Structure | 25% | 10 | CBO, objectives, consolidation, learning phase |
79
+ | Audience Targeting | 20% | 10 | LAL, custom, overlap, retargeting, exclusions |
80
+
81
+ ---
82
+
83
+ <!-- COMPACT_SUMMARY_START -->
84
+ ## Compact Summary
85
+
86
+ **Command**: `/agileflow:ads:meta` - Meta/Facebook Ads deep-dive audit
87
+
88
+ **Agent**: `ads-audit-meta` (46 checks, 4 categories)
89
+
90
+ **Quick Usage**: `/agileflow:ads:meta <account-data>`
91
+ <!-- COMPACT_SUMMARY_END -->