agileflow 3.4.3 → 4.0.0-alpha.2

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 (762) hide show
  1. package/CHANGELOG.md +238 -473
  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/babysit-mentor-injector.js +55 -0
  13. package/content/plugins/core/hooks/context-loader.js +169 -0
  14. package/content/plugins/core/hooks/damage-control-bash.js +78 -0
  15. package/content/plugins/core/hooks/damage-control-edit.js +76 -0
  16. package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
  17. package/content/plugins/core/hooks/damage-control-write.js +72 -0
  18. package/content/plugins/core/hooks/pre-compact-state.js +90 -0
  19. package/content/plugins/core/hooks/session-welcome.js +19 -0
  20. package/content/plugins/core/plugin.yaml +82 -0
  21. package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
  22. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
  23. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
  24. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
  25. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
  26. package/content/plugins/council/plugin.yaml +14 -0
  27. package/content/plugins/seo/plugin.yaml +14 -0
  28. package/package.json +29 -49
  29. package/src/cli/commands/doctor.js +159 -0
  30. package/src/cli/commands/hook.js +80 -0
  31. package/src/cli/commands/setup.js +292 -0
  32. package/src/cli/commands/status.js +47 -0
  33. package/src/cli/commands/update.js +83 -0
  34. package/src/cli/index.js +73 -0
  35. package/src/cli/wizard/behaviors-picker.js +108 -0
  36. package/src/cli/wizard/ide-picker.js +57 -0
  37. package/src/cli/wizard/personalization.js +64 -0
  38. package/src/cli/wizard/plugin-picker.js +106 -0
  39. package/src/lib/hash.js +41 -0
  40. package/src/runtime/config/defaults.js +61 -0
  41. package/src/runtime/config/loader.js +117 -0
  42. package/src/runtime/config/schema.json +99 -0
  43. package/src/runtime/config/writer.js +55 -0
  44. package/src/runtime/hooks/aggregator.js +157 -0
  45. package/src/runtime/hooks/chain.js +93 -0
  46. package/src/runtime/hooks/logger.js +68 -0
  47. package/src/runtime/hooks/manifest-loader.js +228 -0
  48. package/src/runtime/hooks/orchestrator.js +322 -0
  49. package/src/runtime/ide/capabilities.js +111 -0
  50. package/src/runtime/ide/claude-code-settings.js +234 -0
  51. package/src/runtime/ide/claude-code-skills.js +202 -0
  52. package/src/runtime/installer/file-index.js +112 -0
  53. package/src/runtime/installer/install.js +329 -0
  54. package/src/runtime/installer/stash.js +61 -0
  55. package/src/runtime/installer/sync-engine.js +205 -0
  56. package/src/runtime/plugins/registry.js +132 -0
  57. package/src/runtime/plugins/resolver.js +138 -0
  58. package/src/runtime/plugins/validator.js +196 -0
  59. package/src/runtime/skills/validator.js +335 -0
  60. package/lib/README.md +0 -178
  61. package/lib/api-routes.js +0 -625
  62. package/lib/api-server.js +0 -278
  63. package/lib/cache-provider.js +0 -155
  64. package/lib/codebase-indexer.js +0 -819
  65. package/lib/colors.generated.js +0 -117
  66. package/lib/colors.js +0 -341
  67. package/lib/consent.js +0 -232
  68. package/lib/content-sanitizer.js +0 -464
  69. package/lib/correlation.js +0 -277
  70. package/lib/drivers/claude-driver.ts +0 -312
  71. package/lib/drivers/codex-driver.ts +0 -464
  72. package/lib/drivers/driver-manager.ts +0 -159
  73. package/lib/drivers/gemini-driver.ts +0 -498
  74. package/lib/drivers/index.ts +0 -17
  75. package/lib/error-codes.js +0 -590
  76. package/lib/errors.js +0 -670
  77. package/lib/feature-flags.js +0 -171
  78. package/lib/feedback.js +0 -595
  79. package/lib/file-cache.js +0 -541
  80. package/lib/flag-detection.js +0 -344
  81. package/lib/format-error.js +0 -156
  82. package/lib/gate-runner.js +0 -282
  83. package/lib/generator-factory.js +0 -333
  84. package/lib/git-operations.js +0 -266
  85. package/lib/lazy-require.js +0 -59
  86. package/lib/lock-file.js +0 -144
  87. package/lib/logger.js +0 -106
  88. package/lib/merge-operations.js +0 -1006
  89. package/lib/path-resolver.js +0 -544
  90. package/lib/path-utils.js +0 -49
  91. package/lib/paths.js +0 -291
  92. package/lib/placeholder-registry.js +0 -822
  93. package/lib/process-executor.js +0 -214
  94. package/lib/progress.js +0 -334
  95. package/lib/protocol/driver.ts +0 -354
  96. package/lib/protocol/index.ts +0 -12
  97. package/lib/protocol/ir.ts +0 -271
  98. package/lib/registry-cache.js +0 -80
  99. package/lib/registry-di.js +0 -358
  100. package/lib/result-schema.js +0 -363
  101. package/lib/result.js +0 -210
  102. package/lib/session-display.js +0 -331
  103. package/lib/session-operations.js +0 -611
  104. package/lib/session-registry.js +0 -484
  105. package/lib/session-state-machine.js +0 -465
  106. package/lib/session-switching.js +0 -191
  107. package/lib/skill-loader.js +0 -213
  108. package/lib/smart-json-file.js +0 -682
  109. package/lib/state-machine.js +0 -286
  110. package/lib/table-formatter.js +0 -519
  111. package/lib/template-loader.js +0 -143
  112. package/lib/transient-status.js +0 -374
  113. package/lib/ui-manager.js +0 -612
  114. package/lib/validate-args.js +0 -213
  115. package/lib/validate-commands.js +0 -308
  116. package/lib/validate-names.js +0 -143
  117. package/lib/validate-paths.js +0 -434
  118. package/lib/validate.js +0 -134
  119. package/lib/worktree-operations.js +0 -201
  120. package/lib/yaml-utils.js +0 -164
  121. package/scripts/README.md +0 -267
  122. package/scripts/af +0 -34
  123. package/scripts/agent-loop.js +0 -879
  124. package/scripts/agileflow-configure.js +0 -368
  125. package/scripts/agileflow-statusline.sh +0 -857
  126. package/scripts/agileflow-welcome.js +0 -2246
  127. package/scripts/api-server-runner.js +0 -177
  128. package/scripts/archive-completed-stories.sh +0 -308
  129. package/scripts/auto-self-improve.js +0 -326
  130. package/scripts/automation-run-due.js +0 -128
  131. package/scripts/babysit-clear-restore.js +0 -154
  132. package/scripts/babysit-context-restore.js +0 -89
  133. package/scripts/backfill-ideation-status.js +0 -128
  134. package/scripts/batch-pmap-loop.js +0 -551
  135. package/scripts/check-sessions.js +0 -116
  136. package/scripts/check-update.js +0 -282
  137. package/scripts/ci-summary.js +0 -294
  138. package/scripts/claude-smart.sh +0 -85
  139. package/scripts/claude-tmux.sh +0 -737
  140. package/scripts/claude-watchdog.sh +0 -225
  141. package/scripts/clear-active-command.js +0 -48
  142. package/scripts/compress-status.sh +0 -116
  143. package/scripts/context-loader.js +0 -310
  144. package/scripts/damage-control/bash-tool-damage-control.js +0 -22
  145. package/scripts/damage-control/edit-tool-damage-control.js +0 -19
  146. package/scripts/damage-control/patterns.yaml +0 -227
  147. package/scripts/damage-control/write-tool-damage-control.js +0 -19
  148. package/scripts/damage-control-bash.js +0 -51
  149. package/scripts/damage-control-edit.js +0 -48
  150. package/scripts/damage-control-multi-agent.js +0 -231
  151. package/scripts/damage-control-write.js +0 -48
  152. package/scripts/dependency-check.js +0 -311
  153. package/scripts/document-repl.js +0 -793
  154. package/scripts/expertise-metrics.sh +0 -264
  155. package/scripts/generate-all.sh +0 -77
  156. package/scripts/generate-colors.js +0 -314
  157. package/scripts/generators/agent-registry.js +0 -183
  158. package/scripts/generators/command-registry.js +0 -166
  159. package/scripts/generators/index.js +0 -85
  160. package/scripts/generators/inject-babysit.js +0 -191
  161. package/scripts/generators/inject-help.js +0 -125
  162. package/scripts/generators/inject-readme.js +0 -166
  163. package/scripts/generators/skill-registry.js +0 -188
  164. package/scripts/get-env.js +0 -225
  165. package/scripts/init.sh +0 -76
  166. package/scripts/lib/README-portable-tasks.md +0 -424
  167. package/scripts/lib/ac-test-matcher.js +0 -452
  168. package/scripts/lib/audit-cleanup.js +0 -250
  169. package/scripts/lib/audit-registry.js +0 -340
  170. package/scripts/lib/automation-registry.js +0 -544
  171. package/scripts/lib/automation-runner.js +0 -476
  172. package/scripts/lib/browser-qa-evidence.js +0 -409
  173. package/scripts/lib/browser-qa-status.js +0 -192
  174. package/scripts/lib/bus-utils.js +0 -473
  175. package/scripts/lib/colors.generated.sh +0 -82
  176. package/scripts/lib/colors.sh +0 -46
  177. package/scripts/lib/command-prereqs.js +0 -280
  178. package/scripts/lib/concurrency-limiter.js +0 -511
  179. package/scripts/lib/configure-detect.js +0 -596
  180. package/scripts/lib/configure-features.js +0 -1927
  181. package/scripts/lib/configure-repair.js +0 -327
  182. package/scripts/lib/configure-utils.js +0 -114
  183. package/scripts/lib/context-formatter.js +0 -1158
  184. package/scripts/lib/context-loader.js +0 -840
  185. package/scripts/lib/counter.js +0 -103
  186. package/scripts/lib/damage-control-utils.js +0 -619
  187. package/scripts/lib/feature-catalog.js +0 -332
  188. package/scripts/lib/file-lock.js +0 -392
  189. package/scripts/lib/file-tracking.js +0 -735
  190. package/scripts/lib/frontmatter-parser.js +0 -133
  191. package/scripts/lib/gate-enforcer.js +0 -295
  192. package/scripts/lib/hook-metrics.js +0 -324
  193. package/scripts/lib/ideation-index.js +0 -1205
  194. package/scripts/lib/json-utils.sh +0 -162
  195. package/scripts/lib/lifecycle-detector.js +0 -125
  196. package/scripts/lib/model-profiles.js +0 -118
  197. package/scripts/lib/portable-tasks-cli.js +0 -274
  198. package/scripts/lib/portable-tasks.js +0 -479
  199. package/scripts/lib/process-cleanup.js +0 -527
  200. package/scripts/lib/quality-gates.js +0 -788
  201. package/scripts/lib/scale-detector.js +0 -396
  202. package/scripts/lib/sessionRegistry.js +0 -678
  203. package/scripts/lib/signal-detectors.js +0 -867
  204. package/scripts/lib/skill-catalog.js +0 -557
  205. package/scripts/lib/skill-recommender.js +0 -311
  206. package/scripts/lib/state-migrator.js +0 -353
  207. package/scripts/lib/status-task-bridge.js +0 -522
  208. package/scripts/lib/status-writer.js +0 -255
  209. package/scripts/lib/story-claiming.js +0 -704
  210. package/scripts/lib/story-state-machine.js +0 -437
  211. package/scripts/lib/sync-ideation-status.js +0 -291
  212. package/scripts/lib/task-registry-cache.js +0 -490
  213. package/scripts/lib/task-registry.js +0 -1191
  214. package/scripts/lib/task-sync.js +0 -230
  215. package/scripts/lib/tdd-phase-manager.js +0 -455
  216. package/scripts/lib/team-events.js +0 -510
  217. package/scripts/lib/tmux-audit-monitor.js +0 -612
  218. package/scripts/lib/tmux-group-colors.js +0 -113
  219. package/scripts/lib/tool-registry.yaml +0 -241
  220. package/scripts/lib/tool-shed.js +0 -441
  221. package/scripts/lib/validation-registry.js +0 -177
  222. package/scripts/messaging-bridge.js +0 -561
  223. package/scripts/migrate-ideation-index.js +0 -553
  224. package/scripts/native-team-observer.js +0 -219
  225. package/scripts/obtain-context.js +0 -272
  226. package/scripts/pre-push-check.sh +0 -46
  227. package/scripts/precompact-context.sh +0 -306
  228. package/scripts/query-codebase.js +0 -543
  229. package/scripts/ralph-loop.js +0 -1278
  230. package/scripts/resume-session.sh +0 -121
  231. package/scripts/screenshot-verifier.js +0 -215
  232. package/scripts/session-boundary.js +0 -138
  233. package/scripts/session-coordinator.sh +0 -232
  234. package/scripts/session-manager.js +0 -546
  235. package/scripts/smart-detect.js +0 -449
  236. package/scripts/spawn-audit-sessions.js +0 -877
  237. package/scripts/spawn-parallel.js +0 -751
  238. package/scripts/strip-ai-attribution.js +0 -63
  239. package/scripts/task-completed-gate.js +0 -237
  240. package/scripts/team-manager.js +0 -596
  241. package/scripts/team-status-display.js +0 -200
  242. package/scripts/teammate-idle-gate.js +0 -237
  243. package/scripts/test-session-boundary.js +0 -80
  244. package/scripts/tmux-close-windows.sh +0 -180
  245. package/scripts/tmux-restore-window.sh +0 -67
  246. package/scripts/tmux-save-closed-window.sh +0 -35
  247. package/scripts/tui/App.js +0 -151
  248. package/scripts/tui/Dashboard.js +0 -277
  249. package/scripts/tui/blessed/data/watcher.js +0 -180
  250. package/scripts/tui/blessed/index.js +0 -244
  251. package/scripts/tui/blessed/panels/output.js +0 -101
  252. package/scripts/tui/blessed/panels/sessions.js +0 -150
  253. package/scripts/tui/blessed/panels/trace.js +0 -97
  254. package/scripts/tui/blessed/ui/help.js +0 -77
  255. package/scripts/tui/blessed/ui/screen.js +0 -52
  256. package/scripts/tui/blessed/ui/statusbar.js +0 -47
  257. package/scripts/tui/blessed/ui/tabbar.js +0 -99
  258. package/scripts/tui/index.js +0 -70
  259. package/scripts/tui/lib/crashRecovery.js +0 -304
  260. package/scripts/tui/lib/eventStream.js +0 -309
  261. package/scripts/tui/lib/keyboard.js +0 -261
  262. package/scripts/tui/lib/loopControl.js +0 -371
  263. package/scripts/tui/panels/OutputPanel.js +0 -240
  264. package/scripts/tui/panels/SessionPanel.js +0 -170
  265. package/scripts/tui/panels/TracePanel.js +0 -298
  266. package/scripts/tui/simple-tui.js +0 -510
  267. package/scripts/validate-expertise.sh +0 -263
  268. package/scripts/validate-tokens.sh +0 -73
  269. package/scripts/validators/README.md +0 -143
  270. package/scripts/validators/component-validator.js +0 -239
  271. package/scripts/validators/json-schema-validator.js +0 -186
  272. package/scripts/validators/markdown-validator.js +0 -152
  273. package/scripts/validators/migration-validator.js +0 -129
  274. package/scripts/validators/security-validator.js +0 -380
  275. package/scripts/validators/story-format-validator.js +0 -197
  276. package/scripts/validators/test-result-validator.js +0 -114
  277. package/scripts/validators/workflow-validator.js +0 -247
  278. package/scripts/welcome-deferred.js +0 -437
  279. package/scripts/worktree-create.sh +0 -111
  280. package/src/core/agents/a11y-analyzer-aria.md +0 -155
  281. package/src/core/agents/a11y-analyzer-forms.md +0 -162
  282. package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
  283. package/src/core/agents/a11y-analyzer-semantic.md +0 -153
  284. package/src/core/agents/a11y-analyzer-visual.md +0 -158
  285. package/src/core/agents/a11y-consensus.md +0 -248
  286. package/src/core/agents/accessibility.md +0 -515
  287. package/src/core/agents/adr-writer.md +0 -463
  288. package/src/core/agents/ads-audit-budget.md +0 -181
  289. package/src/core/agents/ads-audit-compliance.md +0 -169
  290. package/src/core/agents/ads-audit-creative.md +0 -164
  291. package/src/core/agents/ads-audit-google.md +0 -226
  292. package/src/core/agents/ads-audit-meta.md +0 -183
  293. package/src/core/agents/ads-audit-tracking.md +0 -197
  294. package/src/core/agents/ads-consensus.md +0 -396
  295. package/src/core/agents/ads-generate.md +0 -145
  296. package/src/core/agents/ads-performance-tracker.md +0 -197
  297. package/src/core/agents/analytics.md +0 -617
  298. package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
  299. package/src/core/agents/api-quality-analyzer-docs.md +0 -176
  300. package/src/core/agents/api-quality-analyzer-errors.md +0 -183
  301. package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
  302. package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
  303. package/src/core/agents/api-quality-consensus.md +0 -214
  304. package/src/core/agents/api-validator.md +0 -183
  305. package/src/core/agents/api.md +0 -665
  306. package/src/core/agents/arch-analyzer-circular.md +0 -148
  307. package/src/core/agents/arch-analyzer-complexity.md +0 -171
  308. package/src/core/agents/arch-analyzer-coupling.md +0 -146
  309. package/src/core/agents/arch-analyzer-layering.md +0 -151
  310. package/src/core/agents/arch-analyzer-patterns.md +0 -162
  311. package/src/core/agents/arch-consensus.md +0 -227
  312. package/src/core/agents/brainstorm-analyzer-features.md +0 -169
  313. package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
  314. package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
  315. package/src/core/agents/brainstorm-analyzer-market.md +0 -147
  316. package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
  317. package/src/core/agents/brainstorm-consensus.md +0 -237
  318. package/src/core/agents/browser-qa.md +0 -328
  319. package/src/core/agents/ci.md +0 -511
  320. package/src/core/agents/code-reviewer.md +0 -288
  321. package/src/core/agents/codebase-query.md +0 -266
  322. package/src/core/agents/completeness-analyzer-api.md +0 -190
  323. package/src/core/agents/completeness-analyzer-conditional.md +0 -201
  324. package/src/core/agents/completeness-analyzer-handlers.md +0 -159
  325. package/src/core/agents/completeness-analyzer-imports.md +0 -159
  326. package/src/core/agents/completeness-analyzer-routes.md +0 -182
  327. package/src/core/agents/completeness-analyzer-state.md +0 -188
  328. package/src/core/agents/completeness-analyzer-stubs.md +0 -198
  329. package/src/core/agents/completeness-consensus.md +0 -286
  330. package/src/core/agents/compliance.md +0 -509
  331. package/src/core/agents/council-advocate.md +0 -206
  332. package/src/core/agents/council-analyst.md +0 -252
  333. package/src/core/agents/council-optimist.md +0 -170
  334. package/src/core/agents/database.md +0 -601
  335. package/src/core/agents/datamigration.md +0 -699
  336. package/src/core/agents/design.md +0 -525
  337. package/src/core/agents/devops.md +0 -720
  338. package/src/core/agents/documentation.md +0 -504
  339. package/src/core/agents/epic-planner.md +0 -480
  340. package/src/core/agents/error-analyzer.md +0 -201
  341. package/src/core/agents/integrations.md +0 -603
  342. package/src/core/agents/legal-analyzer-a11y.md +0 -110
  343. package/src/core/agents/legal-analyzer-ai.md +0 -117
  344. package/src/core/agents/legal-analyzer-consumer.md +0 -108
  345. package/src/core/agents/legal-analyzer-content.md +0 -113
  346. package/src/core/agents/legal-analyzer-international.md +0 -115
  347. package/src/core/agents/legal-analyzer-licensing.md +0 -115
  348. package/src/core/agents/legal-analyzer-privacy.md +0 -108
  349. package/src/core/agents/legal-analyzer-security.md +0 -112
  350. package/src/core/agents/legal-analyzer-terms.md +0 -111
  351. package/src/core/agents/legal-consensus.md +0 -242
  352. package/src/core/agents/logic-analyzer-edge.md +0 -170
  353. package/src/core/agents/logic-analyzer-flow.md +0 -253
  354. package/src/core/agents/logic-analyzer-invariant.md +0 -206
  355. package/src/core/agents/logic-analyzer-race.md +0 -266
  356. package/src/core/agents/logic-analyzer-type.md +0 -217
  357. package/src/core/agents/logic-consensus.md +0 -253
  358. package/src/core/agents/mentor.md +0 -654
  359. package/src/core/agents/mobile.md +0 -501
  360. package/src/core/agents/monitoring.md +0 -537
  361. package/src/core/agents/multi-expert.md +0 -311
  362. package/src/core/agents/orchestrator.md +0 -749
  363. package/src/core/agents/perf-analyzer-assets.md +0 -174
  364. package/src/core/agents/perf-analyzer-bundle.md +0 -165
  365. package/src/core/agents/perf-analyzer-caching.md +0 -160
  366. package/src/core/agents/perf-analyzer-compute.md +0 -165
  367. package/src/core/agents/perf-analyzer-memory.md +0 -182
  368. package/src/core/agents/perf-analyzer-network.md +0 -157
  369. package/src/core/agents/perf-analyzer-queries.md +0 -155
  370. package/src/core/agents/perf-analyzer-rendering.md +0 -156
  371. package/src/core/agents/perf-consensus.md +0 -280
  372. package/src/core/agents/performance.md +0 -492
  373. package/src/core/agents/product.md +0 -535
  374. package/src/core/agents/qa.md +0 -765
  375. package/src/core/agents/readme-updater.md +0 -579
  376. package/src/core/agents/refactor.md +0 -558
  377. package/src/core/agents/research.md +0 -453
  378. package/src/core/agents/rlm-subcore.md +0 -207
  379. package/src/core/agents/schema-validator.md +0 -454
  380. package/src/core/agents/security-analyzer-api.md +0 -199
  381. package/src/core/agents/security-analyzer-auth.md +0 -160
  382. package/src/core/agents/security-analyzer-authz.md +0 -168
  383. package/src/core/agents/security-analyzer-deps.md +0 -147
  384. package/src/core/agents/security-analyzer-infra.md +0 -176
  385. package/src/core/agents/security-analyzer-injection.md +0 -148
  386. package/src/core/agents/security-analyzer-input.md +0 -191
  387. package/src/core/agents/security-analyzer-secrets.md +0 -175
  388. package/src/core/agents/security-consensus.md +0 -276
  389. package/src/core/agents/security.md +0 -486
  390. package/src/core/agents/seo-analyzer-content.md +0 -167
  391. package/src/core/agents/seo-analyzer-images.md +0 -187
  392. package/src/core/agents/seo-analyzer-performance.md +0 -206
  393. package/src/core/agents/seo-analyzer-schema.md +0 -176
  394. package/src/core/agents/seo-analyzer-sitemap.md +0 -172
  395. package/src/core/agents/seo-analyzer-technical.md +0 -144
  396. package/src/core/agents/seo-consensus.md +0 -289
  397. package/src/core/agents/team-coordinator.md +0 -333
  398. package/src/core/agents/team-lead.md +0 -171
  399. package/src/core/agents/test-analyzer-assertions.md +0 -181
  400. package/src/core/agents/test-analyzer-coverage.md +0 -183
  401. package/src/core/agents/test-analyzer-fragility.md +0 -185
  402. package/src/core/agents/test-analyzer-integration.md +0 -155
  403. package/src/core/agents/test-analyzer-maintenance.md +0 -173
  404. package/src/core/agents/test-analyzer-mocking.md +0 -178
  405. package/src/core/agents/test-analyzer-patterns.md +0 -189
  406. package/src/core/agents/test-analyzer-structure.md +0 -177
  407. package/src/core/agents/test-consensus.md +0 -294
  408. package/src/core/agents/testing.md +0 -527
  409. package/src/core/agents/ui-validator.md +0 -331
  410. package/src/core/agents/ui.md +0 -1227
  411. package/src/core/commands/adr/list.md +0 -191
  412. package/src/core/commands/adr/update.md +0 -258
  413. package/src/core/commands/adr/view.md +0 -274
  414. package/src/core/commands/adr.md +0 -394
  415. package/src/core/commands/ads/audit.md +0 -453
  416. package/src/core/commands/ads/budget.md +0 -97
  417. package/src/core/commands/ads/competitor.md +0 -112
  418. package/src/core/commands/ads/creative.md +0 -85
  419. package/src/core/commands/ads/generate.md +0 -238
  420. package/src/core/commands/ads/google.md +0 -112
  421. package/src/core/commands/ads/health.md +0 -327
  422. package/src/core/commands/ads/landing.md +0 -119
  423. package/src/core/commands/ads/linkedin.md +0 -112
  424. package/src/core/commands/ads/meta.md +0 -91
  425. package/src/core/commands/ads/microsoft.md +0 -115
  426. package/src/core/commands/ads/plan.md +0 -321
  427. package/src/core/commands/ads/test-plan.md +0 -317
  428. package/src/core/commands/ads/tiktok.md +0 -129
  429. package/src/core/commands/ads/track.md +0 -288
  430. package/src/core/commands/ads/youtube.md +0 -124
  431. package/src/core/commands/ads.md +0 -140
  432. package/src/core/commands/agent.md +0 -256
  433. package/src/core/commands/api.md +0 -267
  434. package/src/core/commands/assign.md +0 -369
  435. package/src/core/commands/audit.md +0 -531
  436. package/src/core/commands/auto.md +0 -556
  437. package/src/core/commands/automate.md +0 -415
  438. package/src/core/commands/babysit.md +0 -643
  439. package/src/core/commands/baseline.md +0 -743
  440. package/src/core/commands/batch.md +0 -551
  441. package/src/core/commands/blockers.md +0 -602
  442. package/src/core/commands/board.md +0 -509
  443. package/src/core/commands/browser-qa.md +0 -240
  444. package/src/core/commands/changelog.md +0 -582
  445. package/src/core/commands/choose.md +0 -430
  446. package/src/core/commands/ci.md +0 -330
  447. package/src/core/commands/code/accessibility.md +0 -363
  448. package/src/core/commands/code/api.md +0 -313
  449. package/src/core/commands/code/architecture.md +0 -313
  450. package/src/core/commands/code/completeness.md +0 -519
  451. package/src/core/commands/code/legal.md +0 -509
  452. package/src/core/commands/code/logic.md +0 -432
  453. package/src/core/commands/code/performance.md +0 -506
  454. package/src/core/commands/code/security.md +0 -509
  455. package/src/core/commands/code/test.md +0 -505
  456. package/src/core/commands/compress.md +0 -408
  457. package/src/core/commands/configure.md +0 -1159
  458. package/src/core/commands/context/export.md +0 -296
  459. package/src/core/commands/context/full.md +0 -353
  460. package/src/core/commands/context/note.md +0 -380
  461. package/src/core/commands/council.md +0 -592
  462. package/src/core/commands/debt.md +0 -491
  463. package/src/core/commands/deploy.md +0 -864
  464. package/src/core/commands/deps.md +0 -728
  465. package/src/core/commands/diagnose.md +0 -404
  466. package/src/core/commands/docs.md +0 -469
  467. package/src/core/commands/epic/edit.md +0 -213
  468. package/src/core/commands/epic/list.md +0 -190
  469. package/src/core/commands/epic/view.md +0 -267
  470. package/src/core/commands/epic.md +0 -477
  471. package/src/core/commands/export.md +0 -238
  472. package/src/core/commands/feedback.md +0 -603
  473. package/src/core/commands/handoff.md +0 -386
  474. package/src/core/commands/help.md +0 -194
  475. package/src/core/commands/ideate/brief.md +0 -363
  476. package/src/core/commands/ideate/discover.md +0 -399
  477. package/src/core/commands/ideate/features.md +0 -497
  478. package/src/core/commands/ideate/history.md +0 -403
  479. package/src/core/commands/ideate/new.md +0 -900
  480. package/src/core/commands/impact.md +0 -407
  481. package/src/core/commands/install.md +0 -529
  482. package/src/core/commands/learn/explain.md +0 -118
  483. package/src/core/commands/learn/glossary.md +0 -135
  484. package/src/core/commands/learn/patterns.md +0 -138
  485. package/src/core/commands/learn/tour.md +0 -126
  486. package/src/core/commands/maintain.md +0 -558
  487. package/src/core/commands/metrics.md +0 -844
  488. package/src/core/commands/migrate/codemods.md +0 -151
  489. package/src/core/commands/migrate/plan.md +0 -131
  490. package/src/core/commands/migrate/scan.md +0 -114
  491. package/src/core/commands/migrate/validate.md +0 -119
  492. package/src/core/commands/multi-expert.md +0 -447
  493. package/src/core/commands/packages.md +0 -535
  494. package/src/core/commands/pr.md +0 -337
  495. package/src/core/commands/readme-sync.md +0 -329
  496. package/src/core/commands/research/analyze.md +0 -798
  497. package/src/core/commands/research/ask.md +0 -864
  498. package/src/core/commands/research/import.md +0 -1025
  499. package/src/core/commands/research/list.md +0 -273
  500. package/src/core/commands/research/synthesize.md +0 -928
  501. package/src/core/commands/research/view.md +0 -323
  502. package/src/core/commands/retro.md +0 -795
  503. package/src/core/commands/review.md +0 -694
  504. package/src/core/commands/rlm.md +0 -446
  505. package/src/core/commands/roadmap/analyze.md +0 -400
  506. package/src/core/commands/rpi.md +0 -633
  507. package/src/core/commands/seo/audit.md +0 -444
  508. package/src/core/commands/seo/competitor.md +0 -174
  509. package/src/core/commands/seo/content.md +0 -107
  510. package/src/core/commands/seo/geo.md +0 -229
  511. package/src/core/commands/seo/hreflang.md +0 -140
  512. package/src/core/commands/seo/images.md +0 -96
  513. package/src/core/commands/seo/page.md +0 -198
  514. package/src/core/commands/seo/plan.md +0 -163
  515. package/src/core/commands/seo/programmatic.md +0 -131
  516. package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
  517. package/src/core/commands/seo/references/eeat-framework.md +0 -110
  518. package/src/core/commands/seo/references/quality-gates.md +0 -91
  519. package/src/core/commands/seo/references/schema-types.md +0 -102
  520. package/src/core/commands/seo/schema.md +0 -183
  521. package/src/core/commands/seo/sitemap.md +0 -97
  522. package/src/core/commands/seo/technical.md +0 -100
  523. package/src/core/commands/seo.md +0 -107
  524. package/src/core/commands/session/cleanup.md +0 -452
  525. package/src/core/commands/session/end.md +0 -865
  526. package/src/core/commands/session/history.md +0 -293
  527. package/src/core/commands/session/init.md +0 -210
  528. package/src/core/commands/session/new.md +0 -827
  529. package/src/core/commands/session/resume.md +0 -291
  530. package/src/core/commands/session/spawn.md +0 -205
  531. package/src/core/commands/session/status.md +0 -274
  532. package/src/core/commands/skill/list.md +0 -139
  533. package/src/core/commands/skill/recommend.md +0 -216
  534. package/src/core/commands/sprint.md +0 -714
  535. package/src/core/commands/status/undo.md +0 -191
  536. package/src/core/commands/status.md +0 -423
  537. package/src/core/commands/story/edit.md +0 -204
  538. package/src/core/commands/story/list.md +0 -199
  539. package/src/core/commands/story/view.md +0 -312
  540. package/src/core/commands/story-validate.md +0 -491
  541. package/src/core/commands/story.md +0 -465
  542. package/src/core/commands/tdd-next.md +0 -238
  543. package/src/core/commands/tdd.md +0 -211
  544. package/src/core/commands/team/guide.md +0 -688
  545. package/src/core/commands/team/list.md +0 -59
  546. package/src/core/commands/team/start.md +0 -130
  547. package/src/core/commands/team/status.md +0 -66
  548. package/src/core/commands/team/stop.md +0 -78
  549. package/src/core/commands/template.md +0 -644
  550. package/src/core/commands/tests.md +0 -731
  551. package/src/core/commands/update.md +0 -591
  552. package/src/core/commands/validate-expertise.md +0 -305
  553. package/src/core/commands/velocity.md +0 -630
  554. package/src/core/commands/verify.md +0 -534
  555. package/src/core/commands/whats-new.md +0 -201
  556. package/src/core/commands/workflow.md +0 -449
  557. package/src/core/council/sessions/.gitkeep +0 -0
  558. package/src/core/council/shared_reasoning.template.md +0 -106
  559. package/src/core/experts/README.md +0 -236
  560. package/src/core/experts/_core-expertise.yaml +0 -105
  561. package/src/core/experts/accessibility/expertise.yaml +0 -115
  562. package/src/core/experts/accessibility/question.md +0 -41
  563. package/src/core/experts/accessibility/self-improve.md +0 -45
  564. package/src/core/experts/accessibility/workflow.md +0 -59
  565. package/src/core/experts/adr-writer/expertise.yaml +0 -138
  566. package/src/core/experts/adr-writer/question.md +0 -56
  567. package/src/core/experts/adr-writer/self-improve.md +0 -106
  568. package/src/core/experts/adr-writer/workflow.md +0 -184
  569. package/src/core/experts/analytics/expertise.yaml +0 -119
  570. package/src/core/experts/analytics/question.md +0 -74
  571. package/src/core/experts/analytics/self-improve.md +0 -163
  572. package/src/core/experts/analytics/workflow.md +0 -272
  573. package/src/core/experts/api/expertise.yaml +0 -124
  574. package/src/core/experts/api/question.md +0 -74
  575. package/src/core/experts/api/self-improve.md +0 -122
  576. package/src/core/experts/api/workflow.md +0 -248
  577. package/src/core/experts/ci/expertise.yaml +0 -106
  578. package/src/core/experts/ci/question.md +0 -69
  579. package/src/core/experts/ci/self-improve.md +0 -100
  580. package/src/core/experts/ci/workflow.md +0 -145
  581. package/src/core/experts/codebase-query/expertise.yaml +0 -121
  582. package/src/core/experts/codebase-query/question.md +0 -73
  583. package/src/core/experts/codebase-query/self-improve.md +0 -105
  584. package/src/core/experts/compliance/expertise.yaml +0 -101
  585. package/src/core/experts/compliance/question.md +0 -56
  586. package/src/core/experts/compliance/self-improve.md +0 -106
  587. package/src/core/experts/compliance/workflow.md +0 -184
  588. package/src/core/experts/database/expertise.yaml +0 -109
  589. package/src/core/experts/database/question.md +0 -74
  590. package/src/core/experts/database/self-improve.md +0 -121
  591. package/src/core/experts/database/workflow.md +0 -234
  592. package/src/core/experts/datamigration/expertise.yaml +0 -141
  593. package/src/core/experts/datamigration/question.md +0 -56
  594. package/src/core/experts/datamigration/self-improve.md +0 -106
  595. package/src/core/experts/datamigration/workflow.md +0 -184
  596. package/src/core/experts/design/expertise.yaml +0 -116
  597. package/src/core/experts/design/question.md +0 -56
  598. package/src/core/experts/design/self-improve.md +0 -106
  599. package/src/core/experts/design/workflow.md +0 -184
  600. package/src/core/experts/devops/expertise.yaml +0 -116
  601. package/src/core/experts/devops/question.md +0 -68
  602. package/src/core/experts/devops/self-improve.md +0 -102
  603. package/src/core/experts/devops/workflow.md +0 -142
  604. package/src/core/experts/documentation/expertise.yaml +0 -126
  605. package/src/core/experts/documentation/question.md +0 -41
  606. package/src/core/experts/documentation/self-improve.md +0 -45
  607. package/src/core/experts/documentation/workflow.md +0 -55
  608. package/src/core/experts/epic-planner/expertise.yaml +0 -144
  609. package/src/core/experts/epic-planner/question.md +0 -56
  610. package/src/core/experts/epic-planner/self-improve.md +0 -106
  611. package/src/core/experts/epic-planner/workflow.md +0 -184
  612. package/src/core/experts/integrations/expertise.yaml +0 -113
  613. package/src/core/experts/integrations/question.md +0 -74
  614. package/src/core/experts/integrations/self-improve.md +0 -151
  615. package/src/core/experts/integrations/workflow.md +0 -246
  616. package/src/core/experts/mentor/expertise.yaml +0 -125
  617. package/src/core/experts/mentor/question.md +0 -56
  618. package/src/core/experts/mentor/self-improve.md +0 -106
  619. package/src/core/experts/mentor/workflow.md +0 -184
  620. package/src/core/experts/mobile/expertise.yaml +0 -136
  621. package/src/core/experts/mobile/question.md +0 -72
  622. package/src/core/experts/mobile/self-improve.md +0 -140
  623. package/src/core/experts/mobile/workflow.md +0 -240
  624. package/src/core/experts/monitoring/expertise.yaml +0 -132
  625. package/src/core/experts/monitoring/question.md +0 -76
  626. package/src/core/experts/monitoring/self-improve.md +0 -150
  627. package/src/core/experts/monitoring/workflow.md +0 -264
  628. package/src/core/experts/performance/expertise.yaml +0 -68
  629. package/src/core/experts/performance/question.md +0 -41
  630. package/src/core/experts/performance/self-improve.md +0 -45
  631. package/src/core/experts/performance/workflow.md +0 -61
  632. package/src/core/experts/product/expertise.yaml +0 -143
  633. package/src/core/experts/product/question.md +0 -56
  634. package/src/core/experts/product/self-improve.md +0 -106
  635. package/src/core/experts/product/workflow.md +0 -184
  636. package/src/core/experts/qa/expertise.yaml +0 -110
  637. package/src/core/experts/qa/question.md +0 -56
  638. package/src/core/experts/qa/self-improve.md +0 -106
  639. package/src/core/experts/qa/workflow.md +0 -184
  640. package/src/core/experts/readme-updater/expertise.yaml +0 -141
  641. package/src/core/experts/readme-updater/question.md +0 -56
  642. package/src/core/experts/readme-updater/self-improve.md +0 -106
  643. package/src/core/experts/readme-updater/workflow.md +0 -184
  644. package/src/core/experts/refactor/expertise.yaml +0 -135
  645. package/src/core/experts/refactor/question.md +0 -41
  646. package/src/core/experts/refactor/self-improve.md +0 -45
  647. package/src/core/experts/refactor/workflow.md +0 -57
  648. package/src/core/experts/research/expertise.yaml +0 -143
  649. package/src/core/experts/research/question.md +0 -56
  650. package/src/core/experts/research/self-improve.md +0 -106
  651. package/src/core/experts/research/workflow.md +0 -184
  652. package/src/core/experts/security/expertise.yaml +0 -117
  653. package/src/core/experts/security/question.md +0 -77
  654. package/src/core/experts/security/self-improve.md +0 -102
  655. package/src/core/experts/security/workflow.md +0 -152
  656. package/src/core/experts/templates/expertise-template.yaml +0 -67
  657. package/src/core/experts/templates/question-template.md +0 -56
  658. package/src/core/experts/templates/self-improve-template.md +0 -106
  659. package/src/core/experts/templates/workflow-template.md +0 -184
  660. package/src/core/experts/testing/expertise.yaml +0 -112
  661. package/src/core/experts/testing/question.md +0 -68
  662. package/src/core/experts/testing/self-improve.md +0 -102
  663. package/src/core/experts/testing/workflow.md +0 -143
  664. package/src/core/experts/ui/expertise.yaml +0 -133
  665. package/src/core/experts/ui/question.md +0 -74
  666. package/src/core/experts/ui/self-improve.md +0 -122
  667. package/src/core/experts/ui/workflow.md +0 -262
  668. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
  669. package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
  670. package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
  671. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
  672. package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
  673. package/src/core/profiles/COMPARISON.md +0 -170
  674. package/src/core/profiles/README.md +0 -178
  675. package/src/core/profiles/claude-code.yaml +0 -111
  676. package/src/core/profiles/codex.yaml +0 -103
  677. package/src/core/profiles/cursor.yaml +0 -134
  678. package/src/core/profiles/examples.js +0 -250
  679. package/src/core/profiles/loader.js +0 -235
  680. package/src/core/profiles/windsurf.yaml +0 -159
  681. package/src/core/skills/_learnings/README.md +0 -91
  682. package/src/core/skills/_learnings/_template.yaml +0 -106
  683. package/src/core/skills/_learnings/code-review.yaml +0 -118
  684. package/src/core/skills/_learnings/commit.yaml +0 -69
  685. package/src/core/skills/_learnings/story-writer.yaml +0 -71
  686. package/src/core/teams/backend.json +0 -41
  687. package/src/core/teams/builder-validator.json +0 -51
  688. package/src/core/teams/code-review.json +0 -41
  689. package/src/core/teams/frontend.json +0 -41
  690. package/src/core/teams/fullstack.json +0 -41
  691. package/src/core/teams/logic-audit.json +0 -53
  692. package/src/core/teams/perf-audit.json +0 -71
  693. package/src/core/teams/qa.json +0 -41
  694. package/src/core/teams/security-audit.json +0 -71
  695. package/src/core/teams/solo.json +0 -35
  696. package/src/core/teams/test-audit.json +0 -71
  697. package/src/core/templates/CONTEXT.md.example +0 -49
  698. package/src/core/templates/README-template.md +0 -16
  699. package/src/core/templates/adr-template.md +0 -28
  700. package/src/core/templates/agent-coordination-pattern.md +0 -38
  701. package/src/core/templates/agent-profile-template.md +0 -51
  702. package/src/core/templates/agileflow-metadata.json +0 -150
  703. package/src/core/templates/browser-qa-spec.yaml +0 -94
  704. package/src/core/templates/ci-workflow.yml +0 -74
  705. package/src/core/templates/claude-settings.advanced.example.json +0 -75
  706. package/src/core/templates/claude-settings.example.json +0 -26
  707. package/src/core/templates/command-documentation.md +0 -187
  708. package/src/core/templates/command-prerequisites.yaml +0 -169
  709. package/src/core/templates/comms-note-template.md +0 -24
  710. package/src/core/templates/damage-control-patterns.yaml +0 -243
  711. package/src/core/templates/environment.json +0 -18
  712. package/src/core/templates/epic-template.md +0 -27
  713. package/src/core/templates/plan-template.md +0 -125
  714. package/src/core/templates/preserve-rules-common.md +0 -107
  715. package/src/core/templates/preserve-rules.json +0 -42
  716. package/src/core/templates/proactive-action-spec.md +0 -29
  717. package/src/core/templates/product-brief.md +0 -136
  718. package/src/core/templates/quality-gate-priorities.md +0 -34
  719. package/src/core/templates/research-template.md +0 -44
  720. package/src/core/templates/session-harness-protocol.md +0 -128
  721. package/src/core/templates/session-state.json +0 -56
  722. package/src/core/templates/story-lifecycle.md +0 -213
  723. package/src/core/templates/story-template.md +0 -92
  724. package/src/core/templates/tdd-test-template.js +0 -241
  725. package/src/core/templates/worktrees-guide.md +0 -231
  726. package/tools/agileflow-npx.js +0 -52
  727. package/tools/cli/agileflow-cli.js +0 -72
  728. package/tools/cli/commands/config.js +0 -285
  729. package/tools/cli/commands/doctor.js +0 -496
  730. package/tools/cli/commands/list.js +0 -385
  731. package/tools/cli/commands/session.js +0 -1176
  732. package/tools/cli/commands/setup.js +0 -255
  733. package/tools/cli/commands/status.js +0 -101
  734. package/tools/cli/commands/tui.js +0 -56
  735. package/tools/cli/commands/uninstall.js +0 -155
  736. package/tools/cli/commands/update.js +0 -299
  737. package/tools/cli/installers/core/installer.js +0 -892
  738. package/tools/cli/installers/ide/_base-ide.js +0 -518
  739. package/tools/cli/installers/ide/_interface.js +0 -238
  740. package/tools/cli/installers/ide/claude-code.js +0 -432
  741. package/tools/cli/installers/ide/codex.js +0 -426
  742. package/tools/cli/installers/ide/cursor.js +0 -217
  743. package/tools/cli/installers/ide/manager.js +0 -222
  744. package/tools/cli/installers/ide/windsurf.js +0 -282
  745. package/tools/cli/lib/command-context.js +0 -382
  746. package/tools/cli/lib/config-manager.js +0 -446
  747. package/tools/cli/lib/content-injector.js +0 -969
  748. package/tools/cli/lib/content-transformer.js +0 -496
  749. package/tools/cli/lib/docs-setup.js +0 -464
  750. package/tools/cli/lib/error-handler.js +0 -165
  751. package/tools/cli/lib/ide-error-factory.js +0 -421
  752. package/tools/cli/lib/ide-errors.js +0 -367
  753. package/tools/cli/lib/ide-generator.js +0 -357
  754. package/tools/cli/lib/ide-health-monitor.js +0 -364
  755. package/tools/cli/lib/ide-registry.js +0 -297
  756. package/tools/cli/lib/npm-utils.js +0 -103
  757. package/tools/cli/lib/self-update.js +0 -148
  758. package/tools/cli/lib/ui.js +0 -211
  759. package/tools/cli/lib/utils.js +0 -87
  760. package/tools/cli/lib/validation-middleware.js +0 -491
  761. package/tools/cli/lib/version-checker.js +0 -95
  762. 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