agileflow 3.4.2 → 4.0.0-alpha.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 (766) hide show
  1. package/CHANGELOG.md +235 -494
  2. package/README.md +22 -114
  3. package/bin/agileflow.js +15 -0
  4. package/bin/hooks/pre-bash.js +35 -0
  5. package/bin/hooks/pre-compact.js +34 -0
  6. package/bin/hooks/pre-edit.js +32 -0
  7. package/bin/hooks/pre-write.js +32 -0
  8. package/bin/hooks/session-start.js +42 -0
  9. package/bin/hooks/stop.js +34 -0
  10. package/content/plugins/ads/plugin.yaml +14 -0
  11. package/content/plugins/audit/plugin.yaml +14 -0
  12. package/content/plugins/core/hooks/session-welcome.js +19 -0
  13. package/content/plugins/core/plugin.yaml +34 -0
  14. package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
  15. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
  16. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
  17. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
  18. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
  19. package/content/plugins/council/plugin.yaml +14 -0
  20. package/content/plugins/seo/plugin.yaml +14 -0
  21. package/package.json +29 -49
  22. package/src/cli/commands/doctor.js +159 -0
  23. package/src/cli/commands/hook.js +80 -0
  24. package/src/cli/commands/setup.js +254 -0
  25. package/src/cli/commands/status.js +47 -0
  26. package/src/cli/commands/update.js +82 -0
  27. package/src/cli/index.js +73 -0
  28. package/src/cli/wizard/ide-picker.js +57 -0
  29. package/src/cli/wizard/personalization.js +64 -0
  30. package/src/cli/wizard/plugin-picker.js +106 -0
  31. package/src/lib/hash.js +41 -0
  32. package/src/runtime/config/defaults.js +45 -0
  33. package/src/runtime/config/loader.js +118 -0
  34. package/src/runtime/config/schema.json +76 -0
  35. package/src/runtime/config/writer.js +54 -0
  36. package/src/runtime/hooks/aggregator.js +133 -0
  37. package/src/runtime/hooks/chain.js +93 -0
  38. package/src/runtime/hooks/logger.js +68 -0
  39. package/src/runtime/hooks/manifest-loader.js +228 -0
  40. package/src/runtime/hooks/orchestrator.js +322 -0
  41. package/src/runtime/ide/capabilities.js +111 -0
  42. package/src/runtime/ide/claude-code-settings.js +234 -0
  43. package/src/runtime/ide/claude-code-skills.js +202 -0
  44. package/src/runtime/installer/file-index.js +112 -0
  45. package/src/runtime/installer/install.js +306 -0
  46. package/src/runtime/installer/stash.js +61 -0
  47. package/src/runtime/installer/sync-engine.js +205 -0
  48. package/src/runtime/plugins/registry.js +132 -0
  49. package/src/runtime/plugins/resolver.js +138 -0
  50. package/src/runtime/plugins/validator.js +196 -0
  51. package/src/runtime/skills/validator.js +335 -0
  52. package/lib/README.md +0 -178
  53. package/lib/api-routes.js +0 -625
  54. package/lib/api-server.js +0 -278
  55. package/lib/cache-provider.js +0 -155
  56. package/lib/claude-cli-bridge.js +0 -215
  57. package/lib/codebase-indexer.js +0 -819
  58. package/lib/colors.generated.js +0 -117
  59. package/lib/colors.js +0 -341
  60. package/lib/consent.js +0 -232
  61. package/lib/content-sanitizer.js +0 -464
  62. package/lib/correlation.js +0 -277
  63. package/lib/dashboard-automations.js +0 -130
  64. package/lib/dashboard-git.js +0 -254
  65. package/lib/dashboard-inbox.js +0 -64
  66. package/lib/dashboard-protocol.js +0 -605
  67. package/lib/dashboard-server.js +0 -1296
  68. package/lib/dashboard-session.js +0 -136
  69. package/lib/dashboard-status.js +0 -72
  70. package/lib/dashboard-terminal.js +0 -354
  71. package/lib/dashboard-websocket.js +0 -88
  72. package/lib/drivers/claude-driver.ts +0 -312
  73. package/lib/drivers/codex-driver.ts +0 -464
  74. package/lib/drivers/driver-manager.ts +0 -159
  75. package/lib/drivers/gemini-driver.ts +0 -498
  76. package/lib/drivers/index.ts +0 -17
  77. package/lib/error-codes.js +0 -590
  78. package/lib/errors.js +0 -670
  79. package/lib/feature-flags.js +0 -171
  80. package/lib/feedback.js +0 -595
  81. package/lib/file-cache.js +0 -541
  82. package/lib/flag-detection.js +0 -344
  83. package/lib/format-error.js +0 -156
  84. package/lib/gate-runner.js +0 -282
  85. package/lib/generator-factory.js +0 -333
  86. package/lib/git-operations.js +0 -266
  87. package/lib/lazy-require.js +0 -59
  88. package/lib/lock-file.js +0 -144
  89. package/lib/logger.js +0 -106
  90. package/lib/merge-operations.js +0 -1006
  91. package/lib/path-resolver.js +0 -544
  92. package/lib/path-utils.js +0 -49
  93. package/lib/paths.js +0 -291
  94. package/lib/placeholder-registry.js +0 -822
  95. package/lib/process-executor.js +0 -214
  96. package/lib/progress.js +0 -334
  97. package/lib/protocol/driver.ts +0 -354
  98. package/lib/protocol/index.ts +0 -12
  99. package/lib/protocol/ir.ts +0 -271
  100. package/lib/registry-cache.js +0 -80
  101. package/lib/registry-di.js +0 -358
  102. package/lib/result-schema.js +0 -363
  103. package/lib/result.js +0 -210
  104. package/lib/session-display.js +0 -331
  105. package/lib/session-operations.js +0 -611
  106. package/lib/session-registry.js +0 -484
  107. package/lib/session-state-machine.js +0 -465
  108. package/lib/session-switching.js +0 -191
  109. package/lib/skill-loader.js +0 -213
  110. package/lib/smart-json-file.js +0 -682
  111. package/lib/state-machine.js +0 -286
  112. package/lib/table-formatter.js +0 -519
  113. package/lib/template-loader.js +0 -143
  114. package/lib/transient-status.js +0 -374
  115. package/lib/ui-manager.js +0 -612
  116. package/lib/validate-args.js +0 -213
  117. package/lib/validate-commands.js +0 -308
  118. package/lib/validate-names.js +0 -143
  119. package/lib/validate-paths.js +0 -434
  120. package/lib/validate.js +0 -134
  121. package/lib/worktree-operations.js +0 -201
  122. package/lib/yaml-utils.js +0 -164
  123. package/scripts/README.md +0 -267
  124. package/scripts/af +0 -34
  125. package/scripts/agent-loop.js +0 -819
  126. package/scripts/agileflow-configure.js +0 -368
  127. package/scripts/agileflow-statusline.sh +0 -857
  128. package/scripts/agileflow-welcome.js +0 -2246
  129. package/scripts/api-server-runner.js +0 -177
  130. package/scripts/archive-completed-stories.sh +0 -308
  131. package/scripts/auto-self-improve.js +0 -326
  132. package/scripts/automation-run-due.js +0 -128
  133. package/scripts/babysit-clear-restore.js +0 -154
  134. package/scripts/babysit-context-restore.js +0 -89
  135. package/scripts/backfill-ideation-status.js +0 -128
  136. package/scripts/batch-pmap-loop.js +0 -551
  137. package/scripts/check-update.js +0 -282
  138. package/scripts/ci-summary.js +0 -294
  139. package/scripts/claude-smart.sh +0 -85
  140. package/scripts/claude-tmux.sh +0 -737
  141. package/scripts/claude-watchdog.sh +0 -225
  142. package/scripts/clear-active-command.js +0 -48
  143. package/scripts/compress-status.sh +0 -116
  144. package/scripts/context-loader.js +0 -310
  145. package/scripts/damage-control/bash-tool-damage-control.js +0 -22
  146. package/scripts/damage-control/edit-tool-damage-control.js +0 -19
  147. package/scripts/damage-control/patterns.yaml +0 -227
  148. package/scripts/damage-control/write-tool-damage-control.js +0 -19
  149. package/scripts/damage-control-bash.js +0 -51
  150. package/scripts/damage-control-edit.js +0 -48
  151. package/scripts/damage-control-multi-agent.js +0 -231
  152. package/scripts/damage-control-write.js +0 -48
  153. package/scripts/dashboard-serve.js +0 -336
  154. package/scripts/dependency-check.js +0 -311
  155. package/scripts/document-repl.js +0 -793
  156. package/scripts/expertise-metrics.sh +0 -264
  157. package/scripts/generate-all.sh +0 -77
  158. package/scripts/generate-colors.js +0 -314
  159. package/scripts/generators/agent-registry.js +0 -183
  160. package/scripts/generators/command-registry.js +0 -166
  161. package/scripts/generators/index.js +0 -85
  162. package/scripts/generators/inject-babysit.js +0 -191
  163. package/scripts/generators/inject-help.js +0 -125
  164. package/scripts/generators/inject-readme.js +0 -166
  165. package/scripts/generators/skill-registry.js +0 -188
  166. package/scripts/get-env.js +0 -225
  167. package/scripts/init.sh +0 -76
  168. package/scripts/lib/README-portable-tasks.md +0 -424
  169. package/scripts/lib/ac-test-matcher.js +0 -452
  170. package/scripts/lib/audit-cleanup.js +0 -250
  171. package/scripts/lib/audit-registry.js +0 -340
  172. package/scripts/lib/automation-registry.js +0 -544
  173. package/scripts/lib/automation-runner.js +0 -476
  174. package/scripts/lib/browser-qa-evidence.js +0 -409
  175. package/scripts/lib/browser-qa-status.js +0 -192
  176. package/scripts/lib/bus-utils.js +0 -473
  177. package/scripts/lib/colors.generated.sh +0 -82
  178. package/scripts/lib/colors.sh +0 -46
  179. package/scripts/lib/command-prereqs.js +0 -280
  180. package/scripts/lib/concurrency-limiter.js +0 -511
  181. package/scripts/lib/configure-detect.js +0 -596
  182. package/scripts/lib/configure-features.js +0 -1927
  183. package/scripts/lib/configure-repair.js +0 -327
  184. package/scripts/lib/configure-utils.js +0 -114
  185. package/scripts/lib/context-formatter.js +0 -1158
  186. package/scripts/lib/context-loader.js +0 -840
  187. package/scripts/lib/counter.js +0 -103
  188. package/scripts/lib/damage-control-utils.js +0 -619
  189. package/scripts/lib/feature-catalog.js +0 -332
  190. package/scripts/lib/file-lock.js +0 -392
  191. package/scripts/lib/file-tracking.js +0 -735
  192. package/scripts/lib/frontmatter-parser.js +0 -133
  193. package/scripts/lib/gate-enforcer.js +0 -295
  194. package/scripts/lib/hook-metrics.js +0 -324
  195. package/scripts/lib/ideation-index.js +0 -1205
  196. package/scripts/lib/json-utils.sh +0 -162
  197. package/scripts/lib/lifecycle-detector.js +0 -125
  198. package/scripts/lib/model-profiles.js +0 -118
  199. package/scripts/lib/portable-tasks-cli.js +0 -274
  200. package/scripts/lib/portable-tasks.js +0 -479
  201. package/scripts/lib/process-cleanup.js +0 -527
  202. package/scripts/lib/quality-gates.js +0 -761
  203. package/scripts/lib/scale-detector.js +0 -396
  204. package/scripts/lib/sessionRegistry.js +0 -678
  205. package/scripts/lib/signal-detectors.js +0 -880
  206. package/scripts/lib/skill-catalog.js +0 -557
  207. package/scripts/lib/skill-recommender.js +0 -311
  208. package/scripts/lib/state-migrator.js +0 -353
  209. package/scripts/lib/status-task-bridge.js +0 -522
  210. package/scripts/lib/status-writer.js +0 -255
  211. package/scripts/lib/story-claiming.js +0 -704
  212. package/scripts/lib/story-state-machine.js +0 -437
  213. package/scripts/lib/sync-ideation-status.js +0 -291
  214. package/scripts/lib/task-registry-cache.js +0 -490
  215. package/scripts/lib/task-registry.js +0 -1191
  216. package/scripts/lib/task-sync.js +0 -230
  217. package/scripts/lib/tdd-phase-manager.js +0 -455
  218. package/scripts/lib/team-events.js +0 -510
  219. package/scripts/lib/tmux-audit-monitor.js +0 -611
  220. package/scripts/lib/tmux-group-colors.js +0 -113
  221. package/scripts/lib/tool-registry.yaml +0 -241
  222. package/scripts/lib/tool-shed.js +0 -441
  223. package/scripts/lib/validation-registry.js +0 -177
  224. package/scripts/messaging-bridge.js +0 -561
  225. package/scripts/migrate-ideation-index.js +0 -553
  226. package/scripts/native-team-observer.js +0 -219
  227. package/scripts/obtain-context.js +0 -272
  228. package/scripts/pre-push-check.sh +0 -46
  229. package/scripts/precompact-context.sh +0 -306
  230. package/scripts/query-codebase.js +0 -543
  231. package/scripts/ralph-loop.js +0 -1278
  232. package/scripts/resume-session.sh +0 -121
  233. package/scripts/screenshot-verifier.js +0 -215
  234. package/scripts/session-boundary.js +0 -138
  235. package/scripts/session-coordinator.sh +0 -232
  236. package/scripts/session-manager.js +0 -546
  237. package/scripts/smart-detect.js +0 -449
  238. package/scripts/spawn-audit-sessions.js +0 -877
  239. package/scripts/spawn-parallel.js +0 -751
  240. package/scripts/strip-ai-attribution.js +0 -63
  241. package/scripts/task-completed-gate.js +0 -237
  242. package/scripts/team-manager.js +0 -596
  243. package/scripts/team-status-display.js +0 -200
  244. package/scripts/teammate-idle-gate.js +0 -237
  245. package/scripts/test-session-boundary.js +0 -80
  246. package/scripts/tmux-close-windows.sh +0 -180
  247. package/scripts/tmux-restore-window.sh +0 -67
  248. package/scripts/tmux-save-closed-window.sh +0 -35
  249. package/scripts/tui/App.js +0 -151
  250. package/scripts/tui/Dashboard.js +0 -277
  251. package/scripts/tui/blessed/data/watcher.js +0 -180
  252. package/scripts/tui/blessed/index.js +0 -244
  253. package/scripts/tui/blessed/panels/output.js +0 -101
  254. package/scripts/tui/blessed/panels/sessions.js +0 -150
  255. package/scripts/tui/blessed/panels/trace.js +0 -97
  256. package/scripts/tui/blessed/ui/help.js +0 -77
  257. package/scripts/tui/blessed/ui/screen.js +0 -52
  258. package/scripts/tui/blessed/ui/statusbar.js +0 -47
  259. package/scripts/tui/blessed/ui/tabbar.js +0 -99
  260. package/scripts/tui/index.js +0 -70
  261. package/scripts/tui/lib/crashRecovery.js +0 -304
  262. package/scripts/tui/lib/eventStream.js +0 -309
  263. package/scripts/tui/lib/keyboard.js +0 -261
  264. package/scripts/tui/lib/loopControl.js +0 -371
  265. package/scripts/tui/panels/OutputPanel.js +0 -240
  266. package/scripts/tui/panels/SessionPanel.js +0 -170
  267. package/scripts/tui/panels/TracePanel.js +0 -298
  268. package/scripts/tui/simple-tui.js +0 -510
  269. package/scripts/validate-expertise.sh +0 -263
  270. package/scripts/validate-tokens.sh +0 -73
  271. package/scripts/validators/README.md +0 -143
  272. package/scripts/validators/component-validator.js +0 -239
  273. package/scripts/validators/json-schema-validator.js +0 -186
  274. package/scripts/validators/markdown-validator.js +0 -152
  275. package/scripts/validators/migration-validator.js +0 -129
  276. package/scripts/validators/security-validator.js +0 -380
  277. package/scripts/validators/story-format-validator.js +0 -197
  278. package/scripts/validators/test-result-validator.js +0 -114
  279. package/scripts/validators/workflow-validator.js +0 -247
  280. package/scripts/welcome-deferred.js +0 -437
  281. package/scripts/worktree-create.sh +0 -111
  282. package/src/core/agents/a11y-analyzer-aria.md +0 -155
  283. package/src/core/agents/a11y-analyzer-forms.md +0 -162
  284. package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
  285. package/src/core/agents/a11y-analyzer-semantic.md +0 -153
  286. package/src/core/agents/a11y-analyzer-visual.md +0 -158
  287. package/src/core/agents/a11y-consensus.md +0 -248
  288. package/src/core/agents/accessibility.md +0 -515
  289. package/src/core/agents/adr-writer.md +0 -463
  290. package/src/core/agents/ads-audit-budget.md +0 -181
  291. package/src/core/agents/ads-audit-compliance.md +0 -169
  292. package/src/core/agents/ads-audit-creative.md +0 -164
  293. package/src/core/agents/ads-audit-google.md +0 -226
  294. package/src/core/agents/ads-audit-meta.md +0 -183
  295. package/src/core/agents/ads-audit-tracking.md +0 -197
  296. package/src/core/agents/ads-consensus.md +0 -396
  297. package/src/core/agents/ads-generate.md +0 -145
  298. package/src/core/agents/ads-performance-tracker.md +0 -197
  299. package/src/core/agents/analytics.md +0 -617
  300. package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
  301. package/src/core/agents/api-quality-analyzer-docs.md +0 -176
  302. package/src/core/agents/api-quality-analyzer-errors.md +0 -183
  303. package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
  304. package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
  305. package/src/core/agents/api-quality-consensus.md +0 -214
  306. package/src/core/agents/api-validator.md +0 -183
  307. package/src/core/agents/api.md +0 -665
  308. package/src/core/agents/arch-analyzer-circular.md +0 -148
  309. package/src/core/agents/arch-analyzer-complexity.md +0 -171
  310. package/src/core/agents/arch-analyzer-coupling.md +0 -146
  311. package/src/core/agents/arch-analyzer-layering.md +0 -151
  312. package/src/core/agents/arch-analyzer-patterns.md +0 -162
  313. package/src/core/agents/arch-consensus.md +0 -227
  314. package/src/core/agents/brainstorm-analyzer-features.md +0 -169
  315. package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
  316. package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
  317. package/src/core/agents/brainstorm-analyzer-market.md +0 -147
  318. package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
  319. package/src/core/agents/brainstorm-consensus.md +0 -237
  320. package/src/core/agents/browser-qa.md +0 -328
  321. package/src/core/agents/ci.md +0 -511
  322. package/src/core/agents/code-reviewer.md +0 -288
  323. package/src/core/agents/codebase-query.md +0 -266
  324. package/src/core/agents/completeness-analyzer-api.md +0 -190
  325. package/src/core/agents/completeness-analyzer-conditional.md +0 -201
  326. package/src/core/agents/completeness-analyzer-handlers.md +0 -159
  327. package/src/core/agents/completeness-analyzer-imports.md +0 -159
  328. package/src/core/agents/completeness-analyzer-routes.md +0 -182
  329. package/src/core/agents/completeness-analyzer-state.md +0 -188
  330. package/src/core/agents/completeness-analyzer-stubs.md +0 -198
  331. package/src/core/agents/completeness-consensus.md +0 -286
  332. package/src/core/agents/compliance.md +0 -509
  333. package/src/core/agents/council-advocate.md +0 -206
  334. package/src/core/agents/council-analyst.md +0 -252
  335. package/src/core/agents/council-optimist.md +0 -170
  336. package/src/core/agents/database.md +0 -601
  337. package/src/core/agents/datamigration.md +0 -699
  338. package/src/core/agents/design.md +0 -525
  339. package/src/core/agents/devops.md +0 -720
  340. package/src/core/agents/documentation.md +0 -504
  341. package/src/core/agents/epic-planner.md +0 -480
  342. package/src/core/agents/error-analyzer.md +0 -201
  343. package/src/core/agents/integrations.md +0 -603
  344. package/src/core/agents/legal-analyzer-a11y.md +0 -110
  345. package/src/core/agents/legal-analyzer-ai.md +0 -117
  346. package/src/core/agents/legal-analyzer-consumer.md +0 -108
  347. package/src/core/agents/legal-analyzer-content.md +0 -113
  348. package/src/core/agents/legal-analyzer-international.md +0 -115
  349. package/src/core/agents/legal-analyzer-licensing.md +0 -115
  350. package/src/core/agents/legal-analyzer-privacy.md +0 -108
  351. package/src/core/agents/legal-analyzer-security.md +0 -112
  352. package/src/core/agents/legal-analyzer-terms.md +0 -111
  353. package/src/core/agents/legal-consensus.md +0 -242
  354. package/src/core/agents/logic-analyzer-edge.md +0 -170
  355. package/src/core/agents/logic-analyzer-flow.md +0 -253
  356. package/src/core/agents/logic-analyzer-invariant.md +0 -206
  357. package/src/core/agents/logic-analyzer-race.md +0 -266
  358. package/src/core/agents/logic-analyzer-type.md +0 -217
  359. package/src/core/agents/logic-consensus.md +0 -253
  360. package/src/core/agents/mentor.md +0 -654
  361. package/src/core/agents/mobile.md +0 -501
  362. package/src/core/agents/monitoring.md +0 -537
  363. package/src/core/agents/multi-expert.md +0 -311
  364. package/src/core/agents/orchestrator.md +0 -749
  365. package/src/core/agents/perf-analyzer-assets.md +0 -174
  366. package/src/core/agents/perf-analyzer-bundle.md +0 -165
  367. package/src/core/agents/perf-analyzer-caching.md +0 -160
  368. package/src/core/agents/perf-analyzer-compute.md +0 -165
  369. package/src/core/agents/perf-analyzer-memory.md +0 -182
  370. package/src/core/agents/perf-analyzer-network.md +0 -157
  371. package/src/core/agents/perf-analyzer-queries.md +0 -155
  372. package/src/core/agents/perf-analyzer-rendering.md +0 -156
  373. package/src/core/agents/perf-consensus.md +0 -280
  374. package/src/core/agents/performance.md +0 -492
  375. package/src/core/agents/product.md +0 -535
  376. package/src/core/agents/qa.md +0 -765
  377. package/src/core/agents/readme-updater.md +0 -579
  378. package/src/core/agents/refactor.md +0 -558
  379. package/src/core/agents/research.md +0 -453
  380. package/src/core/agents/rlm-subcore.md +0 -207
  381. package/src/core/agents/schema-validator.md +0 -454
  382. package/src/core/agents/security-analyzer-api.md +0 -199
  383. package/src/core/agents/security-analyzer-auth.md +0 -160
  384. package/src/core/agents/security-analyzer-authz.md +0 -168
  385. package/src/core/agents/security-analyzer-deps.md +0 -147
  386. package/src/core/agents/security-analyzer-infra.md +0 -176
  387. package/src/core/agents/security-analyzer-injection.md +0 -148
  388. package/src/core/agents/security-analyzer-input.md +0 -191
  389. package/src/core/agents/security-analyzer-secrets.md +0 -175
  390. package/src/core/agents/security-consensus.md +0 -276
  391. package/src/core/agents/security.md +0 -486
  392. package/src/core/agents/seo-analyzer-content.md +0 -167
  393. package/src/core/agents/seo-analyzer-images.md +0 -187
  394. package/src/core/agents/seo-analyzer-performance.md +0 -206
  395. package/src/core/agents/seo-analyzer-schema.md +0 -176
  396. package/src/core/agents/seo-analyzer-sitemap.md +0 -172
  397. package/src/core/agents/seo-analyzer-technical.md +0 -144
  398. package/src/core/agents/seo-consensus.md +0 -289
  399. package/src/core/agents/team-coordinator.md +0 -333
  400. package/src/core/agents/team-lead.md +0 -171
  401. package/src/core/agents/test-analyzer-assertions.md +0 -181
  402. package/src/core/agents/test-analyzer-coverage.md +0 -183
  403. package/src/core/agents/test-analyzer-fragility.md +0 -185
  404. package/src/core/agents/test-analyzer-integration.md +0 -155
  405. package/src/core/agents/test-analyzer-maintenance.md +0 -173
  406. package/src/core/agents/test-analyzer-mocking.md +0 -178
  407. package/src/core/agents/test-analyzer-patterns.md +0 -189
  408. package/src/core/agents/test-analyzer-structure.md +0 -177
  409. package/src/core/agents/test-consensus.md +0 -294
  410. package/src/core/agents/testing.md +0 -527
  411. package/src/core/agents/ui-validator.md +0 -331
  412. package/src/core/agents/ui.md +0 -1227
  413. package/src/core/commands/adr/list.md +0 -191
  414. package/src/core/commands/adr/update.md +0 -258
  415. package/src/core/commands/adr/view.md +0 -274
  416. package/src/core/commands/adr.md +0 -394
  417. package/src/core/commands/ads/audit.md +0 -437
  418. package/src/core/commands/ads/budget.md +0 -97
  419. package/src/core/commands/ads/competitor.md +0 -112
  420. package/src/core/commands/ads/creative.md +0 -85
  421. package/src/core/commands/ads/generate.md +0 -238
  422. package/src/core/commands/ads/google.md +0 -112
  423. package/src/core/commands/ads/health.md +0 -327
  424. package/src/core/commands/ads/landing.md +0 -119
  425. package/src/core/commands/ads/linkedin.md +0 -112
  426. package/src/core/commands/ads/meta.md +0 -91
  427. package/src/core/commands/ads/microsoft.md +0 -115
  428. package/src/core/commands/ads/plan.md +0 -321
  429. package/src/core/commands/ads/test-plan.md +0 -317
  430. package/src/core/commands/ads/tiktok.md +0 -129
  431. package/src/core/commands/ads/track.md +0 -288
  432. package/src/core/commands/ads/youtube.md +0 -124
  433. package/src/core/commands/ads.md +0 -140
  434. package/src/core/commands/agent.md +0 -256
  435. package/src/core/commands/api.md +0 -267
  436. package/src/core/commands/assign.md +0 -369
  437. package/src/core/commands/audit.md +0 -531
  438. package/src/core/commands/auto.md +0 -556
  439. package/src/core/commands/automate.md +0 -415
  440. package/src/core/commands/babysit.md +0 -643
  441. package/src/core/commands/baseline.md +0 -743
  442. package/src/core/commands/batch.md +0 -551
  443. package/src/core/commands/blockers.md +0 -602
  444. package/src/core/commands/board.md +0 -509
  445. package/src/core/commands/browser-qa.md +0 -240
  446. package/src/core/commands/changelog.md +0 -582
  447. package/src/core/commands/choose.md +0 -430
  448. package/src/core/commands/ci.md +0 -330
  449. package/src/core/commands/code/accessibility.md +0 -347
  450. package/src/core/commands/code/api.md +0 -297
  451. package/src/core/commands/code/architecture.md +0 -297
  452. package/src/core/commands/code/completeness.md +0 -503
  453. package/src/core/commands/code/legal.md +0 -493
  454. package/src/core/commands/code/logic.md +0 -416
  455. package/src/core/commands/code/performance.md +0 -490
  456. package/src/core/commands/code/security.md +0 -493
  457. package/src/core/commands/code/test.md +0 -489
  458. package/src/core/commands/compress.md +0 -408
  459. package/src/core/commands/configure.md +0 -1159
  460. package/src/core/commands/context/export.md +0 -296
  461. package/src/core/commands/context/full.md +0 -353
  462. package/src/core/commands/context/note.md +0 -380
  463. package/src/core/commands/council.md +0 -592
  464. package/src/core/commands/debt.md +0 -491
  465. package/src/core/commands/deploy.md +0 -864
  466. package/src/core/commands/deps.md +0 -728
  467. package/src/core/commands/diagnose.md +0 -404
  468. package/src/core/commands/docs.md +0 -469
  469. package/src/core/commands/epic/edit.md +0 -213
  470. package/src/core/commands/epic/list.md +0 -190
  471. package/src/core/commands/epic/view.md +0 -267
  472. package/src/core/commands/epic.md +0 -477
  473. package/src/core/commands/export.md +0 -238
  474. package/src/core/commands/feedback.md +0 -603
  475. package/src/core/commands/handoff.md +0 -386
  476. package/src/core/commands/help.md +0 -194
  477. package/src/core/commands/ideate/brief.md +0 -363
  478. package/src/core/commands/ideate/discover.md +0 -399
  479. package/src/core/commands/ideate/features.md +0 -496
  480. package/src/core/commands/ideate/history.md +0 -403
  481. package/src/core/commands/ideate/new.md +0 -899
  482. package/src/core/commands/impact.md +0 -407
  483. package/src/core/commands/install.md +0 -529
  484. package/src/core/commands/learn/explain.md +0 -118
  485. package/src/core/commands/learn/glossary.md +0 -135
  486. package/src/core/commands/learn/patterns.md +0 -138
  487. package/src/core/commands/learn/tour.md +0 -126
  488. package/src/core/commands/maintain.md +0 -558
  489. package/src/core/commands/metrics.md +0 -844
  490. package/src/core/commands/migrate/codemods.md +0 -151
  491. package/src/core/commands/migrate/plan.md +0 -131
  492. package/src/core/commands/migrate/scan.md +0 -114
  493. package/src/core/commands/migrate/validate.md +0 -119
  494. package/src/core/commands/multi-expert.md +0 -447
  495. package/src/core/commands/packages.md +0 -535
  496. package/src/core/commands/pr.md +0 -337
  497. package/src/core/commands/readme-sync.md +0 -329
  498. package/src/core/commands/research/analyze.md +0 -798
  499. package/src/core/commands/research/ask.md +0 -864
  500. package/src/core/commands/research/import.md +0 -1025
  501. package/src/core/commands/research/list.md +0 -273
  502. package/src/core/commands/research/synthesize.md +0 -928
  503. package/src/core/commands/research/view.md +0 -323
  504. package/src/core/commands/retro.md +0 -795
  505. package/src/core/commands/review.md +0 -694
  506. package/src/core/commands/rlm.md +0 -446
  507. package/src/core/commands/roadmap/analyze.md +0 -400
  508. package/src/core/commands/rpi.md +0 -633
  509. package/src/core/commands/seo/audit.md +0 -428
  510. package/src/core/commands/seo/competitor.md +0 -174
  511. package/src/core/commands/seo/content.md +0 -107
  512. package/src/core/commands/seo/geo.md +0 -229
  513. package/src/core/commands/seo/hreflang.md +0 -140
  514. package/src/core/commands/seo/images.md +0 -96
  515. package/src/core/commands/seo/page.md +0 -198
  516. package/src/core/commands/seo/plan.md +0 -163
  517. package/src/core/commands/seo/programmatic.md +0 -131
  518. package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
  519. package/src/core/commands/seo/references/eeat-framework.md +0 -110
  520. package/src/core/commands/seo/references/quality-gates.md +0 -91
  521. package/src/core/commands/seo/references/schema-types.md +0 -102
  522. package/src/core/commands/seo/schema.md +0 -183
  523. package/src/core/commands/seo/sitemap.md +0 -97
  524. package/src/core/commands/seo/technical.md +0 -100
  525. package/src/core/commands/seo.md +0 -107
  526. package/src/core/commands/serve.md +0 -127
  527. package/src/core/commands/session/cleanup.md +0 -452
  528. package/src/core/commands/session/end.md +0 -865
  529. package/src/core/commands/session/history.md +0 -293
  530. package/src/core/commands/session/init.md +0 -210
  531. package/src/core/commands/session/new.md +0 -827
  532. package/src/core/commands/session/resume.md +0 -291
  533. package/src/core/commands/session/spawn.md +0 -205
  534. package/src/core/commands/session/status.md +0 -274
  535. package/src/core/commands/skill/list.md +0 -139
  536. package/src/core/commands/skill/recommend.md +0 -216
  537. package/src/core/commands/sprint.md +0 -714
  538. package/src/core/commands/status/undo.md +0 -191
  539. package/src/core/commands/status.md +0 -423
  540. package/src/core/commands/story/edit.md +0 -204
  541. package/src/core/commands/story/list.md +0 -199
  542. package/src/core/commands/story/view.md +0 -312
  543. package/src/core/commands/story-validate.md +0 -491
  544. package/src/core/commands/story.md +0 -465
  545. package/src/core/commands/tdd-next.md +0 -238
  546. package/src/core/commands/tdd.md +0 -211
  547. package/src/core/commands/team/guide.md +0 -688
  548. package/src/core/commands/team/list.md +0 -59
  549. package/src/core/commands/team/start.md +0 -130
  550. package/src/core/commands/team/status.md +0 -66
  551. package/src/core/commands/team/stop.md +0 -78
  552. package/src/core/commands/template.md +0 -644
  553. package/src/core/commands/tests.md +0 -731
  554. package/src/core/commands/update.md +0 -591
  555. package/src/core/commands/validate-expertise.md +0 -305
  556. package/src/core/commands/velocity.md +0 -630
  557. package/src/core/commands/verify.md +0 -534
  558. package/src/core/commands/whats-new.md +0 -201
  559. package/src/core/commands/workflow.md +0 -449
  560. package/src/core/council/sessions/.gitkeep +0 -0
  561. package/src/core/council/shared_reasoning.template.md +0 -106
  562. package/src/core/experts/README.md +0 -236
  563. package/src/core/experts/_core-expertise.yaml +0 -105
  564. package/src/core/experts/accessibility/expertise.yaml +0 -115
  565. package/src/core/experts/accessibility/question.md +0 -41
  566. package/src/core/experts/accessibility/self-improve.md +0 -45
  567. package/src/core/experts/accessibility/workflow.md +0 -59
  568. package/src/core/experts/adr-writer/expertise.yaml +0 -138
  569. package/src/core/experts/adr-writer/question.md +0 -56
  570. package/src/core/experts/adr-writer/self-improve.md +0 -106
  571. package/src/core/experts/adr-writer/workflow.md +0 -184
  572. package/src/core/experts/analytics/expertise.yaml +0 -119
  573. package/src/core/experts/analytics/question.md +0 -74
  574. package/src/core/experts/analytics/self-improve.md +0 -163
  575. package/src/core/experts/analytics/workflow.md +0 -272
  576. package/src/core/experts/api/expertise.yaml +0 -124
  577. package/src/core/experts/api/question.md +0 -74
  578. package/src/core/experts/api/self-improve.md +0 -122
  579. package/src/core/experts/api/workflow.md +0 -248
  580. package/src/core/experts/ci/expertise.yaml +0 -106
  581. package/src/core/experts/ci/question.md +0 -69
  582. package/src/core/experts/ci/self-improve.md +0 -100
  583. package/src/core/experts/ci/workflow.md +0 -145
  584. package/src/core/experts/codebase-query/expertise.yaml +0 -121
  585. package/src/core/experts/codebase-query/question.md +0 -73
  586. package/src/core/experts/codebase-query/self-improve.md +0 -105
  587. package/src/core/experts/compliance/expertise.yaml +0 -101
  588. package/src/core/experts/compliance/question.md +0 -56
  589. package/src/core/experts/compliance/self-improve.md +0 -106
  590. package/src/core/experts/compliance/workflow.md +0 -184
  591. package/src/core/experts/database/expertise.yaml +0 -109
  592. package/src/core/experts/database/question.md +0 -74
  593. package/src/core/experts/database/self-improve.md +0 -121
  594. package/src/core/experts/database/workflow.md +0 -234
  595. package/src/core/experts/datamigration/expertise.yaml +0 -141
  596. package/src/core/experts/datamigration/question.md +0 -56
  597. package/src/core/experts/datamigration/self-improve.md +0 -106
  598. package/src/core/experts/datamigration/workflow.md +0 -184
  599. package/src/core/experts/design/expertise.yaml +0 -116
  600. package/src/core/experts/design/question.md +0 -56
  601. package/src/core/experts/design/self-improve.md +0 -106
  602. package/src/core/experts/design/workflow.md +0 -184
  603. package/src/core/experts/devops/expertise.yaml +0 -116
  604. package/src/core/experts/devops/question.md +0 -68
  605. package/src/core/experts/devops/self-improve.md +0 -102
  606. package/src/core/experts/devops/workflow.md +0 -142
  607. package/src/core/experts/documentation/expertise.yaml +0 -126
  608. package/src/core/experts/documentation/question.md +0 -41
  609. package/src/core/experts/documentation/self-improve.md +0 -45
  610. package/src/core/experts/documentation/workflow.md +0 -55
  611. package/src/core/experts/epic-planner/expertise.yaml +0 -144
  612. package/src/core/experts/epic-planner/question.md +0 -56
  613. package/src/core/experts/epic-planner/self-improve.md +0 -106
  614. package/src/core/experts/epic-planner/workflow.md +0 -184
  615. package/src/core/experts/integrations/expertise.yaml +0 -113
  616. package/src/core/experts/integrations/question.md +0 -74
  617. package/src/core/experts/integrations/self-improve.md +0 -151
  618. package/src/core/experts/integrations/workflow.md +0 -246
  619. package/src/core/experts/mentor/expertise.yaml +0 -125
  620. package/src/core/experts/mentor/question.md +0 -56
  621. package/src/core/experts/mentor/self-improve.md +0 -106
  622. package/src/core/experts/mentor/workflow.md +0 -184
  623. package/src/core/experts/mobile/expertise.yaml +0 -136
  624. package/src/core/experts/mobile/question.md +0 -72
  625. package/src/core/experts/mobile/self-improve.md +0 -140
  626. package/src/core/experts/mobile/workflow.md +0 -240
  627. package/src/core/experts/monitoring/expertise.yaml +0 -132
  628. package/src/core/experts/monitoring/question.md +0 -76
  629. package/src/core/experts/monitoring/self-improve.md +0 -150
  630. package/src/core/experts/monitoring/workflow.md +0 -264
  631. package/src/core/experts/performance/expertise.yaml +0 -68
  632. package/src/core/experts/performance/question.md +0 -41
  633. package/src/core/experts/performance/self-improve.md +0 -45
  634. package/src/core/experts/performance/workflow.md +0 -61
  635. package/src/core/experts/product/expertise.yaml +0 -143
  636. package/src/core/experts/product/question.md +0 -56
  637. package/src/core/experts/product/self-improve.md +0 -106
  638. package/src/core/experts/product/workflow.md +0 -184
  639. package/src/core/experts/qa/expertise.yaml +0 -110
  640. package/src/core/experts/qa/question.md +0 -56
  641. package/src/core/experts/qa/self-improve.md +0 -106
  642. package/src/core/experts/qa/workflow.md +0 -184
  643. package/src/core/experts/readme-updater/expertise.yaml +0 -141
  644. package/src/core/experts/readme-updater/question.md +0 -56
  645. package/src/core/experts/readme-updater/self-improve.md +0 -106
  646. package/src/core/experts/readme-updater/workflow.md +0 -184
  647. package/src/core/experts/refactor/expertise.yaml +0 -135
  648. package/src/core/experts/refactor/question.md +0 -41
  649. package/src/core/experts/refactor/self-improve.md +0 -45
  650. package/src/core/experts/refactor/workflow.md +0 -57
  651. package/src/core/experts/research/expertise.yaml +0 -143
  652. package/src/core/experts/research/question.md +0 -56
  653. package/src/core/experts/research/self-improve.md +0 -106
  654. package/src/core/experts/research/workflow.md +0 -184
  655. package/src/core/experts/security/expertise.yaml +0 -117
  656. package/src/core/experts/security/question.md +0 -77
  657. package/src/core/experts/security/self-improve.md +0 -102
  658. package/src/core/experts/security/workflow.md +0 -152
  659. package/src/core/experts/templates/expertise-template.yaml +0 -67
  660. package/src/core/experts/templates/question-template.md +0 -56
  661. package/src/core/experts/templates/self-improve-template.md +0 -106
  662. package/src/core/experts/templates/workflow-template.md +0 -184
  663. package/src/core/experts/testing/expertise.yaml +0 -112
  664. package/src/core/experts/testing/question.md +0 -68
  665. package/src/core/experts/testing/self-improve.md +0 -102
  666. package/src/core/experts/testing/workflow.md +0 -143
  667. package/src/core/experts/ui/expertise.yaml +0 -133
  668. package/src/core/experts/ui/question.md +0 -74
  669. package/src/core/experts/ui/self-improve.md +0 -122
  670. package/src/core/experts/ui/workflow.md +0 -262
  671. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
  672. package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
  673. package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
  674. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
  675. package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
  676. package/src/core/profiles/COMPARISON.md +0 -170
  677. package/src/core/profiles/README.md +0 -178
  678. package/src/core/profiles/claude-code.yaml +0 -111
  679. package/src/core/profiles/codex.yaml +0 -103
  680. package/src/core/profiles/cursor.yaml +0 -134
  681. package/src/core/profiles/examples.js +0 -250
  682. package/src/core/profiles/loader.js +0 -235
  683. package/src/core/profiles/windsurf.yaml +0 -159
  684. package/src/core/skills/_learnings/README.md +0 -91
  685. package/src/core/skills/_learnings/_template.yaml +0 -106
  686. package/src/core/skills/_learnings/code-review.yaml +0 -118
  687. package/src/core/skills/_learnings/commit.yaml +0 -69
  688. package/src/core/skills/_learnings/story-writer.yaml +0 -71
  689. package/src/core/teams/backend.json +0 -41
  690. package/src/core/teams/builder-validator.json +0 -51
  691. package/src/core/teams/code-review.json +0 -41
  692. package/src/core/teams/frontend.json +0 -41
  693. package/src/core/teams/fullstack.json +0 -41
  694. package/src/core/teams/logic-audit.json +0 -53
  695. package/src/core/teams/perf-audit.json +0 -71
  696. package/src/core/teams/qa.json +0 -41
  697. package/src/core/teams/security-audit.json +0 -71
  698. package/src/core/teams/solo.json +0 -35
  699. package/src/core/teams/test-audit.json +0 -71
  700. package/src/core/templates/CONTEXT.md.example +0 -49
  701. package/src/core/templates/README-template.md +0 -16
  702. package/src/core/templates/adr-template.md +0 -28
  703. package/src/core/templates/agent-coordination-pattern.md +0 -38
  704. package/src/core/templates/agent-profile-template.md +0 -51
  705. package/src/core/templates/agileflow-metadata.json +0 -150
  706. package/src/core/templates/browser-qa-spec.yaml +0 -94
  707. package/src/core/templates/ci-workflow.yml +0 -74
  708. package/src/core/templates/claude-settings.advanced.example.json +0 -75
  709. package/src/core/templates/claude-settings.example.json +0 -26
  710. package/src/core/templates/command-documentation.md +0 -187
  711. package/src/core/templates/command-prerequisites.yaml +0 -169
  712. package/src/core/templates/comms-note-template.md +0 -24
  713. package/src/core/templates/damage-control-patterns.yaml +0 -243
  714. package/src/core/templates/environment.json +0 -18
  715. package/src/core/templates/epic-template.md +0 -27
  716. package/src/core/templates/plan-template.md +0 -125
  717. package/src/core/templates/preserve-rules-common.md +0 -107
  718. package/src/core/templates/preserve-rules.json +0 -42
  719. package/src/core/templates/proactive-action-spec.md +0 -29
  720. package/src/core/templates/product-brief.md +0 -136
  721. package/src/core/templates/quality-gate-priorities.md +0 -34
  722. package/src/core/templates/research-template.md +0 -44
  723. package/src/core/templates/session-harness-protocol.md +0 -128
  724. package/src/core/templates/session-state.json +0 -56
  725. package/src/core/templates/story-lifecycle.md +0 -213
  726. package/src/core/templates/story-template.md +0 -92
  727. package/src/core/templates/tdd-test-template.js +0 -241
  728. package/src/core/templates/worktrees-guide.md +0 -231
  729. package/tools/agileflow-npx.js +0 -52
  730. package/tools/cli/agileflow-cli.js +0 -72
  731. package/tools/cli/commands/config.js +0 -285
  732. package/tools/cli/commands/doctor.js +0 -496
  733. package/tools/cli/commands/list.js +0 -385
  734. package/tools/cli/commands/serve.js +0 -492
  735. package/tools/cli/commands/session.js +0 -1176
  736. package/tools/cli/commands/setup.js +0 -255
  737. package/tools/cli/commands/status.js +0 -101
  738. package/tools/cli/commands/tui.js +0 -56
  739. package/tools/cli/commands/uninstall.js +0 -155
  740. package/tools/cli/commands/update.js +0 -299
  741. package/tools/cli/installers/core/installer.js +0 -892
  742. package/tools/cli/installers/ide/_base-ide.js +0 -518
  743. package/tools/cli/installers/ide/_interface.js +0 -238
  744. package/tools/cli/installers/ide/claude-code.js +0 -432
  745. package/tools/cli/installers/ide/codex.js +0 -426
  746. package/tools/cli/installers/ide/cursor.js +0 -217
  747. package/tools/cli/installers/ide/manager.js +0 -222
  748. package/tools/cli/installers/ide/windsurf.js +0 -282
  749. package/tools/cli/lib/command-context.js +0 -382
  750. package/tools/cli/lib/config-manager.js +0 -446
  751. package/tools/cli/lib/content-injector.js +0 -969
  752. package/tools/cli/lib/content-transformer.js +0 -496
  753. package/tools/cli/lib/docs-setup.js +0 -464
  754. package/tools/cli/lib/error-handler.js +0 -165
  755. package/tools/cli/lib/ide-error-factory.js +0 -421
  756. package/tools/cli/lib/ide-errors.js +0 -367
  757. package/tools/cli/lib/ide-generator.js +0 -357
  758. package/tools/cli/lib/ide-health-monitor.js +0 -364
  759. package/tools/cli/lib/ide-registry.js +0 -297
  760. package/tools/cli/lib/npm-utils.js +0 -103
  761. package/tools/cli/lib/self-update.js +0 -148
  762. package/tools/cli/lib/ui.js +0 -211
  763. package/tools/cli/lib/utils.js +0 -87
  764. package/tools/cli/lib/validation-middleware.js +0 -491
  765. package/tools/cli/lib/version-checker.js +0 -95
  766. package/tools/postinstall.js +0 -190
@@ -1,445 +0,0 @@
1
- # The State of Paid Advertising 2026: Technical Architecture, Algorithmic Shifts, and Strategic Optimization
2
-
3
- ## Executive Summary: The Signal-Based Paradigm
4
-
5
- The digital advertising ecosystem of February 2026 operates under a fundamentally new paradigm: the transition from keyword-centric targeting to signal-based intent modeling. For engineering teams and marketing architects building automated optimization tools like *claude-ads*, the operational reality has shifted from manual bid management to "signal feeding." This report serves as a comprehensive technical and strategic blueprint, dissecting the failure of the Google Privacy Sandbox, the rise of generative search inventory, and the specific API architectures required to audit and optimize campaigns across Google, Meta, TikTok, LinkedIn, and Microsoft.
6
-
7
- The deprecation of Google's Privacy Sandbox initiative in late 2025, combined with the indefinite persistence of third-party cookies in Chrome, has created a hybrid tracking environment where first-party data moats are the primary differentiator.<sup>1</sup> However, reliance on browser-side pixels is now a vulnerability; the industry standard has moved to server-side integrations (CAPI) and Media Mix Modeling (MMM) as the source of truth for attribution.<sup>2</sup> Platform architectures have evolved to prioritize "black box" automation--Google's AI Max for Search and Performance Max (PMax) dominate inventory, while Meta's Andromeda engine has restructured ad retrieval to favor creative portfolios over individual variants.<sup>3</sup>
8
-
9
- This document provides the specific logic, API endpoints, benchmarks, and scoring methodologies required to build a defensible, high-impact auditing tool for this new era.
10
-
11
- ---
12
-
13
- ## Section 1: The Macro-Environment & Privacy Infrastructure
14
-
15
- ### 1.1 The Post-Sandbox Reality and Cookie Persistence
16
-
17
- As of early 2026, the digital advertising industry has stabilized following the collapse of Google's Privacy Sandbox initiative. After six years of development, Google officially retired the initiative in October 2025 due to insurmountable regulatory scrutiny from the UK's Competition and Markets Authority (CMA) and significant performance degradation observed during industry testing.<sup>1</sup> The core APIs proposed--Topics, Protected Audience, and Attribution Reporting--have been shut down on both Chrome and Android.<sup>1</sup>
18
-
19
- The immediate implication for ad-tech architecture is that third-party cookies remain active in Chrome. However, this preservation comes with a critical caveat: Google has abandoned plans for a new user-choice prompt, maintaining existing controls instead.<sup>1</sup> This creates a false sense of security for advertisers relying solely on client-side tracking. While the cookies exist, the signal fidelity is degraded by browser-level protections and the massive adoption of iOS privacy frameworks.
20
-
21
- **Implications for *claude-ads* Architecture:** The auditing tool must not validate tracking health based solely on the presence of a pixel. It must prioritize server-side integrations as the standard. The logic should penalize accounts that lack a dual-tagging implementation (Pixel + Server-Side) because reliance on cookies is now a fragility rather than a standard. The tool must verify "Enhanced Conversions" in Google Ads and "Event Match Quality" (EMQ) in Meta to ensure data durability.<sup>5</sup>
22
-
23
- ### 1.2 The Rise of "AI Max" and Generative Search Inventory
24
-
25
- The most significant operational change in 2026 is the integration of ads into AI Overviews (AIO) via "AI Max." This is not merely a campaign type but a suite of features layering on top of Search. It utilizes Large Language Models (LLMs) to match landing page content directly to complex, conversational user queries, bypassing traditional keyword matching logic.<sup>6</sup>
26
-
27
- For an orchestration tool, this necessitates a shift in landing page auditing. Traditional SEO heuristics like keyword density are less relevant than "machine-interpretability"--specifically, the presence of structured data (Schema) and semantic hierarchy that allows Google's AI to scrape "answers" directly from the page to form ad copy.<sup>7</sup> The CLI tool must scrape landing pages to validate the existence of FAQPage and Product schema, ensuring the content is structured for AI ingestion.
28
-
29
- ### 1.3 The Media Mix Modeling (MMM) Renaissance
30
-
31
- With deterministic tracking fragmented, Media Mix Modeling (MMM) has re-emerged as the primary mechanism for budget allocation. Modern MMM tools in 2026, such as Google Meridian and Meta Robyn, use Bayesian methods to quantify uncertainty and calibrate incrementality.<sup>2</sup> The 2026 best practice is a "Hybrid Measurement Strategy," combining real-time multi-touch attribution (MTA) for tactical optimization with periodic MMM for strategic budget setting.<sup>2</sup>
32
-
33
- **Strategic Logic for Optimization:**
34
-
35
- When *claude-ads* recommends budget shifts, it cannot rely solely on platform-reported ROAS, which often claims credit for conversions driven by other channels. Ideally, the tool should ingest MMM coefficients or "incrementality multipliers" to weight the platform data. For example, a reported Meta ROAS of 4.0 might be weighted down by 30% based on MMM incrementality findings, while a YouTube View-Through conversion might be weighted up.
36
-
37
- ---
38
-
39
- ## Section 2: Google Ads Architecture & Optimization Logic
40
-
41
- ### 2.1 The New Search Logic: Broad Match & Smart Bidding
42
-
43
- The definitive "power pairing" for 2026 is Broad Match combined with Smart Bidding. The operational definition of "Exact Match" has loosened to capture "same meaning," while Broad Match now captures "intent" derived from user history, landing page context, and real-time signals.<sup>7</sup> This shift renders manual CPC bidding on exact match keywords largely obsolete for growth-focused accounts.
44
-
45
- **Audit Logic for Broad Match:**
46
-
47
- - **Pre-requisite Check:** Broad match should *never* be enabled without a Smart Bidding strategy (tCPA or tROAS) active. The *claude-ads* tool must flag any Broad Match keywords running on Manual CPC as a "Critical" error, as this combination leads to unrestricted spend on irrelevant queries without the safety rail of conversion probability modeling.<sup>7</sup>
48
- - **Negative Keyword Moats:** Because Broad Match expands reach aggressively, account-level negative keyword lists are mandatory. The tool must check for the presence of "theme-based" negative lists (e.g., "Competitor," "Cheap/Free," "Jobs") applied globally to filter low-intent traffic before it enters the auction.<sup>7</sup>
49
- - **Brand Guidelines:** The tool must verify that "Brand Guidelines" are configured in PMax and Search settings. This feature restricts the AI's generative copy capabilities to approved brand voice and terminology, preventing hallucinated or off-brand ad text during broad matching expansion.<sup>7</sup>
50
-
51
- ### 2.2 Performance Max (PMax) Maturity
52
-
53
- Performance Max has evolved from a "black box" to a configurable "grey box" by 2026. New controls allow for campaign-level negative keywords, brand exclusions, and improved asset reporting.<sup>9</sup> The primary frustration--lack of visibility--has been partially addressed through "Share of Voice" reporting and "Search Term Insights," which allow advertisers to see where the budget is actually going.<sup>10</sup>
54
-
55
- **PMax Structure for 2026:** The prevailing best practice is to structure Asset Groups by **User Intent** rather than Product Category. For example, instead of separate groups for "Running Shoes" vs. "Basketball Shoes," the structure should target "High-Performance Athletes" (featuring technical specs and dynamic imagery) vs. "Casual Commuters" (featuring lifestyle imagery and comfort-focused copy).<sup>7</sup> This aligns the creative assets with the audience signals the AI is optimizing for.
56
-
57
- **Audit Checkpoints:**
58
-
59
- - **Asset Density:** Each Asset Group must contain the maximum allowance of headlines (15), descriptions (5), and images (20). The tool should flag groups with fewer than 5 images or missing video assets.<sup>7</sup>
60
- - **Video Necessity:** PMax now generates robotic, low-quality videos from static images if no video is provided. The audit must detect asset groups lacking native video assets (vertical, square, and landscape) and mark them as "High Risk" for brand safety and Ad Strength.<sup>7</sup>
61
- - **New Customer Acquisition (NCA):** Verify that the "Only bid for new customers" or "Bid higher for new customers" value rules are active for prospecting campaigns. Failing to distinguish new vs. returning users is a primary cause of inflated ROAS metrics that do not drive incremental growth.<sup>7</sup>
62
-
63
- ### 2.3 Ad Rank and Quality Score in 2026
64
-
65
- The Ad Rank formula remains the core sorting mechanism: **Ad Rank = CPC Bid x Quality Score**. However, the weighting of Quality Score components has shifted significantly in 2026.<sup>11</sup>
66
-
67
- **The 2026 Quality Score Formula:**
68
-
69
- While the exact weights are proprietary, 2026 research indicates the following priority hierarchy:
70
-
71
- 1. **Expected Click-Through Rate (CTR):** The heaviest weighted component. It signals user satisfaction and relevance to the query.
72
- 2. **Landing Page Experience:** Critical for AI Overviews. Factors include Core Web Vitals (speed < 2s), mobile responsiveness, and semantic clarity.<sup>7</sup>
73
- 3. **Ad Relevance:** Measures how well the ad copy answers the user's intent.
74
-
75
- **Audit Calculation:**
76
-
77
- The *claude-ads* tool should approximate Ad Rank health by pulling the 1-10 Quality Score for all keywords.
78
-
79
- - **Score < 5:** Critical Warning (Wasting budget due to high CPC penalty).
80
- - **Score 5-7:** Warning (Optimization opportunity).
81
- - **Score 8-10:** Healthy.
82
- - *Formula:* Actual CPC = (Ad Rank of Advertiser Below / Your Quality Score) + $0.01.<sup>11</sup> This formula demonstrates that increasing Quality Score is the only mathematically viable way to lower costs while maintaining position.
83
-
84
- ### 2.4 Google Ads API v23 Integration
85
-
86
- The v23 update (January 2026) introduced critical capabilities for auditing and optimization. Developers must upgrade client libraries to utilize these features.<sup>13</sup>
87
-
88
- **Key API Features for Auditing:**
89
-
90
- - **Granular Invoice Details:** InvoiceService.ListInvoices now returns campaign-level cost breakdowns, enabling precise margin analysis at the billing level.<sup>13</sup>
91
- - **Share of Voice (SOV) in PMax:** New metrics for impression share lost to budget/rank in PMax are available via the API. This allows the tool to diagnose whether a campaign needs creative optimization (rank) or more money (budget).<sup>10</sup>
92
- - **Ad Strength Diagnostic:** The API now provides specific "Good" or "Excellent" ratings for RSA assets. The tool should enforce a policy where no ad group runs with "Poor" ad strength.<sup>14</sup>
93
- - **Campaign Scheduling:** New fields Campaign.start\_date\_time and Campaign.end\_date\_time allow for precise scheduling down to the minute, essential for "flash sale" automations.<sup>13</sup>
94
-
95
- ---
96
-
97
- ## Section 3: Meta Ads: The Andromeda Engine & Advantage+
98
-
99
- ### 3.1 The Andromeda Algorithm Update
100
-
101
- Meta's 2025/2026 infrastructure update, codenamed "Andromeda," has shifted the ad retrieval engine from a simple auction to a complex AI-driven matching system. Andromeda utilizes massive parallel computing to reconstruct latent user-ad interaction signals on the fly, optimizing for "creative portfolios" rather than single ads.<sup>4</sup>
102
-
103
- **Operational Shift:**
104
-
105
- - **Breathing Room:** The old rule of "3-5 ads per ad set" is obsolete. Andromeda requires larger creative volume to function effectively. It allows for higher ad counts per ad set because it can dynamically allocate budget to the specific asset that matches a user's momentary context.<sup>4</sup>
106
- - **Creative as Targeting:** The creative *is* the targeting. Broad targeting (no interests, no lookalikes) combined with specific creative angles allows Andromeda to find the audience based on who engages with the content.<sup>15</sup> The algorithm uses the visual and semantic data within the ad to determine who to show it to.
107
-
108
- ### 3.2 Account Structure: The "3-Stage" System
109
-
110
- The *claude-ads* tool should enforce a consolidated account structure to maximize signal density for Andromeda. The traditional "testing campaign" with many ad sets is replaced by a more streamlined flow <sup>15</sup>:
111
-
112
- 1. **Testing Campaign (ABO):** A single campaign for testing new concepts. It can handle multiple batches of concepts in a single ad set.
113
- 2. **Challenger ASC (Advantage+ Shopping Campaign):** A dedicated campaign for "graduating" winners. This prevents new winners from being starved of budget by legacy winners in the core campaign. It forces the system to give the new winner a fair shot.
114
- 3. **Core / Evergreen Campaign (CBO):** The home for proven, scalable assets that have survived the Challenger phase.
115
-
116
- **Red Flag Logic for Audits:**
117
-
118
- - **Fragmentation:** Flag accounts with >5 active campaigns targeting the same country/funnel stage. This fragments data and prevents Andromeda from learning effectively.<sup>16</sup>
119
- - **Audience Overlap:** Flag ad sets with high auction overlap rates, as this forces the advertiser to bid against themselves.
120
-
121
- ### 3.3 Creative Signals & "Social-Native" Content
122
-
123
- Meta explicitly rewards "social-native" content--ads that look like organic user posts. The algorithm favors vertical, raw content that feels like a friend's story.<sup>15</sup>
124
-
125
- **Audit Criteria for Creative:**
126
-
127
- - **Visual Signals:** The tool should analyze asset metadata for 9:16 aspect ratios. Handheld camera movement, selfie POV, native text overlays, and "lo-fi" production values are positive signals.<sup>15</sup>
128
- - **Hook Rate:** The first 3 seconds are critical. The API now provides a Reels Skip Rate metric. The tool should audit videos with >50% skip rates in the first 3 seconds and flag them for creative refresh.<sup>17</sup>
129
- - **Organic Boosting:** The most effective strategy in 2026 is identifying top-performing organic Instagram Reels and promoting them via partnership ads. This carries over the social proof (likes/comments), which acts as a quality signal in the auction.<sup>15</sup>
130
-
131
- ### 3.4 Meta Marketing API Best Practices
132
-
133
- - **Rate Limits:** Meta enforces strict rate limits calculated on a rolling 1-hour window. The tool must implement **exponential backoff** strategies when receiving error codes 613 or 80004 to avoid suspension.<sup>18</sup>
134
- - **Insights API:** Use the Insights endpoint to pull video\_avg\_time\_watched\_actions and outbound\_clicks to correlate engagement with conversion.<sup>17</sup>
135
- - **CAPI Health:** The "Event Match Quality" (EMQ) score is the north star for tracking. The tool must query the EMQ score for the Purchase event. A score below **7.0/10** indicates severe data loss and should trigger a high-priority alert.<sup>19</sup>
136
-
137
- ---
138
-
139
- ## Section 4: TikTok Ads: Commerce & Search Integration
140
-
141
- ### 4.1 TikTok as a Search Engine
142
-
143
- By 2026, TikTok has solidified its position as a primary search engine for Gen Z. The "Search Ads Toggle" in campaigns allows ads to appear in search results, capturing high-intent traffic.<sup>20</sup>
144
-
145
- **Strategy & Audit:** Advertisers must treat TikTok captions like SEO meta descriptions. High-intent keywords (e.g., "best acne cream 2026") must be integrated into the video text overlays and captions to trigger search ad placements. The tool should verify that the "Search Ads Toggle" is **ON** for all campaigns. Data suggests a 70% stronger CPA for ad groups with this toggle enabled.<sup>20</sup>
146
-
147
- ### 4.2 Smart+ Campaigns & Automation
148
-
149
- TikTok's "Smart+" campaigns (similar to Meta's Advantage+) automate targeting, bidding, and creative selection. This campaign type uses machine learning to predict which user is most likely to convert.<sup>21</sup>
150
-
151
- **Optimization Logic:**
152
-
153
- - **Creative Fatigue:** Smart+ rotates creatives rapidly. The tool should monitor the "Lifespan" of ads. If a creative has been active for >7 days with declining CTR, it should be flagged for replacement.<sup>21</sup>
154
- - **Creative Quantity:** Best practice dictates uploading at least **6 creative assets** per ad group to allow the system to optimize effectively.<sup>21</sup>
155
-
156
- ### 4.3 TikTok Shop Integration
157
-
158
- For e-commerce, TikTok Shop is the primary conversion engine. Integrating Video Shopping Ads (VSA) allows users to purchase directly without leaving the app, reducing friction.
159
-
160
- - **Audit Check:** The tool should audit whether the account is utilizing "Spark Ads" linked to creator profiles. Spark Ads typically outperform non-Spark ads because they leverage the creator's native authority and profile linkage.<sup>23</sup>
161
-
162
- ### 4.4 API Rate Limits & Engineering
163
-
164
- TikTok's API is stricter than Meta's, requiring careful engineering for the CLI tool.
165
-
166
- - **Rate Limit:** 600 requests per minute for core endpoints (/v2/ad/query/).<sup>24</sup>
167
- - **Throttling:** The tool must respect HTTP 429 responses and implement a queueing system to manage requests across multiple client accounts. It must handle error codes like rate\_limit\_exceeded gracefully by waiting for the Retry-After duration.<sup>24</sup>
168
-
169
- ---
170
-
171
- ## Section 5: LinkedIn Ads: The B2B Trust Engine
172
-
173
- ### 5.1 Thought Leader Ads (TLA)
174
-
175
- Thought Leader Ads are the dominant format for B2B in 2026. These allow companies to sponsor posts from their executives' or employees' personal profiles, leveraging the trust of individuals over corporate brands.
176
-
177
- - **Performance:** TLAs deliver **1.7x higher CTR** and **1.6x more engagement** than standard single-image company ads.<sup>25</sup>
178
- - **Cost Efficiency:** They can achieve CPCs as low as **$4.14** compared to **$22+** for standard brand campaigns.<sup>25</sup>
179
- - **Strategy:** The *claude-ads* tool should recommend allocating 30% of the budget to TLAs for "humanizing" the brand and building trust at the top of the funnel.
180
-
181
- ### 5.2 Conversation Ads vs. Message Ads
182
-
183
- - **Conversation Ads:** Interactive, "choose-your-own-path" messages. They achieve a **12% CTR** on average. These are best for complex offers where the user needs to self-qualify (e.g., "Which challenge are you facing? -> Here is a specific whitepaper").<sup>27</sup>
184
- - **Message Ads:** Linear, single-CTA messages. Best for direct event invites or simple announcements.
185
- - **Frequency Cap:** LinkedIn enforces a strict frequency cap (1 message per 30-45 days per user). The tool must track "Frequency" carefully; bidding aggressively (CPS - Cost Per Send) is recommended to win the auction for the user's limited inbox slot.<sup>27</sup>
186
-
187
- ### 5.3 Benchmarks & Bidding
188
-
189
- - **CPC:** High. $13.23 for single image ads vs. $2.29 for Thought Leader Ads.<sup>25</sup>
190
- - **CTR:** The benchmark for Sponsored Content is **0.44% - 0.65%**. Anything above 1% is exceptional.<sup>28</sup>
191
- - **Ad Format ROI:** Video ads have the lowest efficiency score (1.5), while TLAs have the highest (9.5).<sup>25</sup>
192
-
193
- ---
194
-
195
- ## Section 6: Microsoft Ads & Copilot
196
-
197
- ### 6.1 Performance Max & Copilot Integration
198
-
199
- Microsoft's PMax inventory now includes Copilot chat sessions. Ads displayed in Copilot chat have shown a **63% increase in conversion rates** compared to standard search ads.<sup>29</sup> This high intent makes Microsoft Ads a critical component of a holistic strategy.
200
-
201
- - **New Customer Acquisition:** Microsoft introduced a specific goal to "Target New Customers" in PMax (Beta in 2026). The tool should check if this setting is enabled for growth-focused accounts to ensure budget isn't wasted on retargeting.<sup>10</sup>
202
- - **Asset Imports:** Microsoft allows direct import of PMax campaigns from Google Ads. The tool should validate that asset group settings (especially URL options) transferred correctly, as these often break during import.<sup>10</sup>
203
-
204
- ---
205
-
206
- ## Section 7: Cross-Platform Benchmarks 2026
207
-
208
- To provide actionable "Pass/Fail" grading in the *claude-ads* tool, we must establish baseline metrics. The following table aggregates data from multiple 2026 industry reports to serve as the standard for performance auditing.
209
-
210
- | Metric | E-Commerce | B2B SaaS | Legal | Finance | Healthcare | Local Services |
211
- |---|---|---|---|---|---|---|
212
- | **Google Search CTR** | 4.13% | 4.28% | 5.20% | 4.65% | 4.90% | 5.50% |
213
- | **Google Search CPC** | $1.15 | $4.50 | $750+ | $900+ | $40+ | $15 - $30 |
214
- | **Google Search CVR** | 2.81% | 1.65% | 4.60% | 3.50% | 3.10% | 15.0% |
215
- | **Meta Ads CTR** | 1.38% | 0.90% | 0.85% | 0.70% | 1.10% | 1.50% |
216
- | **Meta Ads CPM** | $12.50 | $35.00 | $45.00 | $50.00 | $28.00 | $18.00 |
217
- | **LinkedIn CPC** | N/A | $13.23 | $25.00 | $35.00 | N/A | N/A |
218
- | **LinkedIn CTR** | N/A | 0.56% | 0.45% | 0.40% | N/A | N/A |
219
- | **TikTok Ads CPM** | $3.21 | $8.00 | N/A | N/A | N/A | $5.00 |
220
- | **ROAS Benchmark** | 4.0x - 7.5x | N/A | 3.0x | 3.5x | 2.8x | 5.0x |
221
-
222
- Data Sources: <sup>16</sup>
223
-
224
- **Analysis of Benchmarks:**
225
-
226
- - **High-Cost Verticals:** The Legal and Finance sectors have decoupled from standard PPC economics, with CPCs exceeding $750 and even $900 for high-intent terms like "Life Insurance Quotes".<sup>31</sup> For these industries, the audit must focus on **Lead Quality** and **Offline Conversion Import (OCI)** rather than CPC efficiency. A $900 click is acceptable if the case value is $50,000.
227
- - **E-Commerce Efficiency:** Meta Ads maintain a high ROAS potential (7.5x) for e-commerce, driven by the efficiency of Advantage+ Shopping Campaigns (ASC).<sup>16</sup>
228
- - **SaaS Realities:** B2B SaaS faces high LinkedIn CPCs ($13.23), meaning conversion rates must be optimized heavily at the landing page level to make the economics work.
229
-
230
- ---
231
-
232
- ## Section 8: The Universal Ad Account Audit Framework
233
-
234
- This framework defines the logic *claude-ads* will use to score accounts. It uses a weighted scoring system (Total Score: 100) to provide a single "health score" for any ad account.
235
-
236
- ### 8.1 Category A: Conversion Data Hygiene (Weight: 25%)
237
-
238
- - **Check 1:** Are "Enhanced Conversions" enabled? (Pass/Fail).<sup>6</sup>
239
- - **Check 2:** Is Server-Side Tracking (CAPI/OCI) active? (Pass/Fail).<sup>33</sup>
240
- - **Check 3:** Are "Micro-Conversions" (e.g., Add to Cart, Time on Site) separated from "Primary Conversions" in bidding goals? (Pass/Fail). *Logic: Mixing these confuses the Smart Bidding algorithm.*
241
- - **Check 4:** Is the "New Customer" value rule applied? (Pass/Fail).<sup>7</sup>
242
-
243
- ### 8.2 Category B: Account Structure & Bidding (Weight: 20%)
244
-
245
- - **Check 1:** Is Broad Match used *only* with Smart Bidding? (Pass/Fail). *Logic: Broad + Manual CPC = Fail.*
246
- - **Check 2:** Is the account utilizing Portfolio Bid Strategies? (Pass/Fail).<sup>33</sup> *Logic: Portfolios share data across campaigns, accelerating the learning phase.*
247
- - **Check 3:** Are there >5 active campaigns per funnel stage? (Pass/Fail). *Logic: Fragmentation dilutes data. Score down if True.*
248
- - **Check 4:** Are "Brand" and "Non-Brand" traffic separated? (Pass/Fail). *Logic: Essential for accurate ROAS measurement.*
249
-
250
- ### 8.3 Category C: Creative Diversity & Health (Weight: 25%)
251
-
252
- - **Check 1:** (Meta) Does the account have >3 distinct creative formats (Static, Video, Carousel) active? (Pass/Fail).<sup>15</sup>
253
- - **Check 2:** (Google) Do PMax asset groups have vertical (9:16) video assets? (Pass/Fail).<sup>7</sup>
254
- - **Check 3:** Ad Strength Check: What % of ads are "Poor"? *Logic: If >10% = Fail.*
255
- - **Check 4:** Creative Fatigue: Are any active ads showing a CTR drop of >30% over the last 14 days? (Pass/Fail).
256
-
257
- ### 8.4 Category D: Targeting & Exclusions (Weight: 15%)
258
-
259
- - **Check 1:** Are Account-Level Placement Exclusions applied? (Pass/Fail). *Logic: Must exclude "Games," "Apps," and known MFA (Made-For-Advertising) sites..*<sup>34</sup>
260
- - **Check 2:** Are Customer Match lists uploaded and refreshed in the last 30 days? (Pass/Fail).<sup>7</sup>
261
- - **Check 3:** (Meta) Is Advantage+ Audience enabled? (Pass/Fail).
262
-
263
- ### 8.5 Category E: Landing Page Experience (Weight: 15%)
264
-
265
- - **Check 1:** Mobile Speed Score via PageSpeed Insights API. *Logic: If >2.0s LCP = Fail.*<sup>7</sup>
266
- - **Check 2:** Presence of valid Schema markup (Product, FAQ). (Pass/Fail).
267
- - **Check 3:** Consistency Check: Does the H1 tag match the Ad Headline? (Semantic Similarity Score).
268
-
269
- ---
270
-
271
- ## Section 9: Industry-Specific Playbooks
272
-
273
- The *claude-ads* tool should apply different optimization logic based on the user's industry.
274
-
275
- ### 9.1 B2B SaaS & High-Ticket Services
276
-
277
- - **Core Strategy:** The "SME Engine." Use LinkedIn Thought Leader Ads to distribute content from the Founder/CTO to build trust.
278
- - **Funnel Logic:**
279
- - *TOFU:* Ungated value (video snippets, frameworks) via LinkedIn/Meta Video Views.
280
- - *MOFU:* Conversation Ads or Lead Forms for "High-Intent" assets (calculators, audits).
281
- - *BOFU:* Direct demo request retargeting on Google Search (Brand + Competitor keywords).
282
- - **Key Metric:** Pipeline ROI and Lead Quality (via Offline Conversion Import), *not* CPL.
283
- - **Optimization:** Bid aggressively on "Job Title" targeting in LinkedIn; use broad targeting restricted by "Business Interest" in Meta.<sup>26</sup>
284
-
285
- ### 9.2 E-Commerce (DTC)
286
-
287
- - **Core Strategy:** The "Four Peaks" theory. Plan quarterly "peaks" (sales/events) to reset algorithmic fatigue and inject fresh data signals.<sup>15</sup>
288
- - **Funnel Logic:**
289
- - *Acquisition:* PMax (Google) + Advantage+ Shopping (Meta) + TikTok Shop VSA. Consolidate budget into one "Hero" campaign per platform.
290
- - *Retention:* Email/SMS (Klaviyo) + Customer Match retargeting for cross-sells.
291
- - **Key Metric:** MER (Marketing Efficiency Ratio) and POAS (Profit on Ad Spend).
292
- - **Optimization:** Test creative concepts in a separate campaign; graduate winners to the ASC campaign. Use "Cost Caps" to protect margins.<sup>16</sup>
293
-
294
- ### 9.3 Local Services (Lead Gen)
295
-
296
- - **Core Strategy:** Trust & Proximity. Local Service Ads (LSA) + Google Maps Ads are critical for capturing high-intent, emergency queries.
297
- - **Funnel Logic:**
298
- - *Capture:* Google LSA (Pay-per-lead). Ensure "Google Guaranteed" badge is active.
299
- - *Retargeting:* Meta/YouTube ads geographically fenced to the service area + 5 miles.
300
- - **Key Metric:** Cost Per Booked Appointment.
301
- - **Optimization:** Dispute invalid leads in LSA dashboard weekly. Sync CRM to feed "Booked" status back to Google to train Smart Bidding.<sup>7</sup>
302
-
303
- ### 9.4 Info Products & Webinars
304
-
305
- - **Core Strategy:** The "Selfie-Style" Authority. Heavy reliance on founder-led video content on Meta/YouTube to build personal connection.
306
- - **Funnel Logic:**
307
- - *Ad:* Short-form video (pain point + solution hint) ->
308
- - *Opt-in:* VSL (Video Sales Letter) or Webinar Registration ->
309
- - *Conversion:* Low-ticket Tripwire ($27-$97) to liquidate ad spend -> High-ticket upsell.
310
- - **Optimization:** Monitor "Hook Rate" (3-second view) and "Hold Rate" (ThruPlay). If Hook Rate < 30%, rewrite the script intro.<sup>15</sup>
311
-
312
- ---
313
-
314
- ## Section 10: API Engineering & Technical Implementation Guide
315
-
316
- This section outlines the specific technical requirements for the *claude-ads* CLI to interact with ad platforms safely and effectively.
317
-
318
- ### 10.1 Rate Limiting & Throttling Logic
319
-
320
- To avoid IP bans or API suspensions, the tool must implement a **Token Bucket** algorithm for rate limiting.
321
-
322
- - **Google Ads API:**
323
- - *Limit:* 15,000 operations/day (Basic Access).<sup>36</sup>
324
- - *Strategy:* Batch Mutate operations. Group up to 5,000 changes into a single request envelope. Use partial\_failure=true to prevent one error from failing the entire batch.<sup>36</sup>
325
- - **Meta Marketing API:**
326
- - *Limit:* Calculated based on ad spend and user tier (Standard vs. Advanced). Rolling 1-hour window.
327
- - *Strategy:* Check header X-Business-Use-Case-Usage. If usage > 75%, pause requests for 5 minutes. Implement exponential backoff for error 613 (Rate Limit Reached).<sup>18</sup>
328
- - **TikTok Ads API:**
329
- - *Limit:* 600 requests/minute for reporting endpoints.
330
- - *Strategy:* Strict strict client-side throttling. If HTTP 429 is received, wait X seconds (where X is defined in the Retry-After header).<sup>24</sup>
331
-
332
- ### 10.2 Authentication Best Practices
333
-
334
- - **Token Storage:** Never store Access Tokens in plain text. Use a secure vault (e.g., system keychain or encrypted local file).
335
- - **Refresh Logic:**
336
- - *Google:* Use the Refresh Token to generate a short-lived Access Token (1 hour). Handle invalid\_grant errors (revoked access) by prompting the user to re-authenticate.
337
- - *Meta:* Exchange short-lived User Tokens for Long-Lived Tokens (60 days). The tool should check token expiration on startup and warn the user if < 7 days remain.<sup>18</sup>
338
-
339
- ### 10.3 Critical Endpoints for Auditing
340
-
341
- The *claude-ads* tool should query these specific endpoints to populate the audit report:
342
-
343
- | Platform | Goal | Endpoint / Service | Field / Metric |
344
- |---|---|---|---|
345
- | **Google** | Budget Analysis | CampaignBudgetService | recommended\_budget\_amount |
346
- | **Google** | Quality Score | KeywordView | quality\_score |
347
- | **Google** | Ad Strength | AdGroupAdService | ad\_strength |
348
- | **Meta** | Ad Quality | Insights | quality\_ranking, engagement\_rate\_ranking |
349
- | **Meta** | Creative Fatigue | Insights (Time Series) | ctr (compare last 7d vs last 30d) |
350
- | **TikTok** | Account Health | Account Health | is\_restricted, policy\_violations |
351
- | **LinkedIn** | Audience Quality | AdAnalytics | demographic\_metrics (Job Title/Function) |
352
-
353
- ### 10.4 Automating Optimization (Write Operations)
354
-
355
- For the "Optimize" and "Generate" commands of the tool:
356
-
357
- - **Safe Mode:** All write operations (e.g., pausing ads, changing bids) should initially be "Dry Run" or require explicit user confirmation (y/n).
358
- - **Change History:** Log every change made by the tool to a local claude-ads.log file with timestamps and previous values. This enables a "Rollback" feature.
359
- - **Generative AI Integration:** When generating ad copy, use the platform's constraints (e.g., Google Headlines: 30 chars) as strict system prompts to the LLM to prevent API rejection errors.
360
-
361
- ---
362
-
363
- ## Conclusion
364
-
365
- The 2026 advertising landscape demands a fundamental pivot from manual granularity to strategic orchestration. The "winners" in this era are not the best keyword miners, but the best *signal architects*--those who can feed clean, high-value data into the AI engines of Google, Meta, and TikTok.
366
-
367
- For *claude-ads*, the mission is clear: automate the technical hygiene (tracking, structure, exclusions) so the human marketer can focus on the only lever that still truly matters--**creative strategy and offer development**. By adhering to the audit frameworks and API standards outlined in this report, the tool will provide defensible, high-impact value to its users.
368
-
369
- **End of Report.**
370
-
371
- ---
372
-
373
- ## Works Cited
374
-
375
- 1. Google Privacy Sandbox Is Dead: What It Means For Your Brand, accessed February 10, 2026, [https://usercentrics.com/knowledge-hub/what-is-google-privacy-sandbox/](https://usercentrics.com/knowledge-hub/what-is-google-privacy-sandbox/)
376
-
377
- 2. 7 Best Marketing Mix Modeling Software Tools of 2026 - Cometly, accessed February 10, 2026, [https://www.cometly.com/post/marketing-mix-modeling-software](https://www.cometly.com/post/marketing-mix-modeling-software)
378
-
379
- 3. Meta Ads Updates 2025: What Actually Changed (and What You Need to Know for 2026), accessed February 10, 2026, [https://www.reddit.com/r/FacebookAds/comments/1pjt6i8/meta_ads_updates_2025_what_actually_changed_and/](https://www.reddit.com/r/FacebookAds/comments/1pjt6i8/meta_ads_updates_2025_what_actually_changed_and/)
380
-
381
- 4. Meta Ads Updates: What Really Changed - Giovanni Perilli, accessed February 10, 2026, [https://giovanniperilli.com/en/blog/meta-ads-updates-what-really-changed-in-2025-and-how-to-prepare-for-2026/](https://giovanniperilli.com/en/blog/meta-ads-updates-what-really-changed-in-2025-and-how-to-prepare-for-2026/)
382
-
383
- 5. Meta Conversions API: 2026 guide - DinMo, accessed February 10, 2026, [https://www.dinmo.com/third-party-cookies/solutions/conversions-api/meta-ads/](https://www.dinmo.com/third-party-cookies/solutions/conversions-api/meta-ads/)
384
-
385
- 6. What's New in Google Ads for 2026 - MentorCruise, accessed February 10, 2026, [https://mentorcruise.com/blog/whats-new-in-google-ads-for-2026-96017/](https://mentorcruise.com/blog/whats-new-in-google-ads-for-2026-96017/)
386
-
387
- 7. Google Ads Best Practices Every Marketer Should Know (2026 Guide), accessed February 10, 2026, [https://twominutereports.com/blog/google-ads-best-practices](https://twominutereports.com/blog/google-ads-best-practices)
388
-
389
- 8. The Future of Google Ads Keywords: 6 Experts Weigh In - WordStream, accessed February 10, 2026, [https://www.wordstream.com/blog/2025-google-ads-keywords](https://www.wordstream.com/blog/2025-google-ads-keywords)
390
-
391
- 9. Key Google Ads Trends & Predictions for 2026 | WordStream, accessed February 10, 2026, [https://www.wordstream.com/blog/2026-google-ads-trends](https://www.wordstream.com/blog/2026-google-ads-trends)
392
-
393
- 10. January 2026 product updates | Microsoft Advertising, accessed February 10, 2026, [https://about.ads.microsoft.com/en/blog/post/january-2026/performance-max-updates-and-other-product-news-for-january-2026](https://about.ads.microsoft.com/en/blog/post/january-2026/performance-max-updates-and-other-product-news-for-january-2026)
394
-
395
- 11. Understanding AdRank and Quality Score | Website.com, accessed February 10, 2026, [https://www.website.com/website-builder-and-web-design/understanding-adrank-and-quality-score](https://www.website.com/website-builder-and-web-design/understanding-adrank-and-quality-score)
396
-
397
- 12. Google Ads Quality Score: How To Use it in 2026 - Store Growers, accessed February 10, 2026, [https://www.storegrowers.com/google-ads-quality-score/](https://www.storegrowers.com/google-ads-quality-score/)
398
-
399
- 13. Announcing v23 of the Google Ads API, accessed February 10, 2026, [http://ads-developers.googleblog.com/2026/01/announcing-v23-of-google-ads-api.html](http://ads-developers.googleblog.com/2026/01/announcing-v23-of-google-ads-api.html)
400
-
401
- 14. About Ad strength for responsive search ads - Google Help, accessed February 10, 2026, [https://support.google.com/google-ads/answer/9921843?hl=en](https://support.google.com/google-ads/answer/9921843?hl=en)
402
-
403
- 15. Meta Ads Best Practices to Follow in 2026 - Flighted, accessed February 10, 2026, [https://www.flighted.co/blog/meta-ads-best-practices](https://www.flighted.co/blog/meta-ads-best-practices)
404
-
405
- 16. Meta Ads Benchmarks 2026 | Enrich Labs, accessed February 10, 2026, [https://www.enrichlabs.ai/blog/meta-ads-benchmarks-2025](https://www.enrichlabs.ai/blog/meta-ads-benchmarks-2025)
406
-
407
- 17. Meta Announces Updates for the Instagram Marketing API | Social Media Today, accessed February 10, 2026, [https://www.socialmediatoday.com/news/meta-announces-updates-for-the-instagram-marketing-api/807083/](https://www.socialmediatoday.com/news/meta-announces-updates-for-the-instagram-marketing-api/807083/)
408
-
409
- 18. Meta Ads API: Complete Guide for Advertisers and Developers (2025) | AdManage.ai Blog, accessed February 10, 2026, [https://admanage.ai/blog/meta-ads-api](https://admanage.ai/blog/meta-ads-api)
410
-
411
- 19. Meta Event Match Quality Score Explained - Conversion Tracking Specialist, accessed February 10, 2026, [https://conversiontracking.io/blog/facebook-meta-event-match-quality-score](https://conversiontracking.io/blog/facebook-meta-event-match-quality-score)
412
-
413
- 20. TikTok's 5 best practices for Search ads - The Thread - Gupta Media, accessed February 10, 2026, [https://thread.guptamedia.com/p/tiktok-5-best-practices-for-search-ads](https://thread.guptamedia.com/p/tiktok-5-best-practices-for-search-ads)
414
-
415
- 21. Best practices for Smart+ Web Campaigns - TikTok For Business, accessed February 10, 2026, [https://ads.tiktok.com/help/article/best-practices-for-smart-plus-web-campaigns](https://ads.tiktok.com/help/article/best-practices-for-smart-plus-web-campaigns)
416
-
417
- 22. About Smart+ Campaigns | TikTok Ads Manager, accessed February 10, 2026, [https://ads.tiktok.com/help/article/about-smart-plus-campaign?lang=en](https://ads.tiktok.com/help/article/about-smart-plus-campaign?lang=en)
418
-
419
- 23. Complete TikTok Ads Guide 2026 | $37B Opportunity - ALM Corp, accessed February 10, 2026, [https://almcorp.com/blog/tiktok-ads-guide-2026-creator-economy-opportunity/](https://almcorp.com/blog/tiktok-ads-guide-2026-creator-economy-opportunity/)
420
-
421
- 24. Understanding TikTok API Rate Limits - TikTok for Developers, accessed February 10, 2026, [https://developers.tiktok.com/doc/tiktok-api-v2-rate-limit?enter_method=left_navigation](https://developers.tiktok.com/doc/tiktok-api-v2-rate-limit?enter_method=left_navigation)
422
-
423
- 25. LinkedIn Thought Leader Ads: The Ultimate Guide for 2026 - ZenABM, accessed February 10, 2026, [https://zenabm.com/blog/linkedin-thought-leader-ads-ultimate-guide](https://zenabm.com/blog/linkedin-thought-leader-ads-ultimate-guide)
424
-
425
- 26. LinkedIn Thought Leadership Ads Strategy | B2B Marketing 2026, accessed February 10, 2026, [https://impactable.com/the-ultimate-linkedin-thought-leadership-ads-strategy-for-b2b-marketers-2025/](https://impactable.com/the-ultimate-linkedin-thought-leadership-ads-strategy-for-b2b-marketers-2025/)
426
-
427
- 27. Linkedin Ad Benchmarks 2026 - An Always Up-to-date Guide ..., accessed February 10, 2026, [https://www.theb2bhouse.com/linkedin-ad-benchmarks/](https://www.theb2bhouse.com/linkedin-ad-benchmarks/)
428
-
429
- 28. 12 LinkedIn ad stats you need to know for 2026 | Lever Digital, accessed February 10, 2026, [https://www.leverdigital.co.uk/post/12-linkedin-ad-stats-you-need-to-know](https://www.leverdigital.co.uk/post/12-linkedin-ad-stats-you-need-to-know)
430
-
431
- 29. Performance Max updates and other updates for October - Microsoft Advertising, accessed February 10, 2026, [https://about.ads.microsoft.com/en/blog/post/october-2024/performance-max-updates-and-other-updates-for-october](https://about.ads.microsoft.com/en/blog/post/october-2024/performance-max-updates-and-other-updates-for-october)
432
-
433
- 30. Google Ads benchmarks by industry in 2026 - Usermaven, accessed February 10, 2026, [https://usermaven.com/blog/google-ads-benchmarks](https://usermaven.com/blog/google-ads-benchmarks)
434
-
435
- 31. 2026 PPC Benchmarks: CPL, CPC, ROAS, and More by Industry, accessed February 10, 2026, [https://www.webfx.com/blog/marketing/ppc-benchmarks-to-know/](https://www.webfx.com/blog/marketing/ppc-benchmarks-to-know/)
436
-
437
- 32. Top 8 Advertising Benchmarks for SaaS in 2026 | Lever Digital, accessed February 10, 2026, [https://www.leverdigital.co.uk/post/top-10-advertising-benchmarks-for-saas](https://www.leverdigital.co.uk/post/top-10-advertising-benchmarks-for-saas)
438
-
439
- 33. Google Ads 2026 Strategy & Automation for Better Performance, accessed February 10, 2026, [https://www.rebid.co/google-ads-2026-account-structure-automation/](https://www.rebid.co/google-ads-2026-account-structure-automation/)
440
-
441
- 34. Google Ads Account-Level Placement Exclusions: Complete 2026 ..., accessed February 10, 2026, [https://almcorp.com/blog/google-ads-account-level-placement-exclusions-guide/](https://almcorp.com/blog/google-ads-account-level-placement-exclusions-guide/)
442
-
443
- 35. The Local Service Ads Playbook: A No-Nonsense Guide to Google's Pay-Per-Lead Model (Updated for... - Medium, accessed February 10, 2026, [https://medium.com/@SEQ_Den/the-local-service-ads-playbook-a-no-nonsense-guide-to-googles-pay-per-lead-model-updated-for-beb8e431ce57](https://medium.com/@SEQ_Den/the-local-service-ads-playbook-a-no-nonsense-guide-to-googles-pay-per-lead-model-updated-for-beb8e431ce57)
444
-
445
- 36. Access levels and RMF | Google Ads API | Google for Developers, accessed February 10, 2026, [https://developers.google.com/google-ads/api/docs/productionize/access-levels](https://developers.google.com/google-ads/api/docs/productionize/access-levels)
@@ -1,170 +0,0 @@
1
- # IDE Capability Comparison Matrix
2
-
3
- Complete comparison of all supported IDEs. Profiles at `/packages/cli/src/core/profiles/`.
4
-
5
- ## Core Capabilities
6
-
7
- | Capability | Claude Code | Cursor | Windsurf | Codex |
8
- |---|---|---|---|---|
9
- | **File Operations** | ✅ Native tools | ✅ read_file, edit_file | ✅ Native | ⚠️ Via skills |
10
- | **Shell Execution** | ✅ Bash tool | ✅ run_terminal_cmd | ✅ run_command | ⚠️ Via sandbox |
11
- | **File Search** | ✅ Glob, Grep | ✅ codebase_search, grep_search | ✅ search_files, search_codebase | ⚠️ Via sandbox |
12
- | **Interactive Input** | ✅ Structured (AskUserQuestion) | ⚠️ Conversational | ⚠️ Conversational | ⚠️ Text-only |
13
- | **Sub-Agents** | ✅ Task tool | ✅ Async native agents | ⚠️ Cascades + chaining | ❌ Cannot nest |
14
- | **Nested Sub-Agents** | ✅ Full nesting | ✅ Full nesting | ❌ Parallel only | ❌ None |
15
-
16
- ## Planning & Execution
17
-
18
- | Capability | Claude Code | Cursor | Windsurf | Codex |
19
- |---|---|---|---|---|
20
- | **Plan Mode** | ✅ EnterPlanMode/ExitPlanMode | ✅ Native | ✅ Native + "megaplan" | ❌ None |
21
- | **Plan Editing** | ✅ User can edit | ✅ User can edit | ✅ User can edit | N/A |
22
- | **Persistent Plans** | ✅ Yes | ✅ Yes | ✅ ~/.windsurf/plans/ | N/A |
23
-
24
- ## Lifecycle & Hooks
25
-
26
- | Hook Event | Claude Code | Cursor | Windsurf | Codex |
27
- |---|---|---|---|---|
28
- | **SessionStart** | ✅ | ❌ | ❌ | ❌ |
29
- | **PreToolUse** | ✅ | ❌ | ❌ | ❌ |
30
- | **PostToolUse** | ✅ | ❌ | ❌ | ❌ |
31
- | **beforeSubmitPrompt** | ❌ | ✅ | ❌ | ❌ |
32
- | **beforeShellExecution** | ❌ | ✅ | ❌ | ❌ |
33
- | **beforeMCPExecution** | ❌ | ✅ | ❌ | ❌ |
34
- | **beforeReadFile** | ❌ | ✅ | ❌ | ❌ |
35
- | **afterFileEdit** | ❌ | ✅ | ❌ | ❌ |
36
- | **pre_read_code** | ❌ | ❌ | ✅ | ❌ |
37
- | **post_read_code** | ❌ | ❌ | ✅ | ❌ |
38
- | **pre_write_code** | ❌ | ❌ | ✅ | ❌ |
39
- | **post_write_code** | ❌ | ❌ | ✅ | ❌ |
40
- | **pre_run_command** | ❌ | ❌ | ✅ | ❌ |
41
- | **post_run_command** | ❌ | ❌ | ✅ | ❌ |
42
- | **pre_mcp_tool_use** | ❌ | ❌ | ✅ | ❌ |
43
- | **post_mcp_tool_use** | ❌ | ❌ | ✅ | ❌ |
44
- | **pre_user_prompt** | ❌ | ❌ | ✅ | ❌ |
45
- | **post_cascade_response** | ❌ | ❌ | ✅ | ❌ |
46
- | **post_setup_worktree** | ❌ | ❌ | ✅ | ❌ |
47
- | **Total Hook Events** | 5 | 6 | 11 | 0 |
48
-
49
- **Status**: SessionStart, PreToolUse, PostToolUse (Claude Code); beforeSubmitPrompt, beforeShellExecution, beforeMCPExecution, beforeReadFile, afterFileEdit (Cursor); stop hook (all IDEs)
50
-
51
- ## External Integration
52
-
53
- | Capability | Claude Code | Cursor | Windsurf | Codex |
54
- |---|---|---|---|---|
55
- | **Web Search** | ✅ WebSearch | ✅ web_search + @web | ✅ web_search | ❌ |
56
- | **Web Fetch** | ✅ WebFetch | ✅ @web + MCP | ✅ url_read, view_chunk | ❌ |
57
- | **MCP Support** | ✅ Full | ✅ Full | ✅ Full | ✅ Extension |
58
- | **MCP Tool Cap** | **0 (unlimited)** | **40** | **100** | **0 (unlimited)** |
59
- | **Browser** | ✅ Playwright MCP | ✅ Native browser (v2.0+) | ✅ Browser Preview | ⚠️ Limited |
60
-
61
- ## Collaboration & Tracking
62
-
63
- | Capability | Claude Code | Cursor | Windsurf | Codex |
64
- |---|---|---|---|---|
65
- | **Task Tracking** | ✅ TaskCreate/Update/List | ❌ Plan checklists only | ❌ Conversation-embedded | ❌ None |
66
- | **Persistent Tasks** | ✅ Yes | ❌ | ❌ | ❌ |
67
- | **Git Worktrees** | ✅ EnterWorktree | ⚠️ Background agents use branches | ✅ Native (up to 20) | ⚠️ Manual |
68
- | **Parallel Execution** | ⚠️ Sequential Tasks | ✅ Async subagents | ✅ @cascade worktrees | ❌ |
69
-
70
- ## Configuration Paths
71
-
72
- | Item | Claude Code | Cursor | Windsurf | Codex |
73
- |---|---|---|---|---|
74
- | **Config Dir** | `.claude/` | `.cursor/` | `.windsurf/` | `.codex/` |
75
- | **Commands** | `.claude/commands/agileflow/` | `.cursor/commands/` | `.windsurf/workflows/` | N/A |
76
- | **Agents** | `.claude/agents/agileflow/` | `.cursor/agents/` | N/A (use workflows) | N/A |
77
- | **Skills** | `.claude/skills/` | N/A (use agents) | `.windsurf/skills/*/` | `.codex/skills/agileflow-*/` |
78
- | **Rules** | N/A | `.cursor/rules/` (MDC) | `.windsurf/rules/` | N/A |
79
- | **Hooks Config** | `.claude/settings.json` | `.cursor/hooks.json` | `.windsurf/hooks.json` | N/A |
80
- | **MCP Config** | `.claude/settings.json` | `.cursor/mcp.json` | `~/.codeium/windsurf/mcp_config.json` | N/A |
81
- | **Instructions** | `CLAUDE.md` | `CURSOR.md` | `WINDSURF.md` | `AGENTS.md` |
82
-
83
- ## Limits & Constraints
84
-
85
- | Constraint | Claude Code | Cursor | Windsurf | Codex |
86
- |---|---|---|---|---|
87
- | **Max File Size** | Unlimited | Unlimited | Unlimited | Unlimited |
88
- | **Max Command Length** | Unlimited | Unlimited | Unlimited | Unlimited |
89
- | **Workflow Size** | N/A | N/A | **12,000 chars** | N/A |
90
- | **MCP Tools** | 0 (unlimited) | **40** | 100 | 0 (unlimited) |
91
- | **Git Worktrees** | Via tool | Via branches | Up to 20 | Manual |
92
- | **Parallel Agents** | Sequential | Unlimited | Via @cascade | No nesting |
93
-
94
- **Key constraint**: Cursor's 40-tool MCP limit is the binding constraint for multi-IDE installations.
95
-
96
- ## AgileFlow Feature Support
97
-
98
- | Feature | Claude Code | Cursor | Windsurf | Codex |
99
- |---|---|---|---|---|
100
- | **/agileflow:babysit** | ✅ Full | ⚠️ Conversational input | ⚠️ Conversational input | ❌ Limited |
101
- | **AskUserQuestion** | ✅ Structured menus | ❌ Fallback to text | ❌ Fallback to text | ✅ Text-only |
102
- | **Task delegation** | ✅ Task tool | ✅ Async agents | ⚠️ Workflow chaining | ❌ Skill suggestions |
103
- | **Plan mode hooks** | ✅ Full integration | ✅ Native mode | ✅ Native mode | ❌ None |
104
- | **Sub-agent nesting** | ✅ Full support | ✅ Full support | ⚠️ Parallel only | ❌ None |
105
- | **Persistent task list** | ✅ Yes | ❌ | ❌ | ❌ |
106
- | **Async execution** | ❌ Sequential | ✅ Native | ⚠️ @cascade | ❌ |
107
-
108
- ## Implementation Notes
109
-
110
- ### Claude Code
111
- - **Recommended target** for new AgileFlow features
112
- - All capabilities validated here first
113
- - Full support for structured user interaction
114
- - No tool limits for multi-IDE deployments
115
-
116
- ### Cursor
117
- - **Fast-follower to Claude Code** (v2.5 Feb 2026)
118
- - Async native agents eliminate need for Task tool
119
- - 40-tool MCP cap is **binding constraint** for all IDEs
120
- - No AskUserQuestion - replace with numbered text prompts
121
- - Plan mode fully native (no enter/exit needed)
122
-
123
- ### Windsurf
124
- - **Most hook events** (11 total) but most restrictive
125
- - **No true sub-agent spawning** - use workflow chaining or @cascade
126
- - **12,000 char limit per workflow** - must split large commands
127
- - **Global MCP config only** - no project-level customization
128
- - Native worktrees (up to 20)
129
- - Browser preview built-in to IDE
130
-
131
- ### Codex
132
- - **Most restrictive** - use as minimum baseline
133
- - Skills cannot spawn other skills (no delegation)
134
- - No plan mode, hooks, or task tracking
135
- - Text-only user input
136
- - Best for linear workflows only
137
-
138
- ## Multi-IDE Deployment Strategy
139
-
140
- **Canonical source**: Claude Code format
141
- **Generation**: Read IDE profile → Transform to IDE-native format
142
- **MCP constraint**: Cap at 40 tools (Cursor's limit) for consistency
143
-
144
- **Fallback order when feature unavailable**:
145
- 1. Use native IDE equivalent (if exists)
146
- 2. Replace with text-based alternative
147
- 3. Document limitation in profile
148
-
149
- **Example - AskUserQuestion replacement**:
150
- ```
151
- Claude Code:
152
- AskUserQuestion(options=[{label: "Yes"}, {label: "No"}])
153
-
154
- Cursor/Windsurf:
155
- Would you like to continue? (Type "Yes" or "No")
156
-
157
- Codex:
158
- Please choose:
159
- 1. Yes
160
- 2. No
161
- ```
162
-
163
- ## Version Support
164
-
165
- - **Claude Code**: Latest (no version pinning)
166
- - **Cursor**: v2.5+ (Feb 2026)
167
- - **Windsurf**: Wave 13+ (native worktrees, 11 hooks)
168
- - **Codex**: Latest (limited feature set)
169
-
170
- Last updated: 2026-02-20 | Source: Cross-IDE Compatibility Findings