code-ai-installer 4.0.0 → 4.0.1-b

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 +44 -6
  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 +14 -3
  65. package/dist/mcp_setup.js +15 -6
  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,385 +1,401 @@
1
- ---
2
- name: user-story
3
- description: Написание user stories по INVEST — As a / I want / So that, разделение buyer/end-user
4
- ---
5
- # User Story
6
-
7
- > **Категория:** Specification · **Slug:** `user-story`
8
-
9
- ## Когда использовать
10
-
11
- - В PRD — каждая user-facing функциональность.
12
- - В backlog grooming — преобразование идей в work items.
13
- - При epic breakdown — story-уровень.
14
- - В B2B — разделение buyer / end-user / admin stories.
15
-
16
- ## Вход
17
-
18
- | Поле | Обязательно | Описание |
19
- |------|:-----------:|----------|
20
- | User role | ✅ | Buyer / end-user / admin / champion |
21
- | JTBD / problem | ✅ | Что решаем |
22
- | Context | ✅ | Когда возникает |
23
-
24
- ## Источники данных
25
-
26
- 1. `$jtbd-canvas` — jobs как отправная точка.
27
- 2. `$problem-statement`проблема как «so that».
28
- 3. Customer interviewsязык пользователя.
29
-
30
- ### Связь с другими скилами
31
-
32
- | Скил | Что берём | Когда вызывать |
33
- |------|-----------|----------------|
34
- | `jtbd-canvas` | Jobs → «I want» | Перед stories |
35
- | `problem-statement` | Боль → «so that» | Для обоснования |
36
- | `acceptance-criteria` | Контракт | На каждую story |
37
- | `epic-breakdown` | Grouping | После stories |
38
-
39
- ## INVEST Criteria
40
-
41
- Хорошая user story:
42
- - **I**ndependent можно разработать независимо
43
- - **N**egotiable детали открыты для обсуждения, не зафиксированы
44
- - **V**aluableнесёт ценность для клиента
45
- - **E**stimable — команда может оценить effort
46
- - **S**mall умещается в 1-2 спринта (< 8 points)
47
- - **T**estable — чёткие критерии прохождения/непрохождения
48
-
49
- ## Формат
50
-
51
- **Canonical:**
52
- > **As a** [role]
53
- > **I want to** [action / capability]
54
- > **So that** [benefit / outcome]
55
-
56
- Пример:
57
- > **As a** DevOps engineer at mid-market SaaS
58
- > **I want to** set team-level role templates в 2-3 clicks
59
- > **So that** onboarding new teammates takes 10 min, не 2 hours
60
-
61
- ## Протокол
62
-
63
- ### Шаг 0 Ясность ролей (критично для B2B)
64
-
65
- **Разные stories для разных roles** — не смешивать в одной:
66
- - **End-user story** — повседневный опыт использования
67
- - **Buyer story** — решение о покупке / оценке
68
- - **Admin story** — конфигурация / governance
69
- - **Champion story** продвижение / отчётность
70
-
71
- В B2B отдельные stories на роль — разные AC, разные flows.
72
-
73
- ### Шаг 1 «So That» First
74
-
75
- Писать в обратном порядке сначала benefit, потом action.
76
-
77
- Захватить customer outcome:
78
- - ❌ «Чтобы пользователи могли использовать новую функцию» (цикличность)
79
- - «Чтобы я мог закрыть ежеквартальный compliance-аудит за 2 часа вместо 2 дней»
80
-
81
- Benefit**конкретный, измеримый**, связан с JTBD.
82
-
83
- ### Шаг 2«I Want»
84
-
85
- Действие или возможностьчто конкретно делает пользователь.
86
-
87
- - Атомарное (одно действие)
88
- - Технологически нейтральное («view team activity» не «click button on dashboard»)
89
- - Язык пользователя, не инженерный
90
-
91
- ### Шаг 3«As
92
-
93
- Конкретная роль, не generic «user»:
94
- - «DevOps-инженер в mid-market SaaS» > «user»
95
- - «Customer Success Manager с >100 аккаунтами» > «user»
96
-
97
- Привязать роль к сегменту (если фича специфична для сегмента).
98
-
99
- ### Шаг 4INVEST Check
100
-
101
- Проверить каждую story:
102
- - **I** — Можно разработать независимо? Если нужны другие stories сначала → split.
103
- - **N** — Детали открыты для обсуждения? (не переспецифицировано)
104
- - **V** Клиент получает value? Если только техническое улучшение → переформулировать через user outcome.
105
- - **E** Команда может оценить? Если нет — неизвестное требует spike.
106
- - **S** — Меньше 2 sprints? Если нет — split.
107
- - **T**Можно написать чёткие pass/fail AC?
108
-
109
- ### Шаг 5 Разбивка крупных stories
110
-
111
- Техники разбивки:
112
- - **Workflow:** «create → update → delete» → 3 stories
113
- - **Data:** разные типы сущностей (user team organization)
114
- - **Happy path + edges:** основной flow → error states отдельными stories
115
- - **Acceptance criteria:** вытащить один scenario за другим из AC
116
-
117
- ### Шаг 6 — Оценка размера story
118
-
119
- T-shirt или Story Points:
120
- - **S** (1-2 pts): < 1 дня
121
- - **M** (3-5 pts): 1-3 дня
122
- - **L** (8 pts): 4-7 дней
123
- - **XL** (13+ pts): **split**
124
-
125
- ### Шаг 7Заметки по переговорам
126
-
127
- Добавить поле «Notes» для:
128
- - Открытых вопросов
129
- - Предположений
130
- - Предложенных границ scope
131
-
132
- Это сигналы инженерам: где есть пространство для переговоров.
133
-
134
- ### Шаг 8 — Добавить AC
135
-
136
- Каждая story требует AC через `$acceptance-criteria`.
137
-
138
- Без AC story не готова к спринту.
139
-
140
- ## Валидация (Quality Gate)
141
-
142
- - [ ] Формат: As a / I want / So that
143
- - [ ] Роль — конкретная, не generic «user»
144
- - [ ] B2B: разделено по роли (если multi-role flow)
145
- - [ ] «So that» — конкретная, измеримая польза
146
- - [ ] INVEST пройден (все 6)
147
- - [ ] Размер ≤ 8 pts (или split)
148
- - [ ] AC прикреплены
149
- - [ ] Notes / предположения явны
150
-
151
- ## Handoff
152
-
153
- Результат является входом для:
154
- - **`acceptance-criteria`**каждая story
155
- - **`epic-breakdown`** — grouping
156
- - **Engineering** implementation
157
- - **QA** → test cases
158
-
159
- Формат: story card (заголовок + as-I-so-that + notes + ссылка на AC). Через `$handoff`.
160
-
161
- ## Anti-patterns
162
-
163
- | Ошибка | Почему плохо | Как правильно |
164
- |--------|-------------|---------------|
165
- | Роль «User» | Потеря контекста | Конкретная роль/сегмент |
166
- | Расплывчатое «so that» | Потеря ценности | Измеримая польза |
167
- | Реализация в story | Переспецификация | Действие, не UI |
168
- | Смешение ролей в одной story | Запутанные AC | Разделять по роли |
169
- | Большие (>13 pt) | Невозможно оценить | Разбить техниками |
170
- | Нет AC | Нет контракта | Обязательно иметь AC |
171
- | «As developer I want refactor» | Не ценность клиента | Перевести в user outcome |
172
-
173
- ## Шаблон
174
-
175
- ```markdown
176
- ## Story: [Краткое название]
177
-
178
- **As a** [конкретная роль]
179
- **I want to** [действие]
180
- **So that** [измеримая польза]
181
-
182
- ### Notes
183
- - Предположение: [X]
184
- - Открытый вопрос: [Y]
185
-
186
- ### Acceptance Criteria
187
- [через $acceptance-criteria]
188
-
189
- ### Размер
190
- M (3-5 points)
191
-
192
- ### Зависимости
193
- - Story [#123] (предпосылка)
194
- ```
195
-
196
- ## Worked Example — TeamFlow User Stories for AI Summarization
197
-
198
- **Контекст:** 14 user stories в PRD всего. Ниже — 7 ключевых stories с правильным INVEST + разделением ролей B2B. Демонстрируют технику разбивки: end-user vs admin vs buyer.
199
-
200
- ### Stories сгруппированы по роли
201
-
202
- ---
203
-
204
- #### Роль: People Manager (end-user) — Основная
205
-
206
- **Story S1: Включить AI Summarization для предстоящего 1:1**
207
-
208
- **As a** People manager с 5+ прямыми подчинёнными в mid-market B2B SaaS компании на Team Tier
209
- **I want to** переключить «AI assist» для предстоящего 1:1 одним кликом
210
- **So that** я могу полностью сосредоточиться на разговоре, не беспокоясь о заметках
211
-
212
- **Notes:**
213
- - Состояние по умолчанию: выключено (opt-in уважает приватность), пользователь активирует на каждую встречу
214
- - Admin может установить включено по умолчанию для всех новых 1:1 (настройка организации, S7)
215
- - Предположение: менеджеры предпочитают контроль на каждую встречу. Валидировано в Discovery E2-E4.
216
- - Открытый вопрос: применяется ли переключатель ко всей встрече или до/после событий переключения? → уточнить в AC
217
-
218
- **AC:** [см. `$acceptance-criteria` сценарии S1 — всего 4]
219
-
220
- **Размер:** S (2 points) — UI переключатель, проверка feature flag, settings API
221
- **Зависимости:** T1 (инфраструктура feature flag)
222
- **Валидация роли:** INVEST пройден (independent, negotiable, valuable, estimable, small, testable)
223
-
224
- ---
225
-
226
- **Story S2: Получить AI-сводку в течение 60 секунд после окончания встречи**
227
-
228
- **As a** People manager, завершивший AI-enabled 1:1
229
- **I want to** получить структурированную сводку (темы, решения, action items) в течение 60 секунд после окончания встречи
230
- **So that** я могу проверить и подтвердить её перед переходом к следующей задаче
231
-
232
- **Notes:**
233
- - Streaming UX приемлем — сводка заполняется постепенно в течение 60s
234
- - Порог качества: ≥70% сводок приемлемы без существенных правок (измеряется через S3)
235
- - Предположение: 60s ощущается мгновенно; 90s ощущается медленно. Валидировано через beta-обратную связь в Wizard-of-Oz тесте.
236
-
237
- **AC:** [4 сценария: happy path, streaming fallback, LLM timeout, встреча <5 мин — пропускается]
238
-
239
- **Размер:** L (8 points) — ядро AI-пайплайна
240
- **Зависимости:** S1 (должен быть включён), T2 (LLM API интеграция)
241
-
242
- ---
243
-
244
- **Story S3: Проверять и редактировать AI-сводку inline**
245
-
246
- **As a** менеджер, просматривающий AI-сводку
247
- **I want to** редактировать контент inline (добавлять, удалять, изменять) и помечать как подтверждённое
248
- **So that** правки становятся авторитетной записью, и будущий AI учится моему стилю
249
-
250
- **Notes:**
251
- - Правки отслеживаются отдельно от оригинальной AI-версии (оба сохраняются для аудита + обучения)
252
- - Состояние подтверждения: «draft (AI)», «edited», «approved» (подтверждено менеджером)
253
- - Открытый вопрос: авто-подтверждение через 7 дней без правок? по умолчанию: нет, статус остаётся «awaiting review»
254
-
255
- **AC:** [3 сценария: базовое редактирование, отмена редактирования, approved → только чтение]
256
-
257
- **Размер:** M (5 points) — интеграция rich-text редактора + конечный автомат
258
- **Зависимости:** S2 (должна быть сводка)
259
-
260
- ---
261
-
262
- **Story S4: Автоматически отслеживать Action Items из сводки**
263
-
264
- **As a** менеджер с подтверждённой AI-сводкой
265
- **I want** извлечённые action items автоматически добавлялись в мою очередь follow-up с владельцем + датой (если LLM вывел)
266
- **So that** я не теряю обязательства между встречами
267
-
268
- **Notes:**
269
- - Порог достоверности извлечения: >70% элементы с низкой достоверностью показываются отдельно для проверки менеджером
270
- - Владелец по умолчанию: выводится из контекста (если «Sarah, please review» → Sarah), иначе менеджер
271
- - Дата по умолчанию: «к следующему 1:1» (7 дней), менеджер может переопределить
272
-
273
- **AC:** [4 сценария: стандартное извлечение, проверка низкой достоверности, вывод владельца, кастомная дата]
274
-
275
- **Размер:** M (5 points)
276
- **Зависимости:** S2
277
-
278
- ---
279
-
280
- **Story S5: Видеть напоминание об Action Items перед следующим 1:1**
281
-
282
- **As a** менеджер с открытыми action items из предыдущего 1:1 с подчинённым
283
- **I want** эти элементы всплывали за 30 мин до предстоящего 1:1 через in-product уведомление + email
284
- **So that** follow-through остаётся в фокусе и разговор развивается естественно
285
-
286
- **Notes:**
287
- - Окно 30 мин настраивается (15 / 30 / 60 / отключено) пользовательская настройка
288
- - Элементы, отмеченные выполненными в UI напоминания, синхронизируются как с видом менеджера, так и подчинённого
289
-
290
- **AC:** [3 сценария: напоминание срабатывает, кастомное окно, напоминание отключено по настройке пользователя]
291
-
292
- **Размер:** S (3 points) — на правилах, использует существующий стек уведомлений
293
- **Зависимости:** S4 (нужны существующие action items)
294
-
295
- ---
296
-
297
- #### Роль: Admin / HR Business Partner
298
-
299
- **Story S6: Настроить общеорганизационную политику AI Summarization**
300
-
301
- **As an** admin (HR Business Partner или People Ops lead) для аккаунта TeamFlow на Team или Enterprise tier
302
- **I want to** установить общеорганизационную политику AI (enabled / disabled / default-on для новых менеджеров)
303
- **So that** я могу согласовать использование AI в TeamFlow с решениями компании по data governance
304
-
305
- **Notes:**
306
- - 3 состояния: «disabled org-wide» (AI недоступен для всех), «enabled — per-manager opt-in» (по умолчанию), «enabled — default on для новых менеджеров»
307
- - Изменение политики уведомляет всех менеджеров
308
- - Настройка политики записывается в audit log
309
-
310
- **AC:** [4 сценария: 3 перехода состояний + проверка audit log]
311
-
312
- **Размер:** S (3 points)
313
- **Зависимости:** S1 (per-meeting переключатель должен существовать)
314
-
315
- ---
316
-
317
- **Story S7: Экспорт Audit Log операций AI**
318
-
319
- **As an** admin, ответственный за compliance (SOC 2, GDPR)
320
- **I want to** экспортировать audit log всех AI-операций (сводки сгенерированные, отредактированные, подтверждённые) за заданный период
321
- **So that** я могу продемонстрировать соответствие требованиям во время аудита + расследовать инциденты
322
-
323
- **Notes:**
324
- - Запись лога: временна́я метка, актор (ID менеджера), действие (generate/edit/approve/delete), meeting ID, summary ID
325
- - Форматы экспорта: CSV, JSON
326
- - Хранение: минимум 365 дней (юридический базовый уровень)
327
-
328
- **AC:** [3 сценария: экспорт happy path, фильтр по диапазону дат, пустой диапазон]
329
-
330
- **Размер:** S (3 points) — использует существующую инфраструктуру audit log
331
- **Зависимости:** S1, S2, S3 (все AI-операции логируются)
332
-
333
- ---
334
-
335
- #### Роль: Buyer (VP HR / CPO) проходит через admin опыт
336
-
337
- **Story S8 (перенесена в Приложение PRD scope dashboard Темы 2):**
338
-
339
- Stories видимости VP HR / aggregate dashboard — перенесены в отдельный PRD (aggregate-dashboard-v1), но связаны:
340
- - «Как VP HR, я хочу видеть adoption AI-суммаризации по командам, чтобы распределять обучение»
341
- - «Как CPO, я хочу видеть velocity action items как leading indicator здоровья команды»
342
-
343
- *Эти stories живут в Aggregate Dashboard PRD — перекрёстная ссылка здесь.*
344
-
345
- ---
346
-
347
- ### Сводка по размерам stories
348
-
349
- | Story | Размер | Итого |
350
- |-------|:------:|------|
351
- | S1 Включить переключатель | S (2) | Маленькая, быстрая |
352
- | S2 Генерировать сводку | L (8) | ГЛАВНАЯ — ядро AI |
353
- | S3 Редактировать inline | M (5) | Rich-редактор |
354
- | S4 Извлечь action items | M (5) | Постобработка |
355
- | S5 Напоминание | S (3) | На правилах |
356
- | S6 Политика организации | S (3) | Admin UI |
357
- | S7 Экспорт аудита | S (3) | Функция экспорта |
358
- | **Итого (основной flow):** | | **29 points** |
359
-
360
- Распределение размеров (1 L + 2 M + 4 S) — здоровая форма MVP. Нет XL = нет неоцененных рисков.
361
-
362
- ### Применённые техники разбивки
363
-
364
- - **По роли:** S1-S5 end-user (менеджер), S6-S7 admin, S8 отложена в отдельный PRD (buyer dashboard)
365
- - **По шагу workflow:** Подготовка (отложить — Q3), Во время встречи (S1-S2), Проверка (S3), Follow-through (S4-S5)
366
- - **Простое → Сложное:** S2 запускает «basic summary»; в будущем «summary + themes» отдельно
367
- - **Happy path Граничные случаи:** S2 happy path основное, обработка error-state через AC (не отдельные stories)
368
-
369
- ### DAG зависимостей stories
370
-
371
- ```
372
- T1 (инфраструктура feature flag)
373
- └─→ S1 (переключатель)
374
- └─→ S2 (генерировать сводку) зависит от T2 (LLM API)
375
- ├─→ S3 (редактировать inline)
376
- └─→ S4 (извлечь action items)
377
- └─→ S5 (напоминание)
378
-
379
- S6 (политика организации) ← зависит от S1 (per-meeting должен существовать сначала)
380
- S7 (экспорт аудита) зависит от S1, S2, S3 (нужны операции для логирования)
381
- ```
382
-
383
- **Критический путь (для MVP):** T1 S1 S2 S3 S4 S5 = ~26 points 6 недель при темпе 4 points/неделю.
384
-
385
- > **Урок user-story:** B2B **всегда** имеет несколько ролей. Разделение менеджера (end-user) от admin (HR Business Partner) от buyer (VP HR) — 3 отдельных набора AC, 3 отдельных формулировки «so that». Без разделения «As a user» = расплывчато. Stories S6-S7 ориентированы на admin — критичны для компаний с governance requirements. Наши начальные 14 stories включали только менеджера — Discovery B3 interview выявило потребность admin governance; S6-S7 были добавлены позже, что предотвратило жалобы после запуска «admin не имеет контроля».
1
+ ---
2
+ name: user-story
3
+ description: Написание user stories по INVEST — As a / I want / So that, разделение buyer/end-user
4
+ type: triggered
5
+ domain: product
6
+ owners:
7
+ - pm
8
+ gates:
9
+ - PM
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "user-story"
14
+ - "user story"
15
+ - "пользовательская история"
16
+ - "INVEST"
17
+ related: []
18
+ budget_lines: 401
19
+ schema_version: 1
20
+ ---
21
+ # User Story
22
+
23
+ > **Категория:** Specification · **Slug:** `user-story`
24
+
25
+ ## Когда использовать
26
+
27
+ - В PRD каждая user-facing функциональность.
28
+ - В backlog grooming преобразование идей в work items.
29
+ - При epic breakdown — story-уровень.
30
+ - В B2B разделение buyer / end-user / admin stories.
31
+
32
+ ## Вход
33
+
34
+ | Поле | Обязательно | Описание |
35
+ |------|:-----------:|----------|
36
+ | User role | | Buyer / end-user / admin / champion |
37
+ | JTBD / problem | | Что решаем |
38
+ | Context | ✅ | Когда возникает |
39
+
40
+ ## Источники данных
41
+
42
+ 1. `$jtbd-canvas`jobs как отправная точка.
43
+ 2. `$problem-statement`проблема как «so that».
44
+ 3. Customer interviews язык пользователя.
45
+
46
+ ### Связь с другими скилами
47
+
48
+ | Скил | Что берём | Когда вызывать |
49
+ |------|-----------|----------------|
50
+ | `jtbd-canvas` | Jobs → «I want» | Перед stories |
51
+ | `problem-statement` | Боль → «so that» | Для обоснования |
52
+ | `acceptance-criteria` | Контракт | На каждую story |
53
+ | `epic-breakdown` | Grouping | После stories |
54
+
55
+ ## INVEST Criteria
56
+
57
+ Хорошая user story:
58
+ - **I**ndependent можно разработать независимо
59
+ - **N**egotiable детали открыты для обсуждения, не зафиксированы
60
+ - **V**aluable — несёт ценность для клиента
61
+ - **E**stimable — команда может оценить effort
62
+ - **S**mall — умещается в 1-2 спринта (< 8 points)
63
+ - **T**estableчёткие критерии прохождения/непрохождения
64
+
65
+ ## Формат
66
+
67
+ **Canonical:**
68
+ > **As a** [role]
69
+ > **I want to** [action / capability]
70
+ > **So that** [benefit / outcome]
71
+
72
+ Пример:
73
+ > **As a** DevOps engineer at mid-market SaaS
74
+ > **I want to** set team-level role templates в 2-3 clicks
75
+ > **So that** onboarding new teammates takes 10 min, не 2 hours
76
+
77
+ ## Протокол
78
+
79
+ ### Шаг 0 Ясность ролей (критично для B2B)
80
+
81
+ **Разные stories для разных roles** не смешивать в одной:
82
+ - **End-user story** — повседневный опыт использования
83
+ - **Buyer story**решение о покупке / оценке
84
+ - **Admin story** — конфигурация / governance
85
+ - **Champion story**продвижение / отчётность
86
+
87
+ В B2B отдельные stories на роль — разные AC, разные flows.
88
+
89
+ ### Шаг 1 «So That» First
90
+
91
+ Писать в обратном порядке сначала benefit, потом action.
92
+
93
+ Захватить customer outcome:
94
+ - «Чтобы пользователи могли использовать новую функцию» (цикличность)
95
+ - «Чтобы я мог закрыть ежеквартальный compliance-аудит за 2 часа вместо 2 дней»
96
+
97
+ Benefit **конкретный, измеримый**, связан с JTBD.
98
+
99
+ ### Шаг 2«I Want»
100
+
101
+ Действие или возможность — что конкретно делает пользователь.
102
+
103
+ - Атомарное (одно действие)
104
+ - Технологически нейтральное («view team activity» не «click button on dashboard»)
105
+ - Язык пользователя, не инженерный
106
+
107
+ ### Шаг 3 «As
108
+
109
+ Конкретная роль, не generic «user»:
110
+ - «DevOps-инженер в mid-market SaaS» > «user»
111
+ - «Customer Success Manager с >100 аккаунтами» > «user»
112
+
113
+ Привязать роль к сегменту (если фича специфична для сегмента).
114
+
115
+ ### Шаг 4 INVEST Check
116
+
117
+ Проверить каждую story:
118
+ - **I** — Можно разработать независимо? Если нужны другие stories сначала → split.
119
+ - **N** Детали открыты для обсуждения? (не переспецифицировано)
120
+ - **V** Клиент получает value? Если только техническое улучшение → переформулировать через user outcome.
121
+ - **E** Команда может оценить? Если нет — неизвестное требует spike.
122
+ - **S** Меньше 2 sprints? Если нет — split.
123
+ - **T** Можно написать чёткие pass/fail AC?
124
+
125
+ ### Шаг 5Разбивка крупных stories
126
+
127
+ Техники разбивки:
128
+ - **Workflow:** «create → update → delete» → 3 stories
129
+ - **Data:** разные типы сущностей (user → team → organization)
130
+ - **Happy path + edges:** основной flow → error states отдельными stories
131
+ - **Acceptance criteria:** вытащить один scenario за другим из AC
132
+
133
+ ### Шаг 6 — Оценка размера story
134
+
135
+ T-shirt или Story Points:
136
+ - **S** (1-2 pts): < 1 дня
137
+ - **M** (3-5 pts): 1-3 дня
138
+ - **L** (8 pts): 4-7 дней
139
+ - **XL** (13+ pts): **split**
140
+
141
+ ### Шаг 7 — Заметки по переговорам
142
+
143
+ Добавить поле «Notes» для:
144
+ - Открытых вопросов
145
+ - Предположений
146
+ - Предложенных границ scope
147
+
148
+ Это сигналы инженерам: где есть пространство для переговоров.
149
+
150
+ ### Шаг 8 — Добавить AC
151
+
152
+ Каждая story требует AC через `$acceptance-criteria`.
153
+
154
+ Без AC story не готова к спринту.
155
+
156
+ ## Валидация (Quality Gate)
157
+
158
+ - [ ] Формат: As a / I want / So that
159
+ - [ ] Роль конкретная, не generic «user»
160
+ - [ ] B2B: разделено по роли (если multi-role flow)
161
+ - [ ] «So that» — конкретная, измеримая польза
162
+ - [ ] INVEST пройден (все 6)
163
+ - [ ] Размер 8 pts (или split)
164
+ - [ ] AC прикреплены
165
+ - [ ] Notes / предположения явны
166
+
167
+ ## Handoff
168
+
169
+ Результат является входом для:
170
+ - **`acceptance-criteria`** каждая story
171
+ - **`epic-breakdown`** grouping
172
+ - **Engineering** → implementation
173
+ - **QA** → test cases
174
+
175
+ Формат: story card (заголовок + as-I-so-that + notes + ссылка на AC). Через `$handoff`.
176
+
177
+ ## Anti-patterns
178
+
179
+ | Ошибка | Почему плохо | Как правильно |
180
+ |--------|-------------|---------------|
181
+ | Роль «User» | Потеря контекста | Конкретная роль/сегмент |
182
+ | Расплывчатое «so that» | Потеря ценности | Измеримая польза |
183
+ | Реализация в story | Переспецификация | Действие, не UI |
184
+ | Смешение ролей в одной story | Запутанные AC | Разделять по роли |
185
+ | Большие (>13 pt) | Невозможно оценить | Разбить техниками |
186
+ | Нет AC | Нет контракта | Обязательно иметь AC |
187
+ | «As developer I want refactor» | Не ценность клиента | Перевести в user outcome |
188
+
189
+ ## Шаблон
190
+
191
+ ```markdown
192
+ ## Story: [Краткое название]
193
+
194
+ **As a** [конкретная роль]
195
+ **I want to** [действие]
196
+ **So that** [измеримая польза]
197
+
198
+ ### Notes
199
+ - Предположение: [X]
200
+ - Открытый вопрос: [Y]
201
+
202
+ ### Acceptance Criteria
203
+ [через $acceptance-criteria]
204
+
205
+ ### Размер
206
+ M (3-5 points)
207
+
208
+ ### Зависимости
209
+ - Story [#123] (предпосылка)
210
+ ```
211
+
212
+ ## Worked Example — TeamFlow User Stories for AI Summarization
213
+
214
+ **Контекст:** 14 user stories в PRD всего. Ниже 7 ключевых stories с правильным INVEST + разделением ролей B2B. Демонстрируют технику разбивки: end-user vs admin vs buyer.
215
+
216
+ ### Stories сгруппированы по роли
217
+
218
+ ---
219
+
220
+ #### Роль: People Manager (end-user) — Основная
221
+
222
+ **Story S1: Включить AI Summarization для предстоящего 1:1**
223
+
224
+ **As a** People manager с 5+ прямыми подчинёнными в mid-market B2B SaaS компании на Team Tier
225
+ **I want to** переключить «AI assist» для предстоящего 1:1 одним кликом
226
+ **So that** я могу полностью сосредоточиться на разговоре, не беспокоясь о заметках
227
+
228
+ **Notes:**
229
+ - Состояние по умолчанию: выключено (opt-in уважает приватность), пользователь активирует на каждую встречу
230
+ - Admin может установить включено по умолчанию для всех новых 1:1 (настройка организации, S7)
231
+ - Предположение: менеджеры предпочитают контроль на каждую встречу. Валидировано в Discovery E2-E4.
232
+ - Открытый вопрос: применяется ли переключатель ко всей встрече или до/после событий переключения? → уточнить в AC
233
+
234
+ **AC:** [см. `$acceptance-criteria` сценарии S1 всего 4]
235
+
236
+ **Размер:** S (2 points) — UI переключатель, проверка feature flag, settings API
237
+ **Зависимости:** T1 (инфраструктура feature flag)
238
+ **Валидация роли:** INVEST пройден (independent, negotiable, valuable, estimable, small, testable)
239
+
240
+ ---
241
+
242
+ **Story S2: Получить AI-сводку в течение 60 секунд после окончания встречи**
243
+
244
+ **As a** People manager, завершивший AI-enabled 1:1
245
+ **I want to** получить структурированную сводку (темы, решения, action items) в течение 60 секунд после окончания встречи
246
+ **So that** я могу проверить и подтвердить её перед переходом к следующей задаче
247
+
248
+ **Notes:**
249
+ - Streaming UX приемлем — сводка заполняется постепенно в течение 60s
250
+ - Порог качества: ≥70% сводок приемлемы без существенных правок (измеряется через S3)
251
+ - Предположение: 60s ощущается мгновенно; 90s ощущается медленно. Валидировано через beta-обратную связь в Wizard-of-Oz тесте.
252
+
253
+ **AC:** [4 сценария: happy path, streaming fallback, LLM timeout, встреча <5 мин пропускается]
254
+
255
+ **Размер:** L (8 points) ядро AI-пайплайна
256
+ **Зависимости:** S1 (должен быть включён), T2 (LLM API интеграция)
257
+
258
+ ---
259
+
260
+ **Story S3: Проверять и редактировать AI-сводку inline**
261
+
262
+ **As a** менеджер, просматривающий AI-сводку
263
+ **I want to** редактировать контент inline (добавлять, удалять, изменять) и помечать как подтверждённое
264
+ **So that** правки становятся авторитетной записью, и будущий AI учится моему стилю
265
+
266
+ **Notes:**
267
+ - Правки отслеживаются отдельно от оригинальной AI-версии (оба сохраняются для аудита + обучения)
268
+ - Состояние подтверждения: «draft (AI)», «edited», «approved» (подтверждено менеджером)
269
+ - Открытый вопрос: авто-подтверждение через 7 дней без правок? по умолчанию: нет, статус остаётся «awaiting review»
270
+
271
+ **AC:** [3 сценария: базовое редактирование, отмена редактирования, approved только чтение]
272
+
273
+ **Размер:** M (5 points) интеграция rich-text редактора + конечный автомат
274
+ **Зависимости:** S2 (должна быть сводка)
275
+
276
+ ---
277
+
278
+ **Story S4: Автоматически отслеживать Action Items из сводки**
279
+
280
+ **As a** менеджер с подтверждённой AI-сводкой
281
+ **I want** извлечённые action items автоматически добавлялись в мою очередь follow-up с владельцем + датой (если LLM вывел)
282
+ **So that** я не теряю обязательства между встречами
283
+
284
+ **Notes:**
285
+ - Порог достоверности извлечения: >70% — элементы с низкой достоверностью показываются отдельно для проверки менеджером
286
+ - Владелец по умолчанию: выводится из контекста (если «Sarah, please review» → Sarah), иначе менеджер
287
+ - Дата по умолчанию: «к следующему 1:1» (7 дней), менеджер может переопределить
288
+
289
+ **AC:** [4 сценария: стандартное извлечение, проверка низкой достоверности, вывод владельца, кастомная дата]
290
+
291
+ **Размер:** M (5 points)
292
+ **Зависимости:** S2
293
+
294
+ ---
295
+
296
+ **Story S5: Видеть напоминание об Action Items перед следующим 1:1**
297
+
298
+ **As a** менеджер с открытыми action items из предыдущего 1:1 с подчинённым
299
+ **I want** эти элементы всплывали за 30 мин до предстоящего 1:1 через in-product уведомление + email
300
+ **So that** follow-through остаётся в фокусе и разговор развивается естественно
301
+
302
+ **Notes:**
303
+ - Окно 30 мин настраивается (15 / 30 / 60 / отключено) пользовательская настройка
304
+ - Элементы, отмеченные выполненными в UI напоминания, синхронизируются как с видом менеджера, так и подчинённого
305
+
306
+ **AC:** [3 сценария: напоминание срабатывает, кастомное окно, напоминание отключено по настройке пользователя]
307
+
308
+ **Размер:** S (3 points) на правилах, использует существующий стек уведомлений
309
+ **Зависимости:** S4 (нужны существующие action items)
310
+
311
+ ---
312
+
313
+ #### Роль: Admin / HR Business Partner
314
+
315
+ **Story S6: Настроить общеорганизационную политику AI Summarization**
316
+
317
+ **As an** admin (HR Business Partner или People Ops lead) для аккаунта TeamFlow на Team или Enterprise tier
318
+ **I want to** установить общеорганизационную политику AI (enabled / disabled / default-on для новых менеджеров)
319
+ **So that** я могу согласовать использование AI в TeamFlow с решениями компании по data governance
320
+
321
+ **Notes:**
322
+ - 3 состояния: «disabled org-wide» (AI недоступен для всех), «enabled — per-manager opt-in» (по умолчанию), «enabled — default on для новых менеджеров»
323
+ - Изменение политики уведомляет всех менеджеров
324
+ - Настройка политики записывается в audit log
325
+
326
+ **AC:** [4 сценария: 3 перехода состояний + проверка audit log]
327
+
328
+ **Размер:** S (3 points)
329
+ **Зависимости:** S1 (per-meeting переключатель должен существовать)
330
+
331
+ ---
332
+
333
+ **Story S7: Экспорт Audit Log операций AI**
334
+
335
+ **As an** admin, ответственный за compliance (SOC 2, GDPR)
336
+ **I want to** экспортировать audit log всех AI-операций (сводки сгенерированные, отредактированные, подтверждённые) за заданный период
337
+ **So that** я могу продемонстрировать соответствие требованиям во время аудита + расследовать инциденты
338
+
339
+ **Notes:**
340
+ - Запись лога: временна́я метка, актор (ID менеджера), действие (generate/edit/approve/delete), meeting ID, summary ID
341
+ - Форматы экспорта: CSV, JSON
342
+ - Хранение: минимум 365 дней (юридический базовый уровень)
343
+
344
+ **AC:** [3 сценария: экспорт happy path, фильтр по диапазону дат, пустой диапазон]
345
+
346
+ **Размер:** S (3 points) — использует существующую инфраструктуру audit log
347
+ **Зависимости:** S1, S2, S3 (все AI-операции логируются)
348
+
349
+ ---
350
+
351
+ #### Роль: Buyer (VP HR / CPO) проходит через admin опыт
352
+
353
+ **Story S8 (перенесена в Приложение PRD scope dashboard Темы 2):**
354
+
355
+ Stories видимости VP HR / aggregate dashboard — перенесены в отдельный PRD (aggregate-dashboard-v1), но связаны:
356
+ - «Как VP HR, я хочу видеть adoption AI-суммаризации по командам, чтобы распределять обучение»
357
+ - «Как CPO, я хочу видеть velocity action items как leading indicator здоровья команды»
358
+
359
+ *Эти stories живут в Aggregate Dashboard PRD — перекрёстная ссылка здесь.*
360
+
361
+ ---
362
+
363
+ ### Сводка по размерам stories
364
+
365
+ | Story | Размер | Итого |
366
+ |-------|:------:|------|
367
+ | S1 Включить переключатель | S (2) | Маленькая, быстрая |
368
+ | S2 Генерировать сводку | L (8) | ГЛАВНАЯ — ядро AI |
369
+ | S3 Редактировать inline | M (5) | Rich-редактор |
370
+ | S4 Извлечь action items | M (5) | Постобработка |
371
+ | S5 Напоминание | S (3) | На правилах |
372
+ | S6 Политика организации | S (3) | Admin UI |
373
+ | S7 Экспорт аудита | S (3) | Функция экспорта |
374
+ | **Итого (основной flow):** | | **29 points** |
375
+
376
+ Распределение размеров (1 L + 2 M + 4 S) — здоровая форма MVP. Нет XL = нет неоцененных рисков.
377
+
378
+ ### Применённые техники разбивки
379
+
380
+ - **По роли:** S1-S5 end-user (менеджер), S6-S7 admin, S8 отложена в отдельный PRD (buyer dashboard)
381
+ - **По шагу workflow:** Подготовка (отложить — Q3), Во время встречи (S1-S2), Проверка (S3), Follow-through (S4-S5)
382
+ - **Простое → Сложное:** S2 запускает «basic summary»; в будущем «summary + themes» отдельно
383
+ - **Happy pathГраничные случаи:** S2 happy path основное, обработка error-state через AC (не отдельные stories)
384
+
385
+ ### DAG зависимостей stories
386
+
387
+ ```
388
+ T1 (инфраструктура feature flag)
389
+ └─→ S1 (переключатель)
390
+ └─→ S2 (генерировать сводку) ← зависит от T2 (LLM API)
391
+ ├─→ S3 (редактировать inline)
392
+ └─→ S4 (извлечь action items)
393
+ └─→ S5 (напоминание)
394
+
395
+ S6 (политика организации) ← зависит от S1 (per-meeting должен существовать сначала)
396
+ S7 (экспорт аудита) ← зависит от S1, S2, S3 (нужны операции для логирования)
397
+ ```
398
+
399
+ **Критический путь (для MVP):** T1 → S1 → S2 → S3 → S4 → S5 = ~26 points ≈ 6 недель при темпе 4 points/неделю.
400
+
401
+ > **Урок user-story:** B2B **всегда** имеет несколько ролей. Разделение менеджера (end-user) от admin (HR Business Partner) от buyer (VP HR) — 3 отдельных набора AC, 3 отдельных формулировки «so that». Без разделения «As a user» = расплывчато. Stories S6-S7 ориентированы на admin — критичны для компаний с governance requirements. Наши начальные 14 stories включали только менеджера — Discovery B3 interview выявило потребность admin governance; S6-S7 были добавлены позже, что предотвратило жалобы после запуска «admin не имеет контроля».