code-ai-installer 4.0.0 → 4.0.1-a

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 (471) hide show
  1. package/README.md +83 -67
  2. package/dist/index.js +2 -0
  3. package/dist/mcp/audit_ledger.d.ts +12 -0
  4. package/dist/mcp/audit_ledger.js +82 -0
  5. package/dist/mcp/cli.js +7 -1
  6. package/dist/mcp/config.d.ts +23 -0
  7. package/dist/mcp/config.js +36 -0
  8. package/dist/mcp/index.d.ts +1 -2
  9. package/dist/mcp/index.js +1 -2
  10. package/dist/mcp/paths.d.ts +20 -2
  11. package/dist/mcp/paths.js +29 -5
  12. package/dist/mcp/proposal_dedup.d.ts +32 -0
  13. package/dist/mcp/proposal_dedup.js +102 -0
  14. package/dist/mcp/proposal_store.d.ts +18 -0
  15. package/dist/mcp/proposal_store.js +74 -0
  16. package/dist/mcp/scorecard.d.ts +140 -0
  17. package/dist/mcp/scorecard.js +103 -0
  18. package/dist/mcp/skill_invocations.d.ts +15 -0
  19. package/dist/mcp/skill_invocations.js +28 -0
  20. package/dist/mcp/task_state.d.ts +77 -2
  21. package/dist/mcp/tools/_subprocess.d.ts +16 -0
  22. package/dist/mcp/tools/_subprocess.js +56 -0
  23. package/dist/mcp/tools/advance_gate.js +2 -2
  24. package/dist/mcp/tools/aggregate_run_metrics.d.ts +19 -0
  25. package/dist/mcp/tools/aggregate_run_metrics.js +139 -0
  26. package/dist/mcp/tools/apply_diff.d.ts +2 -0
  27. package/dist/mcp/tools/apply_diff.js +29 -0
  28. package/dist/mcp/tools/audit_bilocale_parity.d.ts +2 -0
  29. package/dist/mcp/tools/audit_bilocale_parity.js +146 -0
  30. package/dist/mcp/tools/audit_budget_compliance.d.ts +35 -0
  31. package/dist/mcp/tools/audit_budget_compliance.js +172 -0
  32. package/dist/mcp/tools/build.d.ts +2 -0
  33. package/dist/mcp/tools/build.js +47 -0
  34. package/dist/mcp/tools/check_lint.d.ts +2 -0
  35. package/dist/mcp/tools/check_lint.js +23 -0
  36. package/dist/mcp/tools/classify_gate.js +2 -2
  37. package/dist/mcp/tools/current_gate.js +2 -2
  38. package/dist/mcp/tools/dependency_supply_chain.d.ts +2 -0
  39. package/dist/mcp/tools/dependency_supply_chain.js +59 -0
  40. package/dist/mcp/tools/docker_compose.d.ts +2 -0
  41. package/dist/mcp/tools/docker_compose.js +24 -0
  42. package/dist/mcp/tools/e2e_playwright.d.ts +2 -0
  43. package/dist/mcp/tools/e2e_playwright.js +88 -0
  44. package/dist/mcp/tools/get_skill.js +17 -0
  45. package/dist/mcp/tools/git_commit.d.ts +2 -0
  46. package/dist/mcp/tools/git_commit.js +30 -0
  47. package/dist/mcp/tools/list_proposals.d.ts +6 -0
  48. package/dist/mcp/tools/list_proposals.js +16 -0
  49. package/dist/mcp/tools/list_skills.js +9 -1
  50. package/dist/mcp/tools/load_role.d.ts +3 -4
  51. package/dist/mcp/tools/load_role.js +11 -13
  52. package/dist/mcp/tools/propose_change.d.ts +8 -0
  53. package/dist/mcp/tools/propose_change.js +36 -0
  54. package/dist/mcp/tools/record_decision.js +25 -25
  55. package/dist/mcp/tools/review_proposal.d.ts +17 -0
  56. package/dist/mcp/tools/review_proposal.js +99 -0
  57. package/dist/mcp/tools/run_drift_audit.d.ts +11 -0
  58. package/dist/mcp/tools/run_drift_audit.js +79 -0
  59. package/dist/mcp/tools/run_tests.d.ts +2 -0
  60. package/dist/mcp/tools/run_tests.js +92 -0
  61. package/dist/mcp/tools/sign_off.js +14 -2
  62. package/dist/mcp/tools/stubs.js +30 -9
  63. package/dist/mcp/tools/verify_claim.js +33 -6
  64. package/dist/mcp_setup.d.ts +8 -0
  65. package/dist/mcp_setup.js +4 -1
  66. package/dist/shared/frontmatter.d.ts +44 -2
  67. package/dist/shared/frontmatter.js +54 -6
  68. package/dist/shared/index.d.ts +0 -5
  69. package/dist/shared/index.js +0 -5
  70. package/dist/shared/persona.d.ts +2 -2
  71. package/dist/shared/persona.js +1 -1
  72. package/dist/shared/pipeline.d.ts +46 -1
  73. package/dist/shared/tools.d.ts +1382 -16
  74. package/dist/shared/tools.js +229 -0
  75. package/dist/shared/vocabulary.d.ts +99 -4
  76. package/dist/shared/vocabulary.js +94 -5
  77. package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  78. package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +345 -329
  79. package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  80. package/domains/analytics/.agents/skills/board/SKILL.md +22 -0
  81. package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +338 -322
  82. package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +413 -395
  83. package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  84. package/domains/analytics/.agents/skills/gates/SKILL.md +388 -366
  85. package/domains/analytics/.agents/skills/handoff/SKILL.md +402 -380
  86. package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +21 -289
  87. package/domains/analytics/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  88. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  89. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  90. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  91. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  92. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  93. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  94. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/skill.yaml +23 -0
  95. package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  96. package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  97. package/domains/analytics/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  98. package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +324 -305
  99. package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +377 -361
  100. package/domains/analytics/.agents/skills/report-design/SKILL.md +416 -398
  101. package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +330 -314
  102. package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  103. package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +340 -324
  104. package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +329 -312
  105. package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +347 -331
  106. package/domains/analytics/.agents/skills/unit-economics/SKILL.md +430 -413
  107. package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +346 -330
  108. package/domains/analytics/.agents/skills/web-research/SKILL.md +323 -308
  109. package/domains/analytics/AGENTS.md +1 -0
  110. package/domains/analytics/agents/auditor.md +76 -0
  111. package/domains/analytics/agents/conductor.md +11 -0
  112. package/domains/analytics/agents/data_analyst.md +11 -0
  113. package/domains/analytics/agents/designer.md +11 -0
  114. package/domains/analytics/agents/interviewer.md +11 -0
  115. package/domains/analytics/agents/layouter.md +11 -0
  116. package/domains/analytics/agents/mediator.md +11 -0
  117. package/domains/analytics/agents/researcher.md +11 -0
  118. package/domains/analytics/agents/strategist.md +11 -0
  119. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  120. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +345 -329
  121. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  122. package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +22 -0
  123. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +338 -322
  124. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +413 -395
  125. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  126. package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +388 -366
  127. package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +402 -380
  128. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -289
  129. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  130. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  131. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  132. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  133. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  134. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  135. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  136. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +29 -0
  137. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  138. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  139. package/domains/analytics/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  140. package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +324 -305
  141. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +377 -361
  142. package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +416 -398
  143. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +330 -314
  144. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  145. package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +340 -324
  146. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +329 -312
  147. package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +347 -331
  148. package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +430 -413
  149. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +366 -350
  150. package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +324 -309
  151. package/domains/analytics/locales/en/AGENTS.md +1 -0
  152. package/domains/analytics/locales/en/agents/auditor.md +76 -0
  153. package/domains/analytics/locales/en/agents/conductor.md +27 -0
  154. package/domains/analytics/locales/en/agents/data_analyst.md +29 -0
  155. package/domains/analytics/locales/en/agents/designer.md +27 -0
  156. package/domains/analytics/locales/en/agents/interviewer.md +11 -0
  157. package/domains/analytics/locales/en/agents/layouter.md +11 -0
  158. package/domains/analytics/locales/en/agents/mediator.md +11 -0
  159. package/domains/analytics/locales/en/agents/researcher.md +11 -0
  160. package/domains/analytics/locales/en/agents/strategist.md +11 -0
  161. package/domains/analytics/persona/persona-base.md +94 -0
  162. package/domains/analytics/pipeline.yaml +102 -0
  163. package/domains/content/.agents/skills/audience-analysis/SKILL.md +15 -0
  164. package/domains/content/.agents/skills/board/SKILL.md +20 -0
  165. package/domains/content/.agents/skills/brand-compliance/SKILL.md +15 -0
  166. package/domains/content/.agents/skills/brand-guidelines/SKILL.md +17 -0
  167. package/domains/content/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  168. package/domains/content/.agents/skills/content-brief/SKILL.md +15 -0
  169. package/domains/content/.agents/skills/content-calendar/SKILL.md +15 -0
  170. package/domains/content/.agents/skills/content-release-gate/SKILL.md +15 -0
  171. package/domains/content/.agents/skills/content-review-checklist/SKILL.md +15 -0
  172. package/domains/content/.agents/skills/cta-optimization/SKILL.md +15 -0
  173. package/domains/content/.agents/skills/data-storytelling/SKILL.md +15 -0
  174. package/domains/content/.agents/skills/email-copywriting/SKILL.md +15 -0
  175. package/domains/content/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  176. package/domains/content/.agents/skills/fact-checking/SKILL.md +15 -0
  177. package/domains/content/.agents/skills/gates/SKILL.md +20 -0
  178. package/domains/content/.agents/skills/google-stitch-content/SKILL.md +15 -0
  179. package/domains/content/.agents/skills/handoff/SKILL.md +24 -0
  180. package/domains/content/.agents/skills/headline-formulas/SKILL.md +15 -0
  181. package/domains/content/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  182. package/domains/content/.agents/skills/karpathy-guidelines/SKILL.md +28 -0
  183. package/domains/content/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  184. package/domains/content/.agents/skills/marketing-psychology/SKILL.md +15 -0
  185. package/domains/content/.agents/skills/moodboard/SKILL.md +15 -0
  186. package/domains/content/.agents/skills/platform-compliance/SKILL.md +15 -0
  187. package/domains/content/.agents/skills/platform-strategy/SKILL.md +15 -0
  188. package/domains/content/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  189. package/domains/content/.agents/skills/readability-scoring/SKILL.md +15 -0
  190. package/domains/content/.agents/skills/seo-copywriting/SKILL.md +15 -0
  191. package/domains/content/.agents/skills/social-media-formats/SKILL.md +15 -0
  192. package/domains/content/.agents/skills/source-verification/SKILL.md +15 -0
  193. package/domains/content/.agents/skills/storytelling-framework/SKILL.md +15 -0
  194. package/domains/content/.agents/skills/tone-of-voice/SKILL.md +15 -0
  195. package/domains/content/.agents/skills/topic-research/SKILL.md +15 -0
  196. package/domains/content/.agents/skills/trend-research/SKILL.md +15 -0
  197. package/domains/content/.agents/skills/visual-brief/SKILL.md +15 -0
  198. package/domains/content/AGENTS.md +4 -0
  199. package/domains/content/agents/auditor.md +76 -0
  200. package/domains/content/agents/conductor.md +11 -0
  201. package/domains/content/agents/copywriter.md +11 -0
  202. package/domains/content/agents/researcher.md +11 -0
  203. package/domains/content/agents/reviewer.md +11 -0
  204. package/domains/content/agents/strategist.md +11 -0
  205. package/domains/content/agents/visual_concept.md +11 -0
  206. package/domains/content/locales/en/.agents/skills/audience-analysis/SKILL.md +15 -0
  207. package/domains/content/locales/en/.agents/skills/board/SKILL.md +20 -0
  208. package/domains/content/locales/en/.agents/skills/brand-compliance/SKILL.md +15 -0
  209. package/domains/content/locales/en/.agents/skills/brand-guidelines/SKILL.md +17 -0
  210. package/domains/content/locales/en/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  211. package/domains/content/locales/en/.agents/skills/content-brief/SKILL.md +15 -0
  212. package/domains/content/locales/en/.agents/skills/content-calendar/SKILL.md +15 -0
  213. package/domains/content/locales/en/.agents/skills/content-release-gate/SKILL.md +15 -0
  214. package/domains/content/locales/en/.agents/skills/content-review-checklist/SKILL.md +15 -0
  215. package/domains/content/locales/en/.agents/skills/cta-optimization/SKILL.md +15 -0
  216. package/domains/content/locales/en/.agents/skills/data-storytelling/SKILL.md +15 -0
  217. package/domains/content/locales/en/.agents/skills/email-copywriting/SKILL.md +15 -0
  218. package/domains/content/locales/en/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  219. package/domains/content/locales/en/.agents/skills/fact-checking/SKILL.md +15 -0
  220. package/domains/content/locales/en/.agents/skills/gates/SKILL.md +20 -0
  221. package/domains/content/locales/en/.agents/skills/google-stitch-content/SKILL.md +15 -0
  222. package/domains/content/locales/en/.agents/skills/handoff/SKILL.md +24 -0
  223. package/domains/content/locales/en/.agents/skills/headline-formulas/SKILL.md +15 -0
  224. package/domains/content/locales/en/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  225. package/domains/content/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +30 -1
  226. package/domains/content/locales/en/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  227. package/domains/content/locales/en/.agents/skills/marketing-psychology/SKILL.md +15 -0
  228. package/domains/content/locales/en/.agents/skills/moodboard/SKILL.md +15 -0
  229. package/domains/content/locales/en/.agents/skills/platform-compliance/SKILL.md +15 -0
  230. package/domains/content/locales/en/.agents/skills/platform-strategy/SKILL.md +15 -0
  231. package/domains/content/locales/en/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  232. package/domains/content/locales/en/.agents/skills/readability-scoring/SKILL.md +15 -0
  233. package/domains/content/locales/en/.agents/skills/seo-copywriting/SKILL.md +15 -0
  234. package/domains/content/locales/en/.agents/skills/social-media-formats/SKILL.md +15 -0
  235. package/domains/content/locales/en/.agents/skills/source-verification/SKILL.md +15 -0
  236. package/domains/content/locales/en/.agents/skills/storytelling-framework/SKILL.md +15 -0
  237. package/domains/content/locales/en/.agents/skills/tone-of-voice/SKILL.md +15 -0
  238. package/domains/content/locales/en/.agents/skills/topic-research/SKILL.md +15 -0
  239. package/domains/content/locales/en/.agents/skills/trend-research/SKILL.md +15 -0
  240. package/domains/content/locales/en/.agents/skills/visual-brief/SKILL.md +15 -0
  241. package/domains/content/locales/en/AGENTS.md +4 -0
  242. package/domains/content/locales/en/agents/auditor.md +76 -0
  243. package/domains/content/locales/en/agents/conductor.md +12 -0
  244. package/domains/content/locales/en/agents/copywriter.md +12 -0
  245. package/domains/content/locales/en/agents/researcher.md +12 -0
  246. package/domains/content/locales/en/agents/reviewer.md +12 -0
  247. package/domains/content/locales/en/agents/strategist.md +12 -0
  248. package/domains/content/locales/en/agents/visual_concept.md +12 -0
  249. package/domains/content/persona/persona-base.md +94 -0
  250. package/domains/content/pipeline.yaml +96 -0
  251. package/domains/development/.agents/skills/adr-log/SKILL.md +1 -0
  252. package/domains/development/.agents/skills/design-intake/SKILL.md +0 -4
  253. package/domains/development/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  254. package/domains/development/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  255. package/domains/development/.agents/skills/mcp-integration/SKILL.md +211 -0
  256. package/domains/development/.agents/skills/mcp-integration/agents/claude.json +22 -0
  257. package/domains/development/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  258. package/domains/development/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  259. package/domains/development/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  260. package/domains/development/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  261. package/domains/development/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  262. package/domains/development/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  263. package/domains/development/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  264. package/domains/development/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  265. package/domains/development/AGENTS.md +1 -0
  266. package/domains/development/AGENTS.yaml +1 -0
  267. package/domains/development/agents/architect.md +13 -1
  268. package/domains/development/agents/auditor.md +74 -0
  269. package/domains/development/agents/conductor.md +14 -3
  270. package/domains/development/agents/devops.md +8 -9
  271. package/domains/development/agents/reviewer.md +12 -0
  272. package/domains/development/agents/senior_full_stack.md +12 -0
  273. package/domains/development/agents/tester.md +10 -16
  274. package/domains/development/locales/en/.agents/skills/adr-log/SKILL.md +1 -0
  275. package/domains/development/locales/en/.agents/skills/current-state-analysis/SKILL.md +256 -172
  276. package/domains/development/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  277. package/domains/development/locales/en/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  278. package/domains/development/locales/en/.agents/skills/mcp-integration/SKILL.md +211 -0
  279. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/claude.json +22 -0
  280. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  281. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  282. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  283. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  284. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  285. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  286. package/domains/development/locales/en/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  287. package/domains/development/locales/en/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  288. package/domains/development/locales/en/AGENTS.md +5 -0
  289. package/domains/development/locales/en/AGENTS.yaml +1 -0
  290. package/domains/development/locales/en/agents/architect.md +13 -1
  291. package/domains/development/locales/en/agents/auditor.md +74 -0
  292. package/domains/development/locales/en/agents/conductor.md +14 -3
  293. package/domains/development/locales/en/agents/devops.md +8 -9
  294. package/domains/development/locales/en/agents/reviewer.md +12 -0
  295. package/domains/development/locales/en/agents/senior_full_stack.md +12 -0
  296. package/domains/development/locales/en/agents/tester.md +10 -16
  297. package/domains/development/persona/persona-base.md +94 -0
  298. package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  299. package/domains/product/.agents/skills/ab-test-design/SKILL.md +428 -412
  300. package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  301. package/domains/product/.agents/skills/assumption-mapping/SKILL.md +323 -307
  302. package/domains/product/.agents/skills/board/SKILL.md +24 -0
  303. package/domains/product/.agents/skills/design-brief/SKILL.md +433 -418
  304. package/domains/product/.agents/skills/epic-breakdown/SKILL.md +435 -420
  305. package/domains/product/.agents/skills/gates/SKILL.md +470 -446
  306. package/domains/product/.agents/skills/gtm-brief/SKILL.md +18 -321
  307. package/domains/product/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  308. package/domains/product/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  309. package/domains/product/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  310. package/domains/product/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  311. package/domains/product/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  312. package/domains/product/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  313. package/domains/product/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  314. package/domains/product/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  315. package/domains/product/.agents/skills/handoff/SKILL.md +463 -439
  316. package/domains/product/.agents/skills/html-pdf-report/SKILL.md +21 -663
  317. package/domains/product/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  318. package/domains/product/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  319. package/domains/product/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  320. package/domains/product/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  321. package/domains/product/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  322. package/domains/product/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  323. package/domains/product/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  324. package/domains/product/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  325. package/domains/product/.agents/skills/hypothesis-template/SKILL.md +484 -469
  326. package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +274 -258
  327. package/domains/product/.agents/skills/kano-model/SKILL.md +370 -355
  328. package/domains/product/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  329. package/domains/product/.agents/skills/launch-checklist/SKILL.md +434 -419
  330. package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  331. package/domains/product/.agents/skills/north-star-metric/SKILL.md +317 -301
  332. package/domains/product/.agents/skills/okr-framework/SKILL.md +299 -284
  333. package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  334. package/domains/product/.agents/skills/prd-template/SKILL.md +18 -258
  335. package/domains/product/.agents/skills/prd-template-reference/SKILL.md +285 -0
  336. package/domains/product/.agents/skills/prd-template-reference/agents/claude.json +17 -0
  337. package/domains/product/.agents/skills/prd-template-reference/agents/copilot.json +17 -0
  338. package/domains/product/.agents/skills/prd-template-reference/agents/gemini.json +17 -0
  339. package/domains/product/.agents/skills/prd-template-reference/agents/kimi.yaml +16 -0
  340. package/domains/product/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  341. package/domains/product/.agents/skills/prd-template-reference/agents/qwen.json +17 -0
  342. package/domains/product/.agents/skills/prd-template-reference/agents/skill.yaml +23 -0
  343. package/domains/product/.agents/skills/problem-statement/SKILL.md +327 -312
  344. package/domains/product/.agents/skills/product-roadmap/SKILL.md +320 -304
  345. package/domains/product/.agents/skills/product-vision/SKILL.md +409 -394
  346. package/domains/product/.agents/skills/release-notes/SKILL.md +18 -258
  347. package/domains/product/.agents/skills/release-notes-reference/SKILL.md +285 -0
  348. package/domains/product/.agents/skills/release-notes-reference/agents/claude.json +17 -0
  349. package/domains/product/.agents/skills/release-notes-reference/agents/copilot.json +17 -0
  350. package/domains/product/.agents/skills/release-notes-reference/agents/gemini.json +17 -0
  351. package/domains/product/.agents/skills/release-notes-reference/agents/kimi.yaml +15 -0
  352. package/domains/product/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  353. package/domains/product/.agents/skills/release-notes-reference/agents/qwen.json +17 -0
  354. package/domains/product/.agents/skills/release-notes-reference/agents/skill.yaml +22 -0
  355. package/domains/product/.agents/skills/report-design/SKILL.md +17 -307
  356. package/domains/product/.agents/skills/report-design-reference/SKILL.md +331 -0
  357. package/domains/product/.agents/skills/report-design-reference/agents/claude.json +17 -0
  358. package/domains/product/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  359. package/domains/product/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  360. package/domains/product/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  361. package/domains/product/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  362. package/domains/product/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  363. package/domains/product/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  364. package/domains/product/.agents/skills/rice-scoring/SKILL.md +266 -251
  365. package/domains/product/.agents/skills/saas-metrics/SKILL.md +422 -404
  366. package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  367. package/domains/product/.agents/skills/user-flow/SKILL.md +491 -476
  368. package/domains/product/.agents/skills/user-interview-script/SKILL.md +315 -298
  369. package/domains/product/.agents/skills/user-story/SKILL.md +401 -385
  370. package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  371. package/domains/product/AGENTS.md +5 -0
  372. package/domains/product/AGENTS.yaml +1 -0
  373. package/domains/product/agents/auditor.md +76 -0
  374. package/domains/product/agents/conductor.md +11 -0
  375. package/domains/product/agents/data_analyst.md +11 -0
  376. package/domains/product/agents/designer.md +11 -0
  377. package/domains/product/agents/discovery.md +11 -0
  378. package/domains/product/agents/layouter.md +11 -0
  379. package/domains/product/agents/mediator.md +11 -0
  380. package/domains/product/agents/pm.md +11 -0
  381. package/domains/product/agents/product_strategist.md +11 -0
  382. package/domains/product/agents/tech_lead.md +11 -0
  383. package/domains/product/agents/ux_designer.md +11 -0
  384. package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  385. package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +428 -412
  386. package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  387. package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +323 -307
  388. package/domains/product/locales/en/.agents/skills/board/SKILL.md +24 -0
  389. package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +433 -418
  390. package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +435 -420
  391. package/domains/product/locales/en/.agents/skills/gates/SKILL.md +470 -446
  392. package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +18 -321
  393. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  394. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  395. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  396. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  397. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  398. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  399. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  400. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  401. package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +463 -439
  402. package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -663
  403. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  404. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  405. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  406. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  407. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  408. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  409. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  410. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  411. package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +484 -469
  412. package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +273 -257
  413. package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +370 -355
  414. package/domains/product/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  415. package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +434 -419
  416. package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  417. package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +317 -301
  418. package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +299 -284
  419. package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  420. package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +18 -258
  421. package/domains/product/locales/en/.agents/skills/prd-template-reference/SKILL.md +285 -0
  422. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/claude.json +16 -0
  423. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/copilot.json +16 -0
  424. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/gemini.json +16 -0
  425. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/kimi.yaml +15 -0
  426. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  427. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/qwen.json +16 -0
  428. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/skill.yaml +22 -0
  429. package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +327 -312
  430. package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +321 -305
  431. package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +410 -395
  432. package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +18 -258
  433. package/domains/product/locales/en/.agents/skills/release-notes-reference/SKILL.md +285 -0
  434. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/claude.json +16 -0
  435. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/copilot.json +16 -0
  436. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/gemini.json +16 -0
  437. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/kimi.yaml +14 -0
  438. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  439. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/qwen.json +16 -0
  440. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/skill.yaml +21 -0
  441. package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +17 -307
  442. package/domains/product/locales/en/.agents/skills/report-design-reference/SKILL.md +331 -0
  443. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/claude.json +17 -0
  444. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  445. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  446. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  447. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  448. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  449. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  450. package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +266 -251
  451. package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +422 -404
  452. package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  453. package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +491 -476
  454. package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +314 -297
  455. package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +401 -385
  456. package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  457. package/domains/product/locales/en/AGENTS.md +5 -0
  458. package/domains/product/locales/en/agents/auditor.md +76 -0
  459. package/domains/product/locales/en/agents/conductor.md +11 -0
  460. package/domains/product/locales/en/agents/data_analyst.md +11 -0
  461. package/domains/product/locales/en/agents/designer.md +11 -0
  462. package/domains/product/locales/en/agents/discovery.md +11 -0
  463. package/domains/product/locales/en/agents/layouter.md +11 -0
  464. package/domains/product/locales/en/agents/mediator.md +11 -0
  465. package/domains/product/locales/en/agents/pm.md +11 -0
  466. package/domains/product/locales/en/agents/product_strategist.md +11 -0
  467. package/domains/product/locales/en/agents/tech_lead.md +11 -0
  468. package/domains/product/locales/en/agents/ux_designer.md +11 -0
  469. package/domains/product/persona/persona-base.md +94 -0
  470. package/domains/product/pipeline.yaml +115 -0
  471. package/package.json +72 -70
@@ -1,412 +1,428 @@
1
- ---
2
- name: ab-test-design
3
- description: Дизайн A/B-теста — primary metric, MDE, sample size, duration, guardrails, critical region
4
- ---
5
- # A/B Test Design
6
-
7
- > **Категория:** Experimentation · **Slug:** `ab-test-design`
8
-
9
- ## Когда использовать
10
-
11
- - Для валидации гипотезы с количественным сигналом.
12
- - При выкатке высокорискованных изменений (ценообразование, онбординг, ключевой поток).
13
- - Для сравнения альтернатив, когда доказательства неясны.
14
- - При измерении влияния функции для критериев успеха PRD.
15
-
16
- ## Вход
17
-
18
- | Поле | Обязательно | Описание |
19
- |------|:-----------:|----------|
20
- | Hypothesis | ✅ | Через `$hypothesis-template` |
21
- | Primary metric | ✅ | Что измеряем |
22
- | Baseline metric value | ✅ | Текущее среднее + дисперсия |
23
- | Expected effect size | ✅ | MDE — минимальный обнаруживаемый эффект |
24
- | Traffic / eligible users | ✅ | Недельная подходящая выборка |
25
- | Infrastructure | ✅ | Флаги функций / платформа экспериментов |
26
-
27
- ## Источники данных
28
-
29
- 1. Исторические данные метрики базовый уровень + дисперсия.
30
- 2. `$hypothesis-template` ожидаемое направление + величина.
31
- 3. Пользовательская аналитика — подходящая аудитория.
32
- 4. Отраслевые бенчмарки — типичные размеры эффектов.
33
-
34
- ### Связь с другими скилами
35
-
36
- | Скил | Что берём | Когда вызывать |
37
- |------|-----------|----------------|
38
- | `hypothesis-template` | Что тестируем | Предусловие |
39
- | `saas-metrics` | Основные + контрольные метрики | Для выбора |
40
- | `aarrr-metrics` | Контекст воронки | Для понимания |
41
- | `assumption-mapping` | Высокорискованное допущение A/B | Для топ-допущений |
42
-
43
- ## Протокол
44
-
45
- ### Шаг 0Подходит ли A/B?
46
-
47
- Чеклист:
48
- - Достаточно трафика (≥ 1000 пользователей / неделю на вариант)?
49
- - Метрика поддаётся инструментированию + обнаружима в рамках временного горизонта?
50
- - Изменение изолируемо (не запутано с другими выкатками)?
51
- - Допустимо ли A/B тестирование (не критическая безопасность / соответствие)?
52
-
53
- Если нет — альтернативы: поэтапная выкатка с когортным сравнением, до/после, качественное тестирование.
54
-
55
- ### Шаг 1 Основная метрика
56
-
57
- Единственная основная метрика. Не несколько («Влияние на activation И retention»).
58
-
59
- Типичные варианты:
60
- - **Activation:** 7-дневный коэффициент активации
61
- - **Retention:** активность неделя/неделю, отток
62
- - **Conversion:** signup → paid, trial → active
63
- - **Engagement:** действий за сессию, DAU/MAU
64
-
65
- Свойства:
66
- - **Обнаружима** в разумном размере выборки
67
- - **Согласована** с ожидаемым результатом гипотезы
68
- - **Чувствительна** — реагирует, когда происходит ожидаемое изменение
69
- - **Достоверна**сложно поддаётся манипуляции
70
-
71
- ### Шаг 2Минимальный обнаруживаемый эффект (MDE)
72
-
73
- MDE наименьший прирост, который стоит обнаруживать. Компромисс:
74
- - Меньший MDE = нужна большая выборка = более долгий тест
75
- - Больший MDE = более быстрый тест, но можно пропустить небольшие улучшения
76
-
77
- Практические правила:
78
- - Метрики активации: MDE 3-5% (пп)
79
- - Метрики конверсии: MDE 5-10% (пп) относительный прирост
80
- - Метрики удержания: MDE 2-4% (пп)
81
-
82
- В B2B: меньшие выборки MDE чаще 5-10% минимум.
83
-
84
- ### Шаг 3 Расчёт размера выборки
85
-
86
- Формула для тестов долей:
87
- ```
88
- n на вариант = (Z_α/2 + Z_β)² × 2 × p(1-p) / MDE²
89
- ```
90
-
91
- Где:
92
- - Z_α/2 = 1.96 (95% доверительный интервал)
93
- - Z_β = 0.84 (80% мощность)
94
- - p = базовый коэффициент
95
- - MDE = минимальный обнаруживаемый эффект
96
-
97
- Для непрерывных метрик — аналогичная формула с дисперсией.
98
-
99
- **Использовать калькулятор:** онлайн-инструменты (Evan Miller, калькулятор Optimizely) — не рассчитывать вручную.
100
-
101
- ### Шаг 4 — Продолжительность
102
-
103
- Продолжительность = размер_выборки × варианты / еженедельные_подходящие_пользователи.
104
-
105
- Умножить:
106
- - На 1.5-2× для недельной цикличности (будни vs выходные)
107
- - Для B2B: минимум 2 недели (полный недельный цикл)
108
- - Максимум: 6-8 недель (сверх этого — контекст меняется, сезонность)
109
-
110
- ### Шаг 5 Рандомизация
111
-
112
- - **Единица:** уровень пользователя или аккаунта (B2B: обычно уровень аккаунта, чтобы избежать раздвоения в команде)
113
- - **Сид:** случайный, но детерминированный (один и тот же пользователь получает тот же вариант при повторном посещении)
114
- - **Распределение:** 50/50 по умолчанию, можно 80/20 (упор на контроль) для рискованных изменений
115
-
116
- ### Шаг 6 — Контрольные метрики
117
-
118
- Метрики, которые не должны деградировать:
119
- - Коэффициент оттока
120
- - NPS / CSAT
121
- - Объём обращений в поддержку
122
- - Задержка p95 / коэффициент ошибок
123
- - Выручка / пользователь
124
-
125
- Установить пороги (например, «отток не может расти >1pp»).
126
-
127
- ### Шаг 7 — План сегментного анализа
128
-
129
- Предзарегистрировать (не p-hacking после):
130
- - По размеру компании
131
- - По стажу (новые vs давние)
132
- - По роли
133
- - По географии (если актуально)
134
-
135
- Задокументировать в плане теста, а не после результатов.
136
-
137
- ### Шаг 8 Статистический метод
138
-
139
- - **Частотный** (наиболее распространённый): p-value < 0.05, мощность 80%
140
- - **Байесовский:** апостериорная вероятность улучшения > 95%
141
-
142
- Выбрать один. Задокументировать.
143
-
144
- ### Шаг 9 — Критическая область / Правила остановки
145
-
146
- Когда остановить тест:
147
- - **Успех** достигнута значимость, остановить
148
- - **Провал (бесполезность):** минимальный эффект после N% выборки, остановить
149
- - **Нарушение контрольной метрики:** даже если основная метрика выигрывает, остановить
150
- - **Лимит времени:** достигнута максимальная продолжительность
151
-
152
- **НИКОГДА не подглядывать раньше времени** и останавливать по p-value (увеличивает долю ложноположительных результатов) без последовательного дизайна тестирования.
153
-
154
- ### Шаг 10 — Предзарегистрированный план анализа
155
-
156
- Задокументировать ДО запуска теста:
157
- - Основная метрика + MDE + размер выборки
158
- - Сегменты
159
- - Контрольные метрики
160
- - Критерии остановки
161
- - Правила интерпретации
162
-
163
- Позволяет избежать HARKing (Hypothesizing After Results Known выдвижение гипотез после получения результатов).
164
-
165
- ## Валидация (Quality Gate)
166
-
167
- - [ ] A/B подходит (трафик, изоляция, допустимость)
168
- - [ ] Основная метрика единственная + чётко определена
169
- - [ ] Обоснование MDE (бизнес + обнаружимость)
170
- - [ ] Рассчитан размер выборки
171
- - [ ] Продолжительность ≥ 2 недель, ≤ 8 недель
172
- - [ ] Единица рандомизации подходящая (пользователь / аккаунт)
173
- - [ ] Контрольные метрики с порогами
174
- - [ ] Сегментный анализ предзарегистрирован
175
- - [ ] Статистический метод выбран + обоснован
176
- - [ ] Правила остановки явны
177
- - [ ] Предзарегистрированный план анализа
178
-
179
- ## Handoff
180
-
181
- Результат является входом для:
182
- - **Engineering** → флаг функции + инструментирование
183
- - **Data Analyst** дашборд мониторинга
184
- - **PM** критерии запуска
185
- - **Stakeholders** еженедельные отчёты
186
-
187
- Формат: документ дизайна A/B теста (markdown). Через `$handoff`.
188
-
189
- ## Anti-patterns
190
-
191
- | Ошибка | Почему плохо | Как правильно |
192
- |--------|-------------|---------------|
193
- | Несколько основных метрик | Раздувание p-value | Единственная основная |
194
- | Подглядывание + ранняя остановка | Ложноположительный результат | Последовательный или фиксированная продолжительность |
195
- | Нет обоснования MDE | Недостаточная мощность или слишком долгий тест | Обоснование через бизнес + обнаружимость |
196
- | Игнорировать контрольные метрики | Функция «выигрывает», ломая другое | Явные контрольные метрики с критериями отключения |
197
- | Нет предрегистрации | HARKing, p-hacking | Планировать до запуска |
198
- | Короткая продолжительность | Шум недельного цикла | Минимум 2 недели |
199
- | Уровень пользователя в B2B потоке | Один аккаунт, разные варианты | Рандомизация на уровне аккаунта |
200
-
201
- ## Шаблон
202
-
203
- ```markdown
204
- # A/B Test: [Название]
205
-
206
- ## Гипотеза
207
- [через $hypothesis-template]
208
-
209
- ## Основная метрика
210
- - Метрика: [например, 7-дневный коэффициент активации]
211
- - Базовый уровень: X% (последние 30 дней)
212
- - MDE: +5pp (обоснование: бизнес-потребность + поддержка выборки)
213
-
214
- ## Выборка и продолжительность
215
- - Подходящих пользователей / неделю: Y
216
- - Выборка на вариант: Z
217
- - Рассчитанная продолжительность: N недель
218
- - Запланированная продолжительность: N недель (с учётом цикличности)
219
-
220
- ## Варианты
221
- - Контроль: текущий поток
222
- - Тест: [изменение]
223
- - Распределение: 50/50
224
- - Рандомизация: уровень аккаунта, детерминированная
225
-
226
- ## Контрольные метрики
227
- | Метрика | Текущий | Порог |
228
- | Коэффициент оттока | 2% | < 2.5% |
229
- | NPS | 45 | ≥ 43 |
230
- | Задержка p95 | 180ms | < 200ms |
231
-
232
- ## Предзарегистрированный анализ
233
- - Сегменты: размер компании, роль пользователя
234
- - Статистический метод: частотный, α=0.05, мощность=0.8
235
- - Критерии выкатки: основная метрика +MDE значима, нет нарушений контрольных метрик
236
-
237
- ## Правила остановки
238
- - Успех: достигнута значимость + контрольные метрики в норме → выкатить
239
- - Провал: эффект < MDE при 50%+ выборки → отклонить
240
- - Контрольная метрика: нарушена любая → остановить, расследовать
241
- - Максимальная продолжительность: 8 недель
242
- ```
243
-
244
- ## Worked Example TeamFlow Onboarding A/B Test (Post-MVP Iteration)
245
-
246
- **Контекст:** AI Summarization MVP выкачен. 30 дней спустя, гипотеза H-003 (принятие) отслеживает 42% принятия — ниже цели 60%. Data Analyst проектирует A/B тест чеклиста онбординга vs контроль для итерации.
247
-
248
- ```markdown
249
- # A/B Test Design: Onboarding Checklist for New AI Tier Managers
250
-
251
- **Experiment ID:** EXP-025
252
- **Статус:** Утверждён, запуск 8 июля 2026
253
- **Владелец:** Sam P. (Data) + Alex K. (PM) + Jordan M. (Design)
254
- **Гипотеза:** Итерация 1 гипотезы H-003
255
-
256
- ## Гипотеза (переформулирована для теста)
257
-
258
- **Мы считаем**, что предоставление чеклиста онбординга («Выполните 3 шага, чтобы освоить AI-резюме»)
259
- **Для** менеджеров, только что активированных в AI-tier аккаунтах,
260
- **Приведёт к** более высокому 30-дневному еженедельному коэффициенту принятия
261
- **Мы узнаем, что это правда, когда** 30-дневный коэффициент принятия в тестовой группе будет на ≥5pp выше, чем в контрольной
262
- **Потому что:**
263
- - Открытие удивило: 60% не принявших указали «не знал с чего начать» в опросе после запуска
264
- - Чеклисты онбординга в существующих функциях TeamFlow показывают прирост активации +22% (внутренний бенчмарк)
265
- - 7-дневное окно первой активации предсказывает долгосрочное удержание (когортный анализ Q1)
266
-
267
- ## Основная метрика
268
-
269
- - **Метрика:** 30-дневный еженедельный коэффициент принятия (% только что активированных менеджеров, использовавших AI-резюме ≥1 раза в неделю в недели 2-4 после активации)
270
- - **Базовый уровень:** 42% (текущий, измерен за последние 30 дней выкатки AI тарифа)
271
- - **MDE:** +5pp (цель: 47% тест vs 42% контроль)
272
- - **Обоснование MDE:**
273
- - Бизнес-порог: +5pp × ~200 новых менеджеров/месяц = 10 дополнительно удержанных менеджеров/месяц = $2.4K MRR
274
- - Обнаружим с разумной выборкой (см. расчёт размера выборки)
275
- - Ниже 5pp несущественно для решения на уровне PM
276
-
277
- ## Расчёт размера выборки
278
-
279
- Используя формулу для теста долей:
280
- - Базовый уровень p1 = 0.42
281
- - Тест p2 = 0.47 (цель)
282
- - α = 0.05 (двусторонний)
283
- - Мощность = 0.80
284
- - Z_α/2 = 1.96, Z_β = 0.84
285
-
286
- n на вариант = 2 × (1.96 + 0.84)² × [0.42(0.58) + 0.47(0.53)] / (0.05)²
287
- 2 × 7.84 × 0.493 / 0.0025
288
- 3092
289
-
290
- **Выборка на вариант: ~3100**
291
- **Итоговая выборка: 6200**
292
-
293
- ## Продолжительность
294
-
295
- - Еженедельно активирующихся менеджеров в AI тарифе: ~200/неделю
296
- - Продолжительность: 6200 / 200 = **31 неделя**
297
-
298
- **Проблема:** 31 неделя неразумно долго. Варианты:
299
- 1. **Поднять MDE до 7pp** (цель 49%) — продолжительность сократится до ~16 недель
300
- 2. **Увеличить распределение до 80/20** — больше веса на тест, но ускорения нет
301
- 3. **Принять увеличенный горизонт** с еженедельным мониторингом для раннего сигнала
302
-
303
- **Решение:** Поднять MDE до 7pp (цель 49%). Обоснование с точки зрения бизнеса — 7pp × 200 менеджеров = 14 менеджеров/месяц сохранено, существенно.
304
-
305
- **Пересмотренная продолжительность: 16 недель.** Плюс буфер на цикличность: итого 18 недель.
306
-
307
- ## Варианты
308
-
309
- - **Контроль (50%):** Текущий опыт — менеджер активирует тариф, видит стандартный онбординг TeamFlow, без чеклиста
310
- - **Тест (50%):** То же самое + закреплённый чеклист онбординга:
311
- - Шаг 1: Включить AI для первой встречи 1:1 (кнопка)
312
- - Шаг 2: Просмотреть сгенерированное резюме + утвердить
313
- - Шаг 3: Проверить извлечённые пункты действий перед следующей встречей 1:1
314
-
315
- Чеклист остаётся в дашборде менеджера до завершения всех 3 шагов или ручного скрытия.
316
-
317
- ## Рандомизация
318
-
319
- - **Единица:** Уровень аккаунта (не уровень пользователяодин аккаунт получает один вариант для всех менеджеров)
320
- - Обоснование: B2B-последовательность — HR-администратор не должен видеть разный онбординг для разных команд
321
- - **Сид:** SHA256 от account_id детерминированный, переназначаемый
322
- - **Распределение:** 50/50
323
- - **Допустимость:** Аккаунты, активирующие AI тариф с 8 июля (дата начала теста)
324
-
325
- ## Контрольные метрики
326
-
327
- | Метрика | Базовый уровень | Порог | Мониторинг |
328
- |--------|:--------:|:---------:|:----------:|
329
- | Валовой коэффициент оттока (AI tier аккаунты) | 3% / 90 дней | 4% | Еженедельно |
330
- | NPS (в AI тарифе) | 50 | ≥ 47 | Двухнедельный опрос |
331
- | Тикеты поддержки «путаница при онбординге» | <2% от общего | <3% | Ежедневная проверка |
332
- | NPS менеджеров по AI функции | 52 | ≥ 48 | Ежемесячный опрос внутри продукта |
333
-
334
- **При нарушении любой контрольной метрики:** приостановить эксперимент, расследовать, потенциально завершить.
335
-
336
- ## Сегментный анализ (предзарегистрированный)
337
-
338
- Ожидаемый дифференциальный прирост:
339
- - **Размер компании:** Ожидается наибольший прирост у SMB (менее опытные менеджеры) > mid-market > enterprise (уже имеют программы обучения)
340
- - **Опыт менеджера:** Ожидается наибольший прирост у новых менеджеров (<2 лет)
341
- - **Отрасль:** Технологические компании — первопроходцы — ожидается наибольший базовый уровень + умеренный прирост
342
-
343
- Анализ будет представлен **как** в целом, **так и** по сегментам. Никаких cherry-picking сегментов постфактум.
344
-
345
- ## Статистический метод
346
-
347
- - **Частотный, Z-тест для долей** (стандарт для A/B по коэффициенту принятия)
348
- - α = 0.05 двусторонний
349
- - Мощность = 0.80
350
- - Без промежуточных просмотров до запланированной продолжительности (18 недель)
351
- - Сегментный анализ — коррекция множественных сравнений (Бонферрони): α / 3 сегмента = 0.017
352
-
353
- ## Критическая область / Правила остановки
354
-
355
- ### Успех (Выкатить на всех)
356
- - Основная метрика: прирост теста 7pp, значим при α=0.05
357
- - Нет нарушений контрольных метрик
358
- - Выполнено ≥ 16 недель
359
-
360
- ### Провал (Остановить — убрать вариант)
361
- - Основная метрика: абсолютная разница < 3pp после достижения 50% выборки
362
- - ИЛИ нарушение контрольной метрики
363
-
364
- ### Расширенное наблюдение (продолжить)
365
- - Основная метрика: наблюдается 3-7pp, незначимо → продолжить до запланированной продолжительности
366
-
367
- ### Ранний положительный сигнал (без остановки)
368
- - Основная метрика: 8pp+ наблюдается при 25% выборки, значимо
369
- - Действие: НЕ останавливать раньше времени — продолжать, следить за неоднородностью
370
-
371
- ## Предзарегистрированный план анализа
372
-
373
- Опубликован во внутренней wiki до начала эксперимента:
374
-
375
- 1. Основная метрика: 30-дневный еженедельный коэффициент принятия, Z-тест, α=0.05
376
- 2. Проверки контрольных метрик: еженедельные автоматические оповещения
377
- 3. Сегментный анализ: по размеру компании, опыту менеджера, отрасли (коррекция Бонферрони)
378
- 4. Правила интерпретации: зафиксированы выше
379
- 5. Отчётность: еженедельный дашборд, формальный отчёт на неделях 8, 16, 18
380
-
381
- ## План реализации
382
-
383
- ### До запуска
384
- - [ ] Флаг функции настроен (уровень аккаунта, детерминированный)
385
- - [ ] Тестовый вариант собран + прошёл QA
386
- - [ ] Инструментирование: событие `onboarding_checklist_step_completed`, `onboarding_checklist_dismissed`
387
- - [ ] Аналитический дашборд работает (автообновление еженедельно)
388
- - [ ] Контрольный вариант верифицирован как неизменный относительно продакшна
389
-
390
- ### Во время
391
- - **Еженедельный обзор** (понедельник 10:00): проверка накопления выборки, контрольных метрик, без промежуточного анализа
392
- - **Двухнедельный опрос:** 20 случайных менеджеров из каждого варианта — качественный сигнал
393
- - **Реагирование на инциденты:** при нарушении контрольной метрики приостановить в течение 24 часов
394
-
395
- ### После (при успехе)
396
- - Полная выкатка — удалить флаг функции
397
- - Чеклист становится частью стандартного онбординга
398
- - Задокументировать обоснование решения для будущих итераций
399
-
400
- ### После (при провале)
401
- - Вариант убирается
402
- - Качественный анализ причин интервью с менеджерами, которые завершили / не завершили чеклист
403
- - Проектирование следующего эксперимента (например, другой подход к онбордингу)
404
-
405
- ## Открытые вопросы
406
-
407
- 1. Показываем ли вариант существующим неактивированным менеджерам в AI-tier аккаунтах? (**Решение:** Нет, только новые активации с 8 июля более чистый базовый уровень)
408
- 2. Что насчёт менеджеров в аккаунтах, которые активируются В ХОДЕ эксперимента, но ВЕСЬ вариант различается? (**Решение:** Следовать назначению аккаунта если аккаунт тестовый, все новые менеджеры видят чеклист)
409
- 3. Бонферрони vs альтернативная коррекция множественных сравнений? (**Решение:** Бонферрони консервативный, проще объяснить)
410
- ```
411
-
412
- > **Урок дизайна A/B:** Расчёт размера выборки показал, что MDE пришлось **повысить**, без сокращений. **18 недель** это реальное обязательство — не фиктивный «2-недельный» тест, который читает шум. **Рандомизация на уровне аккаунта** критична в B2B — уровень пользователя привёл бы к тому, что одна команда разделилась по вариантам = недействительно. **Предзарегистрированный план анализа** во внутренней wiki предотвращает HARKing (выдвижение гипотез после получения результатов). **Контрольные метрики с числовыми порогами** — без них происходят рационализации «отток немного вырос, но функция выиграла». Этот тест — честная наука — занимает месяцы, проверяет одно чисто.
1
+ ---
2
+ name: ab-test-design
3
+ description: Дизайн A/B-теста — primary metric, MDE, sample size, duration, guardrails, critical region
4
+ type: triggered
5
+ domain: product
6
+ owners:
7
+ - data_analyst
8
+ gates:
9
+ - DATA_ANALYST
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "ab-test-design"
14
+ - "A/B test"
15
+ - "сплит-тест"
16
+ - "experiment design"
17
+ related: []
18
+ budget_lines: 428
19
+ schema_version: 1
20
+ ---
21
+ # A/B Test Design
22
+
23
+ > **Категория:** Experimentation · **Slug:** `ab-test-design`
24
+
25
+ ## Когда использовать
26
+
27
+ - Для валидации гипотезы с количественным сигналом.
28
+ - При выкатке высокорискованных изменений (ценообразование, онбординг, ключевой поток).
29
+ - Для сравнения альтернатив, когда доказательства неясны.
30
+ - При измерении влияния функции для критериев успеха PRD.
31
+
32
+ ## Вход
33
+
34
+ | Поле | Обязательно | Описание |
35
+ |------|:-----------:|----------|
36
+ | Hypothesis | | Через `$hypothesis-template` |
37
+ | Primary metric | ✅ | Что измеряем |
38
+ | Baseline metric value | | Текущее среднее + дисперсия |
39
+ | Expected effect size | | MDE минимальный обнаруживаемый эффект |
40
+ | Traffic / eligible users | | Недельная подходящая выборка |
41
+ | Infrastructure | | Флаги функций / платформа экспериментов |
42
+
43
+ ## Источники данных
44
+
45
+ 1. Исторические данные метрики базовый уровень + дисперсия.
46
+ 2. `$hypothesis-template` — ожидаемое направление + величина.
47
+ 3. Пользовательская аналитика — подходящая аудитория.
48
+ 4. Отраслевые бенчмарки типичные размеры эффектов.
49
+
50
+ ### Связь с другими скилами
51
+
52
+ | Скил | Что берём | Когда вызывать |
53
+ |------|-----------|----------------|
54
+ | `hypothesis-template` | Что тестируем | Предусловие |
55
+ | `saas-metrics` | Основные + контрольные метрики | Для выбора |
56
+ | `aarrr-metrics` | Контекст воронки | Для понимания |
57
+ | `assumption-mapping` | Высокорискованное допущение A/B | Для топ-допущений |
58
+
59
+ ## Протокол
60
+
61
+ ### Шаг 0 Подходит ли A/B?
62
+
63
+ Чеклист:
64
+ - Достаточно трафика (≥ 1000 пользователей / неделю на вариант)?
65
+ - Метрика поддаётся инструментированию + обнаружима в рамках временного горизонта?
66
+ - Изменение изолируемо (не запутано с другими выкатками)?
67
+ - Допустимо ли A/B тестирование (не критическая безопасность / соответствие)?
68
+
69
+ Если нетальтернативы: поэтапная выкатка с когортным сравнением, до/после, качественное тестирование.
70
+
71
+ ### Шаг 1Основная метрика
72
+
73
+ Единственная основная метрика. Не несколько («Влияние на activation И retention»).
74
+
75
+ Типичные варианты:
76
+ - **Activation:** 7-дневный коэффициент активации
77
+ - **Retention:** активность неделя/неделю, отток
78
+ - **Conversion:** signup paid, trial → active
79
+ - **Engagement:** действий за сессию, DAU/MAU
80
+
81
+ Свойства:
82
+ - **Обнаружима** в разумном размере выборки
83
+ - **Согласована** с ожидаемым результатом гипотезы
84
+ - **Чувствительна**реагирует, когда происходит ожидаемое изменение
85
+ - **Достоверна** — сложно поддаётся манипуляции
86
+
87
+ ### Шаг 2 — Минимальный обнаруживаемый эффект (MDE)
88
+
89
+ MDE — наименьший прирост, который стоит обнаруживать. Компромисс:
90
+ - Меньший MDE = нужна большая выборка = более долгий тест
91
+ - Больший MDE = более быстрый тест, но можно пропустить небольшие улучшения
92
+
93
+ Практические правила:
94
+ - Метрики активации: MDE 3-5% (пп)
95
+ - Метрики конверсии: MDE 5-10% (пп) относительный прирост
96
+ - Метрики удержания: MDE 2-4% (пп)
97
+
98
+ В B2B: меньшие выборки → MDE чаще 5-10% минимум.
99
+
100
+ ### Шаг 3 — Расчёт размера выборки
101
+
102
+ Формула для тестов долей:
103
+ ```
104
+ n на вариант = (Z_α/2 + Z_β)² × 2 × p(1-p) / MDE²
105
+ ```
106
+
107
+ Где:
108
+ - Z_α/2 = 1.96 (95% доверительный интервал)
109
+ - Z_β = 0.84 (80% мощность)
110
+ - p = базовый коэффициент
111
+ - MDE = минимальный обнаруживаемый эффект
112
+
113
+ Для непрерывных метрик аналогичная формула с дисперсией.
114
+
115
+ **Использовать калькулятор:** онлайн-инструменты (Evan Miller, калькулятор Optimizely) — не рассчитывать вручную.
116
+
117
+ ### Шаг 4 — Продолжительность
118
+
119
+ Продолжительность = размер_выборки × варианты / еженедельные_подходящие_пользователи.
120
+
121
+ Умножить:
122
+ - На 1.5-2× для недельной цикличности (будни vs выходные)
123
+ - Для B2B: минимум 2 недели (полный недельный цикл)
124
+ - Максимум: 6-8 недель (сверх этого — контекст меняется, сезонность)
125
+
126
+ ### Шаг 5 — Рандомизация
127
+
128
+ - **Единица:** уровень пользователя или аккаунта (B2B: обычно уровень аккаунта, чтобы избежать раздвоения в команде)
129
+ - **Сид:** случайный, но детерминированный (один и тот же пользователь получает тот же вариант при повторном посещении)
130
+ - **Распределение:** 50/50 по умолчанию, можно 80/20 (упор на контроль) для рискованных изменений
131
+
132
+ ### Шаг 6 — Контрольные метрики
133
+
134
+ Метрики, которые не должны деградировать:
135
+ - Коэффициент оттока
136
+ - NPS / CSAT
137
+ - Объём обращений в поддержку
138
+ - Задержка p95 / коэффициент ошибок
139
+ - Выручка / пользователь
140
+
141
+ Установить пороги (например, «отток не может расти >1pp»).
142
+
143
+ ### Шаг 7 — План сегментного анализа
144
+
145
+ Предзарегистрировать (не p-hacking после):
146
+ - По размеру компании
147
+ - По стажу (новые vs давние)
148
+ - По роли
149
+ - По географии (если актуально)
150
+
151
+ Задокументировать в плане теста, а не после результатов.
152
+
153
+ ### Шаг 8 — Статистический метод
154
+
155
+ - **Частотный** (наиболее распространённый): p-value < 0.05, мощность 80%
156
+ - **Байесовский:** апостериорная вероятность улучшения > 95%
157
+
158
+ Выбрать один. Задокументировать.
159
+
160
+ ### Шаг 9 — Критическая область / Правила остановки
161
+
162
+ Когда остановить тест:
163
+ - **Успех**достигнута значимость, остановить
164
+ - **Провал (бесполезность):** минимальный эффект после N% выборки, остановить
165
+ - **Нарушение контрольной метрики:** даже если основная метрика выигрывает, остановить
166
+ - **Лимит времени:** достигнута максимальная продолжительность
167
+
168
+ **НИКОГДА не подглядывать раньше времени** и останавливать по p-value (увеличивает долю ложноположительных результатов) без последовательного дизайна тестирования.
169
+
170
+ ### Шаг 10 Предзарегистрированный план анализа
171
+
172
+ Задокументировать ДО запуска теста:
173
+ - Основная метрика + MDE + размер выборки
174
+ - Сегменты
175
+ - Контрольные метрики
176
+ - Критерии остановки
177
+ - Правила интерпретации
178
+
179
+ Позволяет избежать HARKing (Hypothesizing After Results Known — выдвижение гипотез после получения результатов).
180
+
181
+ ## Валидация (Quality Gate)
182
+
183
+ - [ ] A/B подходит (трафик, изоляция, допустимость)
184
+ - [ ] Основная метрика единственная + чётко определена
185
+ - [ ] Обоснование MDE (бизнес + обнаружимость)
186
+ - [ ] Рассчитан размер выборки
187
+ - [ ] Продолжительность 2 недель, ≤ 8 недель
188
+ - [ ] Единица рандомизации подходящая (пользователь / аккаунт)
189
+ - [ ] Контрольные метрики с порогами
190
+ - [ ] Сегментный анализ предзарегистрирован
191
+ - [ ] Статистический метод выбран + обоснован
192
+ - [ ] Правила остановки явны
193
+ - [ ] Предзарегистрированный план анализа
194
+
195
+ ## Handoff
196
+
197
+ Результат является входом для:
198
+ - **Engineering** флаг функции + инструментирование
199
+ - **Data Analyst** дашборд мониторинга
200
+ - **PM** → критерии запуска
201
+ - **Stakeholders** → еженедельные отчёты
202
+
203
+ Формат: документ дизайна A/B теста (markdown). Через `$handoff`.
204
+
205
+ ## Anti-patterns
206
+
207
+ | Ошибка | Почему плохо | Как правильно |
208
+ |--------|-------------|---------------|
209
+ | Несколько основных метрик | Раздувание p-value | Единственная основная |
210
+ | Подглядывание + ранняя остановка | Ложноположительный результат | Последовательный или фиксированная продолжительность |
211
+ | Нет обоснования MDE | Недостаточная мощность или слишком долгий тест | Обоснование через бизнес + обнаружимость |
212
+ | Игнорировать контрольные метрики | Функция «выигрывает», ломая другое | Явные контрольные метрики с критериями отключения |
213
+ | Нет предрегистрации | HARKing, p-hacking | Планировать до запуска |
214
+ | Короткая продолжительность | Шум недельного цикла | Минимум 2 недели |
215
+ | Уровень пользователя в B2B потоке | Один аккаунт, разные варианты | Рандомизация на уровне аккаунта |
216
+
217
+ ## Шаблон
218
+
219
+ ```markdown
220
+ # A/B Test: [Название]
221
+
222
+ ## Гипотеза
223
+ [через $hypothesis-template]
224
+
225
+ ## Основная метрика
226
+ - Метрика: [например, 7-дневный коэффициент активации]
227
+ - Базовый уровень: X% (последние 30 дней)
228
+ - MDE: +5pp (обоснование: бизнес-потребность + поддержка выборки)
229
+
230
+ ## Выборка и продолжительность
231
+ - Подходящих пользователей / неделю: Y
232
+ - Выборка на вариант: Z
233
+ - Рассчитанная продолжительность: N недель
234
+ - Запланированная продолжительность: N недель (с учётом цикличности)
235
+
236
+ ## Варианты
237
+ - Контроль: текущий поток
238
+ - Тест: [изменение]
239
+ - Распределение: 50/50
240
+ - Рандомизация: уровень аккаунта, детерминированная
241
+
242
+ ## Контрольные метрики
243
+ | Метрика | Текущий | Порог |
244
+ | Коэффициент оттока | 2% | < 2.5% |
245
+ | NPS | 45 | ≥ 43 |
246
+ | Задержка p95 | 180ms | < 200ms |
247
+
248
+ ## Предзарегистрированный анализ
249
+ - Сегменты: размер компании, роль пользователя
250
+ - Статистический метод: частотный, α=0.05, мощность=0.8
251
+ - Критерии выкатки: основная метрика +MDE значима, нет нарушений контрольных метрик
252
+
253
+ ## Правила остановки
254
+ - Успех: достигнута значимость + контрольные метрики в норме → выкатить
255
+ - Провал: эффект < MDE при 50%+ выборки → отклонить
256
+ - Контрольная метрика: нарушена любая → остановить, расследовать
257
+ - Максимальная продолжительность: 8 недель
258
+ ```
259
+
260
+ ## Worked Example TeamFlow Onboarding A/B Test (Post-MVP Iteration)
261
+
262
+ **Контекст:** AI Summarization MVP выкачен. 30 дней спустя, гипотеза H-003 (принятие) отслеживает 42% принятия — ниже цели 60%. Data Analyst проектирует A/B тест чеклиста онбординга vs контроль для итерации.
263
+
264
+ ```markdown
265
+ # A/B Test Design: Onboarding Checklist for New AI Tier Managers
266
+
267
+ **Experiment ID:** EXP-025
268
+ **Статус:** Утверждён, запуск 8 июля 2026
269
+ **Владелец:** Sam P. (Data) + Alex K. (PM) + Jordan M. (Design)
270
+ **Гипотеза:** Итерация 1 гипотезы H-003
271
+
272
+ ## Гипотеза (переформулирована для теста)
273
+
274
+ **Мы считаем**, что предоставление чеклиста онбординга («Выполните 3 шага, чтобы освоить AI-резюме»)
275
+ **Для** менеджеров, только что активированных в AI-tier аккаунтах,
276
+ **Приведёт к** более высокому 30-дневному еженедельному коэффициенту принятия
277
+ **Мы узнаем, что это правда, когда** 30-дневный коэффициент принятия в тестовой группе будет на ≥5pp выше, чем в контрольной
278
+ **Потому что:**
279
+ - Открытие удивило: 60% не принявших указали «не знал с чего начать» в опросе после запуска
280
+ - Чеклисты онбординга в существующих функциях TeamFlow показывают прирост активации +22% (внутренний бенчмарк)
281
+ - 7-дневное окно первой активации предсказывает долгосрочное удержание (когортный анализ Q1)
282
+
283
+ ## Основная метрика
284
+
285
+ - **Метрика:** 30-дневный еженедельный коэффициент принятия (% только что активированных менеджеров, использовавших AI-резюме ≥1 раза в неделю в недели 2-4 после активации)
286
+ - **Базовый уровень:** 42% (текущий, измерен за последние 30 дней выкатки AI тарифа)
287
+ - **MDE:** +5pp (цель: 47% тест vs 42% контроль)
288
+ - **Обоснование MDE:**
289
+ - Бизнес-порог: +5pp × ~200 новых менеджеров/месяц = 10 дополнительно удержанных менеджеров/месяц = $2.4K MRR
290
+ - Обнаружим с разумной выборкой (см. расчёт размера выборки)
291
+ - Ниже 5pp несущественно для решения на уровне PM
292
+
293
+ ## Расчёт размера выборки
294
+
295
+ Используя формулу для теста долей:
296
+ - Базовый уровень p1 = 0.42
297
+ - Тест p2 = 0.47 (цель)
298
+ - α = 0.05 (двусторонний)
299
+ - Мощность = 0.80
300
+ - Z_α/2 = 1.96, Z_β = 0.84
301
+
302
+ n на вариант = 2 × (1.96 + 0.84)² × [0.42(0.58) + 0.47(0.53)] / (0.05)²
303
+ 2 × 7.84 × 0.493 / 0.0025
304
+ ≈ 3092
305
+
306
+ **Выборка на вариант: ~3100**
307
+ **Итоговая выборка: 6200**
308
+
309
+ ## Продолжительность
310
+
311
+ - Еженедельно активирующихся менеджеров в AI тарифе: ~200/неделю
312
+ - Продолжительность: 6200 / 200 = **31 неделя**
313
+
314
+ **Проблема:** 31 неделя — неразумно долго. Варианты:
315
+ 1. **Поднять MDE до 7pp** (цель 49%) продолжительность сократится до ~16 недель
316
+ 2. **Увеличить распределение до 80/20** — больше веса на тест, но ускорения нет
317
+ 3. **Принять увеличенный горизонт** с еженедельным мониторингом для раннего сигнала
318
+
319
+ **Решение:** Поднять MDE до 7pp (цель 49%). Обоснование с точки зрения бизнеса 7pp × 200 менеджеров = 14 менеджеров/месяц сохранено, существенно.
320
+
321
+ **Пересмотренная продолжительность: 16 недель.** Плюс буфер на цикличность: итого 18 недель.
322
+
323
+ ## Варианты
324
+
325
+ - **Контроль (50%):** Текущий опыт — менеджер активирует тариф, видит стандартный онбординг TeamFlow, без чеклиста
326
+ - **Тест (50%):** То же самое + закреплённый чеклист онбординга:
327
+ - Шаг 1: Включить AI для первой встречи 1:1 (кнопка)
328
+ - Шаг 2: Просмотреть сгенерированное резюме + утвердить
329
+ - Шаг 3: Проверить извлечённые пункты действий перед следующей встречей 1:1
330
+
331
+ Чеклист остаётся в дашборде менеджера до завершения всех 3 шагов или ручного скрытия.
332
+
333
+ ## Рандомизация
334
+
335
+ - **Единица:** Уровень аккаунта (не уровень пользователя — один аккаунт получает один вариант для всех менеджеров)
336
+ - Обоснование: B2B-последовательность — HR-администратор не должен видеть разный онбординг для разных команд
337
+ - **Сид:** SHA256 от account_id — детерминированный, переназначаемый
338
+ - **Распределение:** 50/50
339
+ - **Допустимость:** Аккаунты, активирующие AI тариф с 8 июля (дата начала теста)
340
+
341
+ ## Контрольные метрики
342
+
343
+ | Метрика | Базовый уровень | Порог | Мониторинг |
344
+ |--------|:--------:|:---------:|:----------:|
345
+ | Валовой коэффициент оттока (AI tier аккаунты) | 3% / 90 дней | ≤ 4% | Еженедельно |
346
+ | NPS (в AI тарифе) | 50 | ≥ 47 | Двухнедельный опрос |
347
+ | Тикеты поддержки «путаница при онбординге» | <2% от общего | <3% | Ежедневная проверка |
348
+ | NPS менеджеров по AI функции | 52 | ≥ 48 | Ежемесячный опрос внутри продукта |
349
+
350
+ **При нарушении любой контрольной метрики:** приостановить эксперимент, расследовать, потенциально завершить.
351
+
352
+ ## Сегментный анализ (предзарегистрированный)
353
+
354
+ Ожидаемый дифференциальный прирост:
355
+ - **Размер компании:** Ожидается наибольший прирост у SMB (менее опытные менеджеры) > mid-market > enterprise (уже имеют программы обучения)
356
+ - **Опыт менеджера:** Ожидается наибольший прирост у новых менеджеров (<2 лет)
357
+ - **Отрасль:** Технологические компании — первопроходцы — ожидается наибольший базовый уровень + умеренный прирост
358
+
359
+ Анализ будет представлен **как** в целом, **так и** по сегментам. Никаких cherry-picking сегментов постфактум.
360
+
361
+ ## Статистический метод
362
+
363
+ - **Частотный, Z-тест для долей** (стандарт для A/B по коэффициенту принятия)
364
+ - α = 0.05 двусторонний
365
+ - Мощность = 0.80
366
+ - Без промежуточных просмотров до запланированной продолжительности (18 недель)
367
+ - Сегментный анализ коррекция множественных сравнений (Бонферрони): α / 3 сегмента = 0.017
368
+
369
+ ## Критическая область / Правила остановки
370
+
371
+ ### Успех (Выкатить на всех)
372
+ - Основная метрика: прирост теста ≥ 7pp, значим при α=0.05
373
+ - Нет нарушений контрольных метрик
374
+ - Выполнено ≥ 16 недель
375
+
376
+ ### Провал (Остановить убрать вариант)
377
+ - Основная метрика: абсолютная разница < 3pp после достижения 50% выборки
378
+ - ИЛИ нарушение контрольной метрики
379
+
380
+ ### Расширенное наблюдение (продолжить)
381
+ - Основная метрика: наблюдается 3-7pp, незначимо → продолжить до запланированной продолжительности
382
+
383
+ ### Ранний положительный сигнал (без остановки)
384
+ - Основная метрика: 8pp+ наблюдается при 25% выборки, значимо
385
+ - Действие: НЕ останавливать раньше времени продолжать, следить за неоднородностью
386
+
387
+ ## Предзарегистрированный план анализа
388
+
389
+ Опубликован во внутренней wiki до начала эксперимента:
390
+
391
+ 1. Основная метрика: 30-дневный еженедельный коэффициент принятия, Z-тест, α=0.05
392
+ 2. Проверки контрольных метрик: еженедельные автоматические оповещения
393
+ 3. Сегментный анализ: по размеру компании, опыту менеджера, отрасли (коррекция Бонферрони)
394
+ 4. Правила интерпретации: зафиксированы выше
395
+ 5. Отчётность: еженедельный дашборд, формальный отчёт на неделях 8, 16, 18
396
+
397
+ ## План реализации
398
+
399
+ ### До запуска
400
+ - [ ] Флаг функции настроен (уровень аккаунта, детерминированный)
401
+ - [ ] Тестовый вариант собран + прошёл QA
402
+ - [ ] Инструментирование: событие `onboarding_checklist_step_completed`, `onboarding_checklist_dismissed`
403
+ - [ ] Аналитический дашборд работает (автообновление еженедельно)
404
+ - [ ] Контрольный вариант верифицирован как неизменный относительно продакшна
405
+
406
+ ### Во время
407
+ - **Еженедельный обзор** (понедельник 10:00): проверка накопления выборки, контрольных метрик, без промежуточного анализа
408
+ - **Двухнедельный опрос:** 20 случайных менеджеров из каждого вариантакачественный сигнал
409
+ - **Реагирование на инциденты:** при нарушении контрольной метрикиприостановить в течение 24 часов
410
+
411
+ ### После (при успехе)
412
+ - Полная выкаткаудалить флаг функции
413
+ - Чеклист становится частью стандартного онбординга
414
+ - Задокументировать обоснование решения для будущих итераций
415
+
416
+ ### После (при провале)
417
+ - Вариант убирается
418
+ - Качественный анализ причин — интервью с менеджерами, которые завершили / не завершили чеклист
419
+ - Проектирование следующего эксперимента (например, другой подход к онбордингу)
420
+
421
+ ## Открытые вопросы
422
+
423
+ 1. Показываем ли вариант существующим неактивированным менеджерам в AI-tier аккаунтах? (**Решение:** Нет, только новые активации с 8 июля — более чистый базовый уровень)
424
+ 2. Что насчёт менеджеров в аккаунтах, которые активируются В ХОДЕ эксперимента, но ВЕСЬ вариант различается? (**Решение:** Следовать назначению аккаунта — если аккаунт тестовый, все новые менеджеры видят чеклист)
425
+ 3. Бонферрони vs альтернативная коррекция множественных сравнений? (**Решение:** Бонферрони — консервативный, проще объяснить)
426
+ ```
427
+
428
+ > **Урок дизайна A/B:** Расчёт размера выборки показал, что MDE пришлось **повысить**, без сокращений. **18 недель** — это реальное обязательство — не фиктивный «2-недельный» тест, который читает шум. **Рандомизация на уровне аккаунта** критична в B2B — уровень пользователя привёл бы к тому, что одна команда разделилась по вариантам = недействительно. **Предзарегистрированный план анализа** во внутренней wiki предотвращает HARKing (выдвижение гипотез после получения результатов). **Контрольные метрики с числовыми порогами** — без них происходят рационализации «отток немного вырос, но функция выиграла». Этот тест — честная наука — занимает месяцы, проверяет одно чисто.