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,406 +1,422 @@
1
- ---
2
- name: acceptance-criteria
3
- description: Acceptance criteria — Gherkin (Given / When / Then) or scenario-based
4
- ---
5
- # Acceptance Criteria
6
-
7
- > **Category:** Specification · **Slug:** `acceptance-criteria`
8
-
9
- ## When to Use
10
-
11
- - For each user story in the PRD.
12
- - As a contract between PM and Engineering.
13
- - For QA test cases (AC → test scenarios).
14
- - When disputes arise about "is the story done?" — AC = the oracle.
15
-
16
- ## Input
17
-
18
- | Field | Required | Description |
19
- |-------|:--------:|-------------|
20
- | User story | ✅ | Via `$user-story` |
21
- | UX flow / wireframe | ⬚ | If flow is complex |
22
- | Edge cases | ⬚ | Error states, limits |
23
- | Data constraints | ⬚ | Validation rules |
24
-
25
- ## Data Sources
26
-
27
- 1. User story as starting point.
28
- 2. UX wireframes visual cues for scenarios.
29
- 3. NFR requirements for non-functional AC.
30
- 4. Customer interviewsuser edge cases.
31
-
32
- ### Related Skills
33
-
34
- | Skill | What we take | When to call |
35
- |-------|-------------|--------------|
36
- | `user-story` | Story → AC scenarios | Parent skill |
37
- | `user-flow` | Flow steps scenarios | For complex flows |
38
- | `prd-template` | Where in PRD | Embedded in stories |
39
- | `hypothesis-template` | Testable behavior | For experiment stories |
40
-
41
- ## Two Formats
42
-
43
- ### A. Gherkin (Given / When / Then)
44
-
45
- ```gherkin
46
- Scenario: [Short descriptive name]
47
- Given [initial context / precondition]
48
- When [action / event]
49
- Then [expected outcome]
50
- And [additional outcome]
51
- ```
52
-
53
- Pros: structured, test-tool-friendly (Cucumber), BDD-style.
54
- Cons: verbose, not flexible for complex data.
55
-
56
- ### B. Scenario-based checklist
57
-
58
- ```
59
- ## Scenario: [Name]
60
- - Precondition: [state]
61
- - Action: [user does X]
62
- - Expected: [outcome]
63
- - Error case: [what happens when X fails]
64
- ```
65
-
66
- Pros: flexible, readable for non-tech stakeholders.
67
- Cons: less rigorous, not directly automatable.
68
-
69
- **Choice:** Gherkin for complex behavior (especially API / backend), scenario for UX-heavy stories.
70
-
71
- ## Protocol
72
-
73
- ### Step 1 — Happy Path First
74
-
75
- Sketch happy path scenario. This is the primary flow that 80% of users experience.
76
-
77
- ```gherkin
78
- Scenario: Admin creates a new team role
79
- Given an admin is on the Teams settings page
80
- When they click "New role template"
81
- And fill in name "Senior Engineer" and select 12 permissions
82
- And click "Save"
83
- Then the role is saved
84
- And appears in roles list
85
- And is selectable when adding new team members
86
- ```
87
-
88
- ### Step 2 — Preconditions
89
-
90
- Each scenario — what must be true before it. Avoid implicit assumptions.
91
-
92
- Preconditions to capture:
93
- - User auth state (logged in, role, permissions)
94
- - Data state (existing entities, counts)
95
- - Feature flags
96
- - Time / date (for time-sensitive features)
97
-
98
- ### Step 3 — Edge Cases
99
-
100
- For each story think about:
101
- - **Empty state:** no data, first-time user
102
- - **Boundary values:** 0, 1, max, max+1
103
- - **Concurrency:** two users act simultaneously
104
- - **Permissions:** user without permission attempts action
105
- - **Network:** offline, slow, timeout
106
- - **Validation:** invalid input, XSS, injection
107
- - **Idempotency:** same action twice
108
-
109
- B2B-specific edge cases:
110
- - SSO edge cases (user deprovisioned in IdP)
111
- - Admin without permission attempts restricted action
112
- - Integration failures (3rd party down)
113
- - Rate limits / quotas
114
-
115
- ### Step 4 — Error Scenarios
116
-
117
- For each user-facing failure mode:
118
- - What triggers it
119
- - What the user sees (error message, recovery action)
120
- - System state afterwards (logged? retryable?)
121
-
122
- ```gherkin
123
- Scenario: Save fails due to name conflict
124
- Given a role named "Senior Engineer" exists
125
- When admin tries to create role with same name
126
- Then display error "Role name already exists"
127
- And do not save
128
- And focus name field for correction
129
- ```
130
-
131
- ### Step 5Non-functional Scenarios
132
-
133
- Separate AC for NFR if applicable:
134
-
135
- ```gherkin
136
- Scenario: Role creation performance
137
- Given a team with 500 existing roles
138
- When admin adds a new role
139
- Then response returns < 500ms p95
140
- ```
141
-
142
- ```gherkin
143
- Scenario: Role creation — audit
144
- When any role is created, updated, or deleted
145
- Then an audit log entry is written with user id, timestamp, before/after diff
146
- ```
147
-
148
- ### Step 6 — Data Variation
149
-
150
- For data-driven AC, use tables:
151
-
152
- ```gherkin
153
- Scenario Outline: Role validation rejects invalid names
154
- Given admin is creating a role
155
- When they enter name "<name>"
156
- Then they see error "<error>"
157
-
158
- Examples:
159
- | name | error |
160
- | "" | Name is required |
161
- | [255 char string] | Name must be < 255 characters |
162
- | "admin" | Name conflicts with system role |
163
- | "<script>alert(1)</script>" | Name has invalid characters |
164
- ```
165
-
166
- ### Step 7 "Ready" Checklist
167
-
168
- - [ ] Happy path scenario
169
- - [ ] Edge cases covered (empty / boundary / concurrency / permission)
170
- - [ ] Error scenarios with messages
171
- - [ ] Preconditions explicit
172
- - [ ] Data variation for validation rules
173
- - [ ] NFR (if applicable) separately
174
- - [ ] No ambiguous language ("fast", "user-friendly")
175
-
176
- ## Validation (Quality Gate)
177
-
178
- - [ ] Each story has 1 AC
179
- - [ ] Happy path covered
180
- - [ ] ≥ 2 edge cases (unless trivial story)
181
- - [ ] ≥ 1 error scenario
182
- - [ ] Preconditions explicit
183
- - [ ] No ambiguous verbs ("should work properly")
184
- - [ ] NFR AC for performance/security/compliance-critical stories
185
- - [ ] Format (Gherkin or scenario) consistent per PRD
186
-
187
- ## Handoff
188
-
189
- The result is the input for:
190
- - **Engineering** implementation + test writing
191
- - **QA** → automated test cases
192
- - **Designer** error state mockups
193
-
194
- Format: AC embedded in user story card. Via `$handoff`.
195
-
196
- ## Anti-patterns
197
-
198
- | Error | Why it's bad | How to do it right |
199
- |-------|-------------|-------------------|
200
- | Ambiguous ("fast", "easy") | Not testable | Specific thresholds |
201
- | Only happy path | Bugs in edges | ≥ 2 edge cases |
202
- | Implementation-specific | "Click blue button" | "When user saves" (UI-agnostic) |
203
- | Mix AC with implementation notes | Confuses contract | Notes separate |
204
- | Too many scenarios (20+) | Maintenance burden | Split story instead |
205
- | Missing NFR AC | Deal-breaker bugs ship | NFR explicit |
206
- | No error messages defined | Inconsistent UX | Specific copy per error |
207
-
208
- ## Template
209
-
210
- ```markdown
211
- ## Story: [Title]
212
-
213
- ### Acceptance Criteria
214
-
215
- **Happy path:**
216
- ```gherkin
217
- Scenario: [name]
218
- Given [precondition]
219
- When [action]
220
- Then [outcome]
221
- And [outcome]
222
- ```
223
-
224
- **Edge cases:**
225
- ```gherkin
226
- Scenario: [edge case name]
227
- Given [precondition]
228
- When [action]
229
- Then [outcome]
230
- ```
231
-
232
- **Error scenarios:**
233
- ```gherkin
234
- Scenario: [error name]
235
- Given [precondition]
236
- When [failing action]
237
- Then [error message]
238
- And [recovery]
239
- ```
240
-
241
- **NFR (if applicable):**
242
- ```gherkin
243
- Scenario: Performance
244
- When [action]
245
- Then response < 200ms p95
246
- ```
247
- ```
248
-
249
- ## Worked Example — TeamFlow AC: Story S2 "Receive AI Summary Within 60 Seconds"
250
-
251
- **Context:** Full Gherkin AC for the flagship story (S2 from user-story skill). Demonstrates happy path + boundary + errors + NFR + data variation.
252
-
253
- ```gherkin
254
- # Acceptance Criteria: S2 Receive AI Summary Within 60 Seconds
255
-
256
- # ============ HAPPY PATH ============
257
-
258
- Scenario: Manager ends 1:1, AI generates summary within 60 seconds
259
- Given Maria is on Team Tier account (AI Summarization enabled)
260
- And Maria has AI-enabled 1:1 meeting "Sarah weekly sync" starting 10:00 AM
261
- And meeting includes 23 minutes of recorded audio
262
- When Maria clicks "End meeting" at 10:23 AM
263
- Then within 60 seconds summary appears in meeting notes view
264
- And summary includes sections: "Topics discussed", "Decisions", "Action items"
265
- And action items list contains 1 extracted item (if discussion mentioned commitments)
266
- And summary status is "Draft (AI)" (not "Approved")
267
- And event "ai_summary_generated" logged with meeting_id, duration, summary_id
268
-
269
-
270
- # ============ STREAMING / LOADING ============
271
-
272
- Scenario: Summary streams progressively if generation exceeds 10 seconds
273
- Given Maria ended meeting successfully
274
- When summary generation takes 35 seconds
275
- Then loading indicator shows by 5th second
276
- And first "Topics discussed" section appears as soon as generated (streaming)
277
- And remaining sections populate progressively
278
- And manager can read early sections without waiting for complete summary
279
-
280
-
281
- # ============ BOUNDARY: MEETING DURATION ============
282
-
283
- Scenario Outline: Summary behavior by meeting duration
284
- Given Maria ended 1:1 meeting of <duration> minutes
285
- When summary generation completes
286
- Then summary section behavior is <behavior>
287
-
288
- Examples:
289
- | duration | behavior |
290
- | 0-4 | No summary generated "Meeting too short for summary" message shown |
291
- | 5-14 | Brief summary (2-3 topics, action items if explicit) |
292
- | 15-45 | Full standard summary (all sections populated) |
293
- | 46-120 | Extended summary with "Key themes" section added |
294
- | 121+ | Summary generated with note "Very long meeting review carefully" |
295
-
296
-
297
- # ============ ERROR SCENARIOS ============
298
-
299
- Scenario: LLM API timeout user sees fallback
300
- Given Maria ended AI-enabled meeting
301
- When LLM API does not return summary within 120 seconds (hard timeout)
302
- Then manager sees message "Summary taking longer than expected — we'll email you when ready"
303
- And event "ai_summary_timeout_fallback" logged
304
- And background job continues attempting generation
305
- And on success, manager receives in-product notification + email with summary
306
-
307
- Scenario: LLM API hard error graceful degradation
308
- Given Maria ended AI-enabled meeting
309
- When primary LLM provider returns 500 error after 3 retries
310
- Then system automatically switches to secondary provider (Anthropic)
311
- And event "ai_provider_failover" logged for ops review
312
- And summary generates using secondary with quality parity
313
-
314
- Scenario: Complete LLM failure (both providers) — manual fallback
315
- Given Maria ended AI-enabled meeting
316
- When both LLM providers unavailable for > 2 minutes
317
- Then manager sees "AI summary unavailable this meeting manual notes preserved"
318
- And existing meeting notes (if any) are not affected
319
- And event "ai_summary_unavailable" logged
320
- And within 24 hours manager receives email: "AI recovered — want to retry?"
321
-
322
-
323
- # ============ PRIVACY & PERMISSION ============
324
-
325
- Scenario: AI disabled org-wide AI summary not generated
326
- Given Maria's account admin set "AI org policy: disabled"
327
- When Maria tries to enable AI for meeting
328
- Then toggle is greyed out with tooltip "AI disabled by admin — contact admin"
329
- And no AI summary generated after meeting end
330
-
331
- Scenario: Meeting participant declined recording consent
332
- Given Maria starts AI-enabled meeting with Sarah
333
- When Sarah clicks "Decline AI recording" consent prompt
334
- Then AI disables for this meeting
335
- And Maria sees "Sarah declined AI — switching to manual notes"
336
- And event "ai_declined_by_participant" logged
337
- And Maria can take manual notes normally
338
-
339
-
340
- # ============ NON-FUNCTIONAL REQUIREMENTS ============
341
-
342
- Scenario: Summary generation p95 latency under 60 seconds
343
- Given 100 completed AI-enabled meetings in past 7 days
344
- When latency measured from "End meeting" event to "summary available" event
345
- Then p95 latency 60 seconds
346
- And p99 latency ≤ 90 seconds
347
- And p50 latency 30 seconds
348
-
349
- Scenario: Summary data encryption at rest
350
- Given AI summary generated and stored
351
- When database queried directly (not via API)
352
- Then summary content encrypted with customer-specific key (AES-256)
353
- And cannot be decrypted without customer-managed key (BYOK for Enterprise)
354
-
355
- Scenario: Audit log completeness
356
- Given any AI summary operation occurs (generate / edit / approve / delete)
357
- When audit log queried for that meeting_id
358
- Then every operation logged with timestamp, actor_id, action_type, meeting_id, summary_id
359
- And log retention 365 days
360
- And log entries immutable (tamper-evident)
361
-
362
-
363
- # ============ DATA VARIATION: Action Items Extraction ============
364
-
365
- Scenario Outline: Action items extraction confidence handling
366
- Given 1:1 transcript contains statement: "<statement>"
367
- When AI extracts action items
368
- Then extraction should be <extraction>
369
- And confidence should be <confidence>
370
-
371
- Examples:
372
- | statement | extraction | confidence |
373
- | "Sarah, please review PR by Friday" | "Sarah: review PR, due Friday" | High (>90%)|
374
- | "Let's figure out the deployment plan" | No extraction (no owner/clear action) | Low (<50%) |
375
- | "I'll send you docs soon" | "Maria: send docs, due TBD" | Medium (70-90%) |
376
- | "We should probably talk to Dave about it" | No extraction (speculative) | Low (<50%) |
377
- ```
378
-
379
- ### AC Density Analysis
380
-
381
- - **12 scenarios total** for single story S2
382
- - **Breakdown:**
383
- - Happy path: 1
384
- - Streaming / loading: 1
385
- - Boundary (duration): 1 (with 5 outlines)
386
- - Error scenarios: 3
387
- - Privacy / permission: 2
388
- - NFR: 3 (latency, encryption, audit)
389
- - Data variation: 1 (with 4 outlines)
390
-
391
- **Density appropriate for L-sized (8 point) story with safety-critical + NFR-heavy implications.** Compared to S1 (toggle) which has 4 simpler scenarios.
392
-
393
- ### Common AC Mistakes We Avoided
394
-
395
- 1. **Vague thresholds:** Not "fast" — "60s p95, 90s p99"
396
- 2. **Single happy path:** 11 non-happy-path scenarios because production is edges
397
- 3. **Missing privacy:** 2 explicit privacy scenarios (admin disable, participant consent) — B2B deal-breakers
398
- 4. **Missing NFR:** Latency + encryption + audit — all are requirements but easy to omit
399
- 5. **Implementation-specific:** "User clicks blue button" avoided — "User ends meeting" (UI-agnostic)
400
-
401
- > **AC lesson:** L-story with AI + privacy + NFR demands 10+ scenarios. Without comprehensive AC:
402
- > 1. Eng ships happy path, encounters edge cases in prod
403
- > 2. QA doesn't know what to test → bugs in edge cases
404
- > 3. Privacy requirements (admin disable, participant consent) get lost
405
- >
406
- > Data Tables (Scenario Outline) compress data variation — 4 examples in 1 scenario vs 4 scenarios × duplicate scaffold. Keep AC maintainable.
1
+ ---
2
+ name: acceptance-criteria
3
+ description: Acceptance criteria — Gherkin (Given / When / Then) or scenario-based
4
+ type: triggered
5
+ domain: product
6
+ owners:
7
+ - pm
8
+ gates:
9
+ - PM
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "acceptance-criteria"
14
+ - "acceptance criteria"
15
+ - "критерии приёмки"
16
+ - "Gherkin"
17
+ related: []
18
+ budget_lines: 422
19
+ schema_version: 1
20
+ ---
21
+ # Acceptance Criteria
22
+
23
+ > **Category:** Specification · **Slug:** `acceptance-criteria`
24
+
25
+ ## When to Use
26
+
27
+ - For each user story in the PRD.
28
+ - As a contract between PM and Engineering.
29
+ - For QA test cases (AC → test scenarios).
30
+ - When disputes arise about "is the story done?" AC = the oracle.
31
+
32
+ ## Input
33
+
34
+ | Field | Required | Description |
35
+ |-------|:--------:|-------------|
36
+ | User story | | Via `$user-story` |
37
+ | UX flow / wireframe | | If flow is complex |
38
+ | Edge cases | | Error states, limits |
39
+ | Data constraints | | Validation rules |
40
+
41
+ ## Data Sources
42
+
43
+ 1. User story as starting point.
44
+ 2. UX wireframes — visual cues for scenarios.
45
+ 3. NFR requirements — for non-functional AC.
46
+ 4. Customer interviews — user edge cases.
47
+
48
+ ### Related Skills
49
+
50
+ | Skill | What we take | When to call |
51
+ |-------|-------------|--------------|
52
+ | `user-story` | Story → AC scenarios | Parent skill |
53
+ | `user-flow` | Flow steps → scenarios | For complex flows |
54
+ | `prd-template` | Where in PRD | Embedded in stories |
55
+ | `hypothesis-template` | Testable behavior | For experiment stories |
56
+
57
+ ## Two Formats
58
+
59
+ ### A. Gherkin (Given / When / Then)
60
+
61
+ ```gherkin
62
+ Scenario: [Short descriptive name]
63
+ Given [initial context / precondition]
64
+ When [action / event]
65
+ Then [expected outcome]
66
+ And [additional outcome]
67
+ ```
68
+
69
+ Pros: structured, test-tool-friendly (Cucumber), BDD-style.
70
+ Cons: verbose, not flexible for complex data.
71
+
72
+ ### B. Scenario-based checklist
73
+
74
+ ```
75
+ ## Scenario: [Name]
76
+ - Precondition: [state]
77
+ - Action: [user does X]
78
+ - Expected: [outcome]
79
+ - Error case: [what happens when X fails]
80
+ ```
81
+
82
+ Pros: flexible, readable for non-tech stakeholders.
83
+ Cons: less rigorous, not directly automatable.
84
+
85
+ **Choice:** Gherkin for complex behavior (especially API / backend), scenario for UX-heavy stories.
86
+
87
+ ## Protocol
88
+
89
+ ### Step 1 — Happy Path First
90
+
91
+ Sketch happy path scenario. This is the primary flow that 80% of users experience.
92
+
93
+ ```gherkin
94
+ Scenario: Admin creates a new team role
95
+ Given an admin is on the Teams settings page
96
+ When they click "New role template"
97
+ And fill in name "Senior Engineer" and select 12 permissions
98
+ And click "Save"
99
+ Then the role is saved
100
+ And appears in roles list
101
+ And is selectable when adding new team members
102
+ ```
103
+
104
+ ### Step 2 Preconditions
105
+
106
+ Each scenario what must be true before it. Avoid implicit assumptions.
107
+
108
+ Preconditions to capture:
109
+ - User auth state (logged in, role, permissions)
110
+ - Data state (existing entities, counts)
111
+ - Feature flags
112
+ - Time / date (for time-sensitive features)
113
+
114
+ ### Step 3 — Edge Cases
115
+
116
+ For each story — think about:
117
+ - **Empty state:** no data, first-time user
118
+ - **Boundary values:** 0, 1, max, max+1
119
+ - **Concurrency:** two users act simultaneously
120
+ - **Permissions:** user without permission attempts action
121
+ - **Network:** offline, slow, timeout
122
+ - **Validation:** invalid input, XSS, injection
123
+ - **Idempotency:** same action twice
124
+
125
+ B2B-specific edge cases:
126
+ - SSO edge cases (user deprovisioned in IdP)
127
+ - Admin without permission attempts restricted action
128
+ - Integration failures (3rd party down)
129
+ - Rate limits / quotas
130
+
131
+ ### Step 4Error Scenarios
132
+
133
+ For each user-facing failure mode:
134
+ - What triggers it
135
+ - What the user sees (error message, recovery action)
136
+ - System state afterwards (logged? retryable?)
137
+
138
+ ```gherkin
139
+ Scenario: Save fails due to name conflict
140
+ Given a role named "Senior Engineer" exists
141
+ When admin tries to create role with same name
142
+ Then display error "Role name already exists"
143
+ And do not save
144
+ And focus name field for correction
145
+ ```
146
+
147
+ ### Step 5 — Non-functional Scenarios
148
+
149
+ Separate AC for NFR if applicable:
150
+
151
+ ```gherkin
152
+ Scenario: Role creation — performance
153
+ Given a team with 500 existing roles
154
+ When admin adds a new role
155
+ Then response returns < 500ms p95
156
+ ```
157
+
158
+ ```gherkin
159
+ Scenario: Role creation — audit
160
+ When any role is created, updated, or deleted
161
+ Then an audit log entry is written with user id, timestamp, before/after diff
162
+ ```
163
+
164
+ ### Step 6 — Data Variation
165
+
166
+ For data-driven AC, use tables:
167
+
168
+ ```gherkin
169
+ Scenario Outline: Role validation rejects invalid names
170
+ Given admin is creating a role
171
+ When they enter name "<name>"
172
+ Then they see error "<error>"
173
+
174
+ Examples:
175
+ | name | error |
176
+ | "" | Name is required |
177
+ | [255 char string] | Name must be < 255 characters |
178
+ | "admin" | Name conflicts with system role |
179
+ | "<script>alert(1)</script>" | Name has invalid characters |
180
+ ```
181
+
182
+ ### Step 7 "Ready" Checklist
183
+
184
+ - [ ] Happy path scenario
185
+ - [ ] Edge cases covered (empty / boundary / concurrency / permission)
186
+ - [ ] Error scenarios with messages
187
+ - [ ] Preconditions explicit
188
+ - [ ] Data variation for validation rules
189
+ - [ ] NFR (if applicable) separately
190
+ - [ ] No ambiguous language ("fast", "user-friendly")
191
+
192
+ ## Validation (Quality Gate)
193
+
194
+ - [ ] Each story has 1 AC
195
+ - [ ] Happy path covered
196
+ - [ ] ≥ 2 edge cases (unless trivial story)
197
+ - [ ] ≥ 1 error scenario
198
+ - [ ] Preconditions explicit
199
+ - [ ] No ambiguous verbs ("should work properly")
200
+ - [ ] NFR AC for performance/security/compliance-critical stories
201
+ - [ ] Format (Gherkin or scenario) consistent per PRD
202
+
203
+ ## Handoff
204
+
205
+ The result is the input for:
206
+ - **Engineering** implementation + test writing
207
+ - **QA** → automated test cases
208
+ - **Designer** → error state mockups
209
+
210
+ Format: AC embedded in user story card. Via `$handoff`.
211
+
212
+ ## Anti-patterns
213
+
214
+ | Error | Why it's bad | How to do it right |
215
+ |-------|-------------|-------------------|
216
+ | Ambiguous ("fast", "easy") | Not testable | Specific thresholds |
217
+ | Only happy path | Bugs in edges | ≥ 2 edge cases |
218
+ | Implementation-specific | "Click blue button" | "When user saves" (UI-agnostic) |
219
+ | Mix AC with implementation notes | Confuses contract | Notes separate |
220
+ | Too many scenarios (20+) | Maintenance burden | Split story instead |
221
+ | Missing NFR AC | Deal-breaker bugs ship | NFR explicit |
222
+ | No error messages defined | Inconsistent UX | Specific copy per error |
223
+
224
+ ## Template
225
+
226
+ ```markdown
227
+ ## Story: [Title]
228
+
229
+ ### Acceptance Criteria
230
+
231
+ **Happy path:**
232
+ ```gherkin
233
+ Scenario: [name]
234
+ Given [precondition]
235
+ When [action]
236
+ Then [outcome]
237
+ And [outcome]
238
+ ```
239
+
240
+ **Edge cases:**
241
+ ```gherkin
242
+ Scenario: [edge case name]
243
+ Given [precondition]
244
+ When [action]
245
+ Then [outcome]
246
+ ```
247
+
248
+ **Error scenarios:**
249
+ ```gherkin
250
+ Scenario: [error name]
251
+ Given [precondition]
252
+ When [failing action]
253
+ Then [error message]
254
+ And [recovery]
255
+ ```
256
+
257
+ **NFR (if applicable):**
258
+ ```gherkin
259
+ Scenario: Performance
260
+ When [action]
261
+ Then response < 200ms p95
262
+ ```
263
+ ```
264
+
265
+ ## Worked Example TeamFlow AC: Story S2 "Receive AI Summary Within 60 Seconds"
266
+
267
+ **Context:** Full Gherkin AC for the flagship story (S2 from user-story skill). Demonstrates happy path + boundary + errors + NFR + data variation.
268
+
269
+ ```gherkin
270
+ # Acceptance Criteria: S2 Receive AI Summary Within 60 Seconds
271
+
272
+ # ============ HAPPY PATH ============
273
+
274
+ Scenario: Manager ends 1:1, AI generates summary within 60 seconds
275
+ Given Maria is on Team Tier account (AI Summarization enabled)
276
+ And Maria has AI-enabled 1:1 meeting "Sarah weekly sync" starting 10:00 AM
277
+ And meeting includes 23 minutes of recorded audio
278
+ When Maria clicks "End meeting" at 10:23 AM
279
+ Then within 60 seconds summary appears in meeting notes view
280
+ And summary includes sections: "Topics discussed", "Decisions", "Action items"
281
+ And action items list contains ≥ 1 extracted item (if discussion mentioned commitments)
282
+ And summary status is "Draft (AI)" (not "Approved")
283
+ And event "ai_summary_generated" logged with meeting_id, duration, summary_id
284
+
285
+
286
+ # ============ STREAMING / LOADING ============
287
+
288
+ Scenario: Summary streams progressively if generation exceeds 10 seconds
289
+ Given Maria ended meeting successfully
290
+ When summary generation takes 35 seconds
291
+ Then loading indicator shows by 5th second
292
+ And first "Topics discussed" section appears as soon as generated (streaming)
293
+ And remaining sections populate progressively
294
+ And manager can read early sections without waiting for complete summary
295
+
296
+
297
+ # ============ BOUNDARY: MEETING DURATION ============
298
+
299
+ Scenario Outline: Summary behavior by meeting duration
300
+ Given Maria ended 1:1 meeting of <duration> minutes
301
+ When summary generation completes
302
+ Then summary section behavior is <behavior>
303
+
304
+ Examples:
305
+ | duration | behavior |
306
+ | 0-4 | No summary generated — "Meeting too short for summary" message shown |
307
+ | 5-14 | Brief summary (2-3 topics, action items if explicit) |
308
+ | 15-45 | Full standard summary (all sections populated) |
309
+ | 46-120 | Extended summary with "Key themes" section added |
310
+ | 121+ | Summary generated with note "Very long meeting — review carefully" |
311
+
312
+
313
+ # ============ ERROR SCENARIOS ============
314
+
315
+ Scenario: LLM API timeout — user sees fallback
316
+ Given Maria ended AI-enabled meeting
317
+ When LLM API does not return summary within 120 seconds (hard timeout)
318
+ Then manager sees message "Summary taking longer than expected — we'll email you when ready"
319
+ And event "ai_summary_timeout_fallback" logged
320
+ And background job continues attempting generation
321
+ And on success, manager receives in-product notification + email with summary
322
+
323
+ Scenario: LLM API hard error — graceful degradation
324
+ Given Maria ended AI-enabled meeting
325
+ When primary LLM provider returns 500 error after 3 retries
326
+ Then system automatically switches to secondary provider (Anthropic)
327
+ And event "ai_provider_failover" logged for ops review
328
+ And summary generates using secondary with quality parity
329
+
330
+ Scenario: Complete LLM failure (both providers) — manual fallback
331
+ Given Maria ended AI-enabled meeting
332
+ When both LLM providers unavailable for > 2 minutes
333
+ Then manager sees "AI summary unavailable this meeting — manual notes preserved"
334
+ And existing meeting notes (if any) are not affected
335
+ And event "ai_summary_unavailable" logged
336
+ And within 24 hours manager receives email: "AI recovered — want to retry?"
337
+
338
+
339
+ # ============ PRIVACY & PERMISSION ============
340
+
341
+ Scenario: AI disabled org-wide — AI summary not generated
342
+ Given Maria's account admin set "AI org policy: disabled"
343
+ When Maria tries to enable AI for meeting
344
+ Then toggle is greyed out with tooltip "AI disabled by admin — contact admin"
345
+ And no AI summary generated after meeting end
346
+
347
+ Scenario: Meeting participant declined recording consent
348
+ Given Maria starts AI-enabled meeting with Sarah
349
+ When Sarah clicks "Decline AI recording" consent prompt
350
+ Then AI disables for this meeting
351
+ And Maria sees "Sarah declined AI — switching to manual notes"
352
+ And event "ai_declined_by_participant" logged
353
+ And Maria can take manual notes normally
354
+
355
+
356
+ # ============ NON-FUNCTIONAL REQUIREMENTS ============
357
+
358
+ Scenario: Summary generation p95 latency under 60 seconds
359
+ Given 100 completed AI-enabled meetings in past 7 days
360
+ When latency measured from "End meeting" event to "summary available" event
361
+ Then p95 latency ≤ 60 seconds
362
+ And p99 latency ≤ 90 seconds
363
+ And p50 latency 30 seconds
364
+
365
+ Scenario: Summary data encryption at rest
366
+ Given AI summary generated and stored
367
+ When database queried directly (not via API)
368
+ Then summary content encrypted with customer-specific key (AES-256)
369
+ And cannot be decrypted without customer-managed key (BYOK for Enterprise)
370
+
371
+ Scenario: Audit log completeness
372
+ Given any AI summary operation occurs (generate / edit / approve / delete)
373
+ When audit log queried for that meeting_id
374
+ Then every operation logged with timestamp, actor_id, action_type, meeting_id, summary_id
375
+ And log retention 365 days
376
+ And log entries immutable (tamper-evident)
377
+
378
+
379
+ # ============ DATA VARIATION: Action Items Extraction ============
380
+
381
+ Scenario Outline: Action items extraction confidence handling
382
+ Given 1:1 transcript contains statement: "<statement>"
383
+ When AI extracts action items
384
+ Then extraction should be <extraction>
385
+ And confidence should be <confidence>
386
+
387
+ Examples:
388
+ | statement | extraction | confidence |
389
+ | "Sarah, please review PR by Friday" | "Sarah: review PR, due Friday" | High (>90%)|
390
+ | "Let's figure out the deployment plan" | No extraction (no owner/clear action) | Low (<50%) |
391
+ | "I'll send you docs soon" | "Maria: send docs, due TBD" | Medium (70-90%) |
392
+ | "We should probably talk to Dave about it" | No extraction (speculative) | Low (<50%) |
393
+ ```
394
+
395
+ ### AC Density Analysis
396
+
397
+ - **12 scenarios total** for single story S2
398
+ - **Breakdown:**
399
+ - Happy path: 1
400
+ - Streaming / loading: 1
401
+ - Boundary (duration): 1 (with 5 outlines)
402
+ - Error scenarios: 3
403
+ - Privacy / permission: 2
404
+ - NFR: 3 (latency, encryption, audit)
405
+ - Data variation: 1 (with 4 outlines)
406
+
407
+ **Density appropriate for L-sized (8 point) story with safety-critical + NFR-heavy implications.** Compared to S1 (toggle) which has 4 simpler scenarios.
408
+
409
+ ### Common AC Mistakes We Avoided
410
+
411
+ 1. **Vague thresholds:** Not "fast" — "60s p95, 90s p99"
412
+ 2. **Single happy path:** 11 non-happy-path scenarios because production is edges
413
+ 3. **Missing privacy:** 2 explicit privacy scenarios (admin disable, participant consent) — B2B deal-breakers
414
+ 4. **Missing NFR:** Latency + encryption + audit — all are requirements but easy to omit
415
+ 5. **Implementation-specific:** "User clicks blue button" avoided — "User ends meeting" (UI-agnostic)
416
+
417
+ > **AC lesson:** L-story with AI + privacy + NFR demands 10+ scenarios. Without comprehensive AC:
418
+ > 1. Eng ships happy path, encounters edge cases in prod
419
+ > 2. QA doesn't know what to test → bugs in edge cases
420
+ > 3. Privacy requirements (admin disable, participant consent) get lost
421
+ >
422
+ > Data Tables (Scenario Outline) compress data variation — 4 examples in 1 scenario vs 4 scenarios × duplicate scaffold. Keep AC maintainable.