bmad-method 4.37.0 → 4.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +2 -23
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/analyst.md +16 -15
  12. package/bmad-core/agents/architect.md +11 -11
  13. package/bmad-core/agents/bmad-master.md +23 -22
  14. package/bmad-core/agents/bmad-orchestrator.md +13 -17
  15. package/bmad-core/agents/dev.md +14 -11
  16. package/bmad-core/agents/pm.md +15 -14
  17. package/bmad-core/agents/po.md +9 -8
  18. package/bmad-core/agents/qa.md +42 -22
  19. package/bmad-core/agents/sm.md +7 -6
  20. package/bmad-core/agents/ux-expert.md +6 -5
  21. package/bmad-core/core-config.yaml +2 -0
  22. package/bmad-core/data/bmad-kb.md +1 -1
  23. package/bmad-core/data/test-levels-framework.md +146 -0
  24. package/bmad-core/data/test-priorities-matrix.md +172 -0
  25. package/bmad-core/tasks/apply-qa-fixes.md +148 -0
  26. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  27. package/bmad-core/tasks/nfr-assess.md +343 -0
  28. package/bmad-core/tasks/qa-gate.md +161 -0
  29. package/bmad-core/tasks/review-story.md +234 -74
  30. package/bmad-core/tasks/risk-profile.md +353 -0
  31. package/bmad-core/tasks/test-design.md +174 -0
  32. package/bmad-core/tasks/trace-requirements.md +264 -0
  33. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  34. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  35. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  36. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  37. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  38. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  39. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  40. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  41. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  42. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  43. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  44. package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
  45. package/bmad-core/templates/story-tmpl.yaml +12 -12
  46. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  47. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  48. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  49. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  50. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  51. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  52. package/common/utils/bmad-doc-template.md +5 -5
  53. package/dist/agents/analyst.txt +1086 -1079
  54. package/dist/agents/architect.txt +1534 -1526
  55. package/dist/agents/bmad-master.txt +646 -632
  56. package/dist/agents/bmad-orchestrator.txt +40 -18
  57. package/dist/agents/dev.txt +158 -19
  58. package/dist/agents/pm.txt +1082 -1107
  59. package/dist/agents/po.txt +314 -332
  60. package/dist/agents/qa.txt +1754 -151
  61. package/dist/agents/sm.txt +88 -98
  62. package/dist/agents/ux-expert.txt +80 -87
  63. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -146
  64. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -86
  65. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -48
  66. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1903 -1941
  67. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +15 -50
  68. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -195
  69. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
  70. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -37
  71. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +2660 -2752
  72. package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +871 -0
  73. package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +78 -0
  74. package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +839 -0
  75. package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
  76. package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +861 -0
  77. package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +796 -0
  78. package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +927 -0
  79. package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +842 -0
  80. package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1126 -0
  81. package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +864 -0
  82. package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +5917 -0
  83. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -27
  84. package/dist/teams/team-all.txt +5541 -3768
  85. package/dist/teams/team-fullstack.txt +3014 -2987
  86. package/dist/teams/team-ide-minimal.txt +2219 -469
  87. package/dist/teams/team-no-ui.txt +2993 -2966
  88. package/docs/enhanced-ide-development-workflow.md +220 -15
  89. package/docs/user-guide.md +271 -18
  90. package/docs/versioning-and-releases.md +122 -44
  91. package/docs/working-in-the-brownfield.md +264 -31
  92. package/eslint.config.mjs +119 -0
  93. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  94. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  95. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  96. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  97. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  98. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  99. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  100. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  101. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  102. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  103. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  104. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  105. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  106. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  107. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  108. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  109. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  110. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  111. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  112. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  113. package/expansion-packs/bmad-creative-writing/README.md +132 -0
  114. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +19 -0
  115. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +91 -0
  116. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +35 -0
  117. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +90 -0
  118. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +41 -0
  119. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +89 -0
  120. package/expansion-packs/bmad-creative-writing/agents/editor.md +90 -0
  121. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +92 -0
  122. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +90 -0
  123. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +92 -0
  124. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +91 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +16 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +16 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +16 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +16 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +15 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +16 -0
  131. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +16 -0
  132. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +15 -0
  133. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +15 -0
  134. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +16 -0
  135. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +16 -0
  136. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +18 -0
  137. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +16 -0
  138. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +16 -0
  139. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +16 -0
  140. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +16 -0
  141. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +49 -0
  142. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +16 -0
  143. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +16 -0
  144. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +16 -0
  145. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +15 -0
  146. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +16 -0
  147. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +16 -0
  148. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +16 -0
  149. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +16 -0
  150. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +16 -0
  151. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +16 -0
  152. package/expansion-packs/bmad-creative-writing/config.yaml +11 -0
  153. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +197 -0
  154. package/expansion-packs/bmad-creative-writing/data/story-structures.md +58 -0
  155. package/expansion-packs/bmad-creative-writing/docs/brief.md +183 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +117 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +16 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +55 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +22 -0
  160. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +16 -0
  161. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +17 -0
  162. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +15 -0
  163. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +101 -0
  164. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +19 -0
  165. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +19 -0
  166. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +17 -0
  167. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +93 -0
  168. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +16 -0
  169. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +16 -0
  170. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +16 -0
  171. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +18 -0
  172. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +19 -0
  173. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +16 -0
  174. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +18 -0
  175. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +16 -0
  176. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +17 -0
  177. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +16 -0
  178. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +15 -0
  179. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +16 -0
  180. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +51 -0
  181. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +96 -0
  182. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +81 -0
  183. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  184. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +97 -0
  185. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +77 -0
  186. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +54 -0
  187. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  188. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +88 -0
  189. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +176 -0
  190. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +58 -0
  191. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +51 -0
  192. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  193. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +92 -0
  194. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +86 -0
  195. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +79 -0
  196. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +65 -0
  197. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  198. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  199. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  200. package/package.json +62 -39
  201. package/prettier.config.mjs +32 -0
  202. package/sync-version.sh +23 -0
  203. package/tools/bmad-npx-wrapper.js +10 -10
  204. package/tools/builders/web-builder.js +124 -130
  205. package/tools/bump-all-versions.js +42 -33
  206. package/tools/bump-expansion-version.js +23 -16
  207. package/tools/cli.js +10 -12
  208. package/tools/flattener/aggregate.js +10 -10
  209. package/tools/flattener/binary.js +44 -17
  210. package/tools/flattener/discovery.js +19 -18
  211. package/tools/flattener/files.js +6 -6
  212. package/tools/flattener/ignoreRules.js +125 -125
  213. package/tools/flattener/main.js +426 -70
  214. package/tools/flattener/projectRoot.js +186 -25
  215. package/tools/flattener/prompts.js +9 -9
  216. package/tools/flattener/stats.helpers.js +395 -0
  217. package/tools/flattener/stats.js +64 -14
  218. package/tools/flattener/test-matrix.js +413 -0
  219. package/tools/flattener/xml.js +33 -31
  220. package/tools/installer/bin/bmad.js +156 -113
  221. package/tools/installer/config/ide-agent-config.yaml +1 -1
  222. package/tools/installer/config/install.config.yaml +13 -3
  223. package/tools/installer/lib/config-loader.js +46 -42
  224. package/tools/installer/lib/file-manager.js +91 -113
  225. package/tools/installer/lib/ide-base-setup.js +57 -56
  226. package/tools/installer/lib/ide-setup.js +545 -399
  227. package/tools/installer/lib/installer.js +875 -714
  228. package/tools/installer/lib/memory-profiler.js +54 -53
  229. package/tools/installer/lib/module-manager.js +19 -15
  230. package/tools/installer/lib/resource-locator.js +26 -28
  231. package/tools/installer/package.json +19 -19
  232. package/tools/lib/dependency-resolver.js +26 -30
  233. package/tools/lib/yaml-utils.js +7 -7
  234. package/tools/preview-release-notes.js +66 -0
  235. package/tools/shared/bannerArt.js +3 -3
  236. package/tools/sync-installer-version.js +7 -9
  237. package/tools/update-expansion-version.js +14 -15
  238. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  239. package/tools/version-bump.js +41 -26
  240. package/tools/yaml-format.js +56 -43
  241. package/.github/workflows/release.yaml +0 -60
  242. package/.releaserc.json +0 -21
  243. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  244. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  245. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  246. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  247. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  248. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  249. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  250. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  251. package/tools/semantic-release-sync-installer.js +0 -30
@@ -0,0 +1,353 @@
1
+ # risk-profile
2
+
3
+ Generate a comprehensive risk assessment matrix for a story implementation using probability × impact analysis.
4
+
5
+ ## Inputs
6
+
7
+ ```yaml
8
+ required:
9
+ - story_id: '{epic}.{story}' # e.g., "1.3"
10
+ - story_path: 'docs/stories/{epic}.{story}.*.md'
11
+ - story_title: '{title}' # If missing, derive from story file H1
12
+ - story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
13
+ ```
14
+
15
+ ## Purpose
16
+
17
+ Identify, assess, and prioritize risks in the story implementation. Provide risk mitigation strategies and testing focus areas based on risk levels.
18
+
19
+ ## Risk Assessment Framework
20
+
21
+ ### Risk Categories
22
+
23
+ **Category Prefixes:**
24
+
25
+ - `TECH`: Technical Risks
26
+ - `SEC`: Security Risks
27
+ - `PERF`: Performance Risks
28
+ - `DATA`: Data Risks
29
+ - `BUS`: Business Risks
30
+ - `OPS`: Operational Risks
31
+
32
+ 1. **Technical Risks (TECH)**
33
+ - Architecture complexity
34
+ - Integration challenges
35
+ - Technical debt
36
+ - Scalability concerns
37
+ - System dependencies
38
+
39
+ 2. **Security Risks (SEC)**
40
+ - Authentication/authorization flaws
41
+ - Data exposure vulnerabilities
42
+ - Injection attacks
43
+ - Session management issues
44
+ - Cryptographic weaknesses
45
+
46
+ 3. **Performance Risks (PERF)**
47
+ - Response time degradation
48
+ - Throughput bottlenecks
49
+ - Resource exhaustion
50
+ - Database query optimization
51
+ - Caching failures
52
+
53
+ 4. **Data Risks (DATA)**
54
+ - Data loss potential
55
+ - Data corruption
56
+ - Privacy violations
57
+ - Compliance issues
58
+ - Backup/recovery gaps
59
+
60
+ 5. **Business Risks (BUS)**
61
+ - Feature doesn't meet user needs
62
+ - Revenue impact
63
+ - Reputation damage
64
+ - Regulatory non-compliance
65
+ - Market timing
66
+
67
+ 6. **Operational Risks (OPS)**
68
+ - Deployment failures
69
+ - Monitoring gaps
70
+ - Incident response readiness
71
+ - Documentation inadequacy
72
+ - Knowledge transfer issues
73
+
74
+ ## Risk Analysis Process
75
+
76
+ ### 1. Risk Identification
77
+
78
+ For each category, identify specific risks:
79
+
80
+ ```yaml
81
+ risk:
82
+ id: 'SEC-001' # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
83
+ category: security
84
+ title: 'Insufficient input validation on user forms'
85
+ description: 'Form inputs not properly sanitized could lead to XSS attacks'
86
+ affected_components:
87
+ - 'UserRegistrationForm'
88
+ - 'ProfileUpdateForm'
89
+ detection_method: 'Code review revealed missing validation'
90
+ ```
91
+
92
+ ### 2. Risk Assessment
93
+
94
+ Evaluate each risk using probability × impact:
95
+
96
+ **Probability Levels:**
97
+
98
+ - `High (3)`: Likely to occur (>70% chance)
99
+ - `Medium (2)`: Possible occurrence (30-70% chance)
100
+ - `Low (1)`: Unlikely to occur (<30% chance)
101
+
102
+ **Impact Levels:**
103
+
104
+ - `High (3)`: Severe consequences (data breach, system down, major financial loss)
105
+ - `Medium (2)`: Moderate consequences (degraded performance, minor data issues)
106
+ - `Low (1)`: Minor consequences (cosmetic issues, slight inconvenience)
107
+
108
+ ### Risk Score = Probability × Impact
109
+
110
+ - 9: Critical Risk (Red)
111
+ - 6: High Risk (Orange)
112
+ - 4: Medium Risk (Yellow)
113
+ - 2-3: Low Risk (Green)
114
+ - 1: Minimal Risk (Blue)
115
+
116
+ ### 3. Risk Prioritization
117
+
118
+ Create risk matrix:
119
+
120
+ ```markdown
121
+ ## Risk Matrix
122
+
123
+ | Risk ID | Description | Probability | Impact | Score | Priority |
124
+ | -------- | ----------------------- | ----------- | ---------- | ----- | -------- |
125
+ | SEC-001 | XSS vulnerability | High (3) | High (3) | 9 | Critical |
126
+ | PERF-001 | Slow query on dashboard | Medium (2) | Medium (2) | 4 | Medium |
127
+ | DATA-001 | Backup failure | Low (1) | High (3) | 3 | Low |
128
+ ```
129
+
130
+ ### 4. Risk Mitigation Strategies
131
+
132
+ For each identified risk, provide mitigation:
133
+
134
+ ```yaml
135
+ mitigation:
136
+ risk_id: 'SEC-001'
137
+ strategy: 'preventive' # preventive|detective|corrective
138
+ actions:
139
+ - 'Implement input validation library (e.g., validator.js)'
140
+ - 'Add CSP headers to prevent XSS execution'
141
+ - 'Sanitize all user inputs before storage'
142
+ - 'Escape all outputs in templates'
143
+ testing_requirements:
144
+ - 'Security testing with OWASP ZAP'
145
+ - 'Manual penetration testing of forms'
146
+ - 'Unit tests for validation functions'
147
+ residual_risk: 'Low - Some zero-day vulnerabilities may remain'
148
+ owner: 'dev'
149
+ timeline: 'Before deployment'
150
+ ```
151
+
152
+ ## Outputs
153
+
154
+ ### Output 1: Gate YAML Block
155
+
156
+ Generate for pasting into gate file under `risk_summary`:
157
+
158
+ **Output rules:**
159
+
160
+ - Only include assessed risks; do not emit placeholders
161
+ - Sort risks by score (desc) when emitting highest and any tabular lists
162
+ - If no risks: totals all zeros, omit highest, keep recommendations arrays empty
163
+
164
+ ```yaml
165
+ # risk_summary (paste into gate file):
166
+ risk_summary:
167
+ totals:
168
+ critical: X # score 9
169
+ high: Y # score 6
170
+ medium: Z # score 4
171
+ low: W # score 2-3
172
+ highest:
173
+ id: SEC-001
174
+ score: 9
175
+ title: 'XSS on profile form'
176
+ recommendations:
177
+ must_fix:
178
+ - 'Add input sanitization & CSP'
179
+ monitor:
180
+ - 'Add security alerts for auth endpoints'
181
+ ```
182
+
183
+ ### Output 2: Markdown Report
184
+
185
+ **Save to:** `qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md`
186
+
187
+ ```markdown
188
+ # Risk Profile: Story {epic}.{story}
189
+
190
+ Date: {date}
191
+ Reviewer: Quinn (Test Architect)
192
+
193
+ ## Executive Summary
194
+
195
+ - Total Risks Identified: X
196
+ - Critical Risks: Y
197
+ - High Risks: Z
198
+ - Risk Score: XX/100 (calculated)
199
+
200
+ ## Critical Risks Requiring Immediate Attention
201
+
202
+ ### 1. [ID]: Risk Title
203
+
204
+ **Score: 9 (Critical)**
205
+ **Probability**: High - Detailed reasoning
206
+ **Impact**: High - Potential consequences
207
+ **Mitigation**:
208
+
209
+ - Immediate action required
210
+ - Specific steps to take
211
+ **Testing Focus**: Specific test scenarios needed
212
+
213
+ ## Risk Distribution
214
+
215
+ ### By Category
216
+
217
+ - Security: X risks (Y critical)
218
+ - Performance: X risks (Y critical)
219
+ - Data: X risks (Y critical)
220
+ - Business: X risks (Y critical)
221
+ - Operational: X risks (Y critical)
222
+
223
+ ### By Component
224
+
225
+ - Frontend: X risks
226
+ - Backend: X risks
227
+ - Database: X risks
228
+ - Infrastructure: X risks
229
+
230
+ ## Detailed Risk Register
231
+
232
+ [Full table of all risks with scores and mitigations]
233
+
234
+ ## Risk-Based Testing Strategy
235
+
236
+ ### Priority 1: Critical Risk Tests
237
+
238
+ - Test scenarios for critical risks
239
+ - Required test types (security, load, chaos)
240
+ - Test data requirements
241
+
242
+ ### Priority 2: High Risk Tests
243
+
244
+ - Integration test scenarios
245
+ - Edge case coverage
246
+
247
+ ### Priority 3: Medium/Low Risk Tests
248
+
249
+ - Standard functional tests
250
+ - Regression test suite
251
+
252
+ ## Risk Acceptance Criteria
253
+
254
+ ### Must Fix Before Production
255
+
256
+ - All critical risks (score 9)
257
+ - High risks affecting security/data
258
+
259
+ ### Can Deploy with Mitigation
260
+
261
+ - Medium risks with compensating controls
262
+ - Low risks with monitoring in place
263
+
264
+ ### Accepted Risks
265
+
266
+ - Document any risks team accepts
267
+ - Include sign-off from appropriate authority
268
+
269
+ ## Monitoring Requirements
270
+
271
+ Post-deployment monitoring for:
272
+
273
+ - Performance metrics for PERF risks
274
+ - Security alerts for SEC risks
275
+ - Error rates for operational risks
276
+ - Business KPIs for business risks
277
+
278
+ ## Risk Review Triggers
279
+
280
+ Review and update risk profile when:
281
+
282
+ - Architecture changes significantly
283
+ - New integrations added
284
+ - Security vulnerabilities discovered
285
+ - Performance issues reported
286
+ - Regulatory requirements change
287
+ ```
288
+
289
+ ## Risk Scoring Algorithm
290
+
291
+ Calculate overall story risk score:
292
+
293
+ ```text
294
+ Base Score = 100
295
+ For each risk:
296
+ - Critical (9): Deduct 20 points
297
+ - High (6): Deduct 10 points
298
+ - Medium (4): Deduct 5 points
299
+ - Low (2-3): Deduct 2 points
300
+
301
+ Minimum score = 0 (extremely risky)
302
+ Maximum score = 100 (minimal risk)
303
+ ```
304
+
305
+ ## Risk-Based Recommendations
306
+
307
+ Based on risk profile, recommend:
308
+
309
+ 1. **Testing Priority**
310
+ - Which tests to run first
311
+ - Additional test types needed
312
+ - Test environment requirements
313
+
314
+ 2. **Development Focus**
315
+ - Code review emphasis areas
316
+ - Additional validation needed
317
+ - Security controls to implement
318
+
319
+ 3. **Deployment Strategy**
320
+ - Phased rollout for high-risk changes
321
+ - Feature flags for risky features
322
+ - Rollback procedures
323
+
324
+ 4. **Monitoring Setup**
325
+ - Metrics to track
326
+ - Alerts to configure
327
+ - Dashboard requirements
328
+
329
+ ## Integration with Quality Gates
330
+
331
+ **Deterministic gate mapping:**
332
+
333
+ - Any risk with score ≥ 9 → Gate = FAIL (unless waived)
334
+ - Else if any score ≥ 6 → Gate = CONCERNS
335
+ - Else → Gate = PASS
336
+ - Unmitigated risks → Document in gate
337
+
338
+ ### Output 3: Story Hook Line
339
+
340
+ **Print this line for review task to quote:**
341
+
342
+ ```text
343
+ Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
344
+ ```
345
+
346
+ ## Key Principles
347
+
348
+ - Identify risks early and systematically
349
+ - Use consistent probability × impact scoring
350
+ - Provide actionable mitigation strategies
351
+ - Link risks to specific test requirements
352
+ - Track residual risk after mitigation
353
+ - Update risk profile as story evolves
@@ -0,0 +1,174 @@
1
+ # test-design
2
+
3
+ Create comprehensive test scenarios with appropriate test level recommendations for story implementation.
4
+
5
+ ## Inputs
6
+
7
+ ```yaml
8
+ required:
9
+ - story_id: '{epic}.{story}' # e.g., "1.3"
10
+ - story_path: '{devStoryLocation}/{epic}.{story}.*.md' # Path from core-config.yaml
11
+ - story_title: '{title}' # If missing, derive from story file H1
12
+ - story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
13
+ ```
14
+
15
+ ## Purpose
16
+
17
+ Design a complete test strategy that identifies what to test, at which level (unit/integration/e2e), and why. This ensures efficient test coverage without redundancy while maintaining appropriate test boundaries.
18
+
19
+ ## Dependencies
20
+
21
+ ```yaml
22
+ data:
23
+ - test-levels-framework.md # Unit/Integration/E2E decision criteria
24
+ - test-priorities-matrix.md # P0/P1/P2/P3 classification system
25
+ ```
26
+
27
+ ## Process
28
+
29
+ ### 1. Analyze Story Requirements
30
+
31
+ Break down each acceptance criterion into testable scenarios. For each AC:
32
+
33
+ - Identify the core functionality to test
34
+ - Determine data variations needed
35
+ - Consider error conditions
36
+ - Note edge cases
37
+
38
+ ### 2. Apply Test Level Framework
39
+
40
+ **Reference:** Load `test-levels-framework.md` for detailed criteria
41
+
42
+ Quick rules:
43
+
44
+ - **Unit**: Pure logic, algorithms, calculations
45
+ - **Integration**: Component interactions, DB operations
46
+ - **E2E**: Critical user journeys, compliance
47
+
48
+ ### 3. Assign Priorities
49
+
50
+ **Reference:** Load `test-priorities-matrix.md` for classification
51
+
52
+ Quick priority assignment:
53
+
54
+ - **P0**: Revenue-critical, security, compliance
55
+ - **P1**: Core user journeys, frequently used
56
+ - **P2**: Secondary features, admin functions
57
+ - **P3**: Nice-to-have, rarely used
58
+
59
+ ### 4. Design Test Scenarios
60
+
61
+ For each identified test need, create:
62
+
63
+ ```yaml
64
+ test_scenario:
65
+ id: '{epic}.{story}-{LEVEL}-{SEQ}'
66
+ requirement: 'AC reference'
67
+ priority: P0|P1|P2|P3
68
+ level: unit|integration|e2e
69
+ description: 'What is being tested'
70
+ justification: 'Why this level was chosen'
71
+ mitigates_risks: ['RISK-001'] # If risk profile exists
72
+ ```
73
+
74
+ ### 5. Validate Coverage
75
+
76
+ Ensure:
77
+
78
+ - Every AC has at least one test
79
+ - No duplicate coverage across levels
80
+ - Critical paths have multiple levels
81
+ - Risk mitigations are addressed
82
+
83
+ ## Outputs
84
+
85
+ ### Output 1: Test Design Document
86
+
87
+ **Save to:** `qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md`
88
+
89
+ ```markdown
90
+ # Test Design: Story {epic}.{story}
91
+
92
+ Date: {date}
93
+ Designer: Quinn (Test Architect)
94
+
95
+ ## Test Strategy Overview
96
+
97
+ - Total test scenarios: X
98
+ - Unit tests: Y (A%)
99
+ - Integration tests: Z (B%)
100
+ - E2E tests: W (C%)
101
+ - Priority distribution: P0: X, P1: Y, P2: Z
102
+
103
+ ## Test Scenarios by Acceptance Criteria
104
+
105
+ ### AC1: {description}
106
+
107
+ #### Scenarios
108
+
109
+ | ID | Level | Priority | Test | Justification |
110
+ | ------------ | ----------- | -------- | ------------------------- | ------------------------ |
111
+ | 1.3-UNIT-001 | Unit | P0 | Validate input format | Pure validation logic |
112
+ | 1.3-INT-001 | Integration | P0 | Service processes request | Multi-component flow |
113
+ | 1.3-E2E-001 | E2E | P1 | User completes journey | Critical path validation |
114
+
115
+ [Continue for all ACs...]
116
+
117
+ ## Risk Coverage
118
+
119
+ [Map test scenarios to identified risks if risk profile exists]
120
+
121
+ ## Recommended Execution Order
122
+
123
+ 1. P0 Unit tests (fail fast)
124
+ 2. P0 Integration tests
125
+ 3. P0 E2E tests
126
+ 4. P1 tests in order
127
+ 5. P2+ as time permits
128
+ ```
129
+
130
+ ### Output 2: Gate YAML Block
131
+
132
+ Generate for inclusion in quality gate:
133
+
134
+ ```yaml
135
+ test_design:
136
+ scenarios_total: X
137
+ by_level:
138
+ unit: Y
139
+ integration: Z
140
+ e2e: W
141
+ by_priority:
142
+ p0: A
143
+ p1: B
144
+ p2: C
145
+ coverage_gaps: [] # List any ACs without tests
146
+ ```
147
+
148
+ ### Output 3: Trace References
149
+
150
+ Print for use by trace-requirements task:
151
+
152
+ ```text
153
+ Test design matrix: qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md
154
+ P0 tests identified: {count}
155
+ ```
156
+
157
+ ## Quality Checklist
158
+
159
+ Before finalizing, verify:
160
+
161
+ - [ ] Every AC has test coverage
162
+ - [ ] Test levels are appropriate (not over-testing)
163
+ - [ ] No duplicate coverage across levels
164
+ - [ ] Priorities align with business risk
165
+ - [ ] Test IDs follow naming convention
166
+ - [ ] Scenarios are atomic and independent
167
+
168
+ ## Key Principles
169
+
170
+ - **Shift left**: Prefer unit over integration, integration over E2E
171
+ - **Risk-based**: Focus on what could go wrong
172
+ - **Efficient coverage**: Test once at the right level
173
+ - **Maintainability**: Consider long-term test maintenance
174
+ - **Fast feedback**: Quick tests run first