bmad-method 6.0.0-alpha.20 → 6.0.0-alpha.21

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 (114) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/package.json +2 -2
  3. package/samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +1 -1
  4. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml +1 -1
  5. package/src/core/agents/bmad-master.agent.yaml +4 -8
  6. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +1 -1
  7. package/src/modules/bmb/agents/agent-builder.agent.yaml +36 -0
  8. package/src/modules/bmb/agents/module-builder.agent.yaml +48 -0
  9. package/src/modules/bmb/agents/workflow-builder.agent.yaml +40 -0
  10. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +2 -1
  11. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +8 -13
  12. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +10 -14
  13. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +1 -1
  14. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +1 -1
  15. package/src/modules/bmgd/agents/game-architect.agent.yaml +8 -17
  16. package/src/modules/bmgd/agents/game-designer.agent.yaml +21 -33
  17. package/src/modules/bmgd/agents/game-dev.agent.yaml +12 -16
  18. package/src/modules/bmgd/agents/game-qa.agent.yaml +16 -20
  19. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +16 -20
  20. package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +14 -18
  21. package/src/modules/bmgd/module.yaml +1 -1
  22. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +1 -1
  23. package/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-01-discover.md +1 -1
  24. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +1 -1
  25. package/src/modules/bmm/_module-installer/installer.js +0 -34
  26. package/src/modules/bmm/agents/analyst.agent.yaml +10 -22
  27. package/src/modules/bmm/agents/architect.agent.yaml +6 -23
  28. package/src/modules/bmm/agents/dev.agent.yaml +2 -6
  29. package/src/modules/bmm/agents/pm.agent.yaml +10 -19
  30. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +6 -2
  31. package/src/modules/bmm/agents/sm.agent.yaml +12 -24
  32. package/src/modules/bmm/agents/tea.agent.yaml +20 -25
  33. package/src/modules/bmm/agents/tech-writer.agent.yaml +18 -31
  34. package/src/modules/bmm/agents/ux-designer.agent.yaml +8 -20
  35. package/src/modules/bmm/module.yaml +3 -3
  36. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +21 -32
  37. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +19 -44
  38. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +1 -1
  39. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +2 -2
  40. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +2 -2
  41. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +2 -2
  42. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +2 -2
  43. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +2 -2
  44. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +2 -2
  45. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +3 -3
  46. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +2 -2
  47. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +2 -2
  48. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +2 -2
  49. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +2 -2
  50. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +5 -4
  51. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +0 -15
  52. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -5
  53. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +22 -69
  54. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +2 -2
  55. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +3 -3
  56. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +3 -3
  57. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +3 -3
  58. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +3 -3
  59. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +3 -3
  60. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +3 -3
  61. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +3 -3
  62. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +3 -3
  63. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +3 -3
  64. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +5 -43
  65. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +1 -1
  66. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +8 -8
  67. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +1 -1
  68. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +2 -2
  69. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +24 -53
  70. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +1 -1
  71. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +1 -1
  72. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +1 -1
  73. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +1 -1
  74. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +1 -1
  75. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +1 -1
  76. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +6 -6
  77. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +1 -1
  78. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +1 -1
  79. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +2 -11
  80. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -11
  81. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -11
  82. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -11
  83. package/src/modules/cis/agents/presentation-master.agent.yaml +14 -23
  84. package/src/modules/cis/agents/storyteller/storyteller.agent.yaml +2 -11
  85. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +6 -6
  86. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +8 -8
  87. package/test/fixtures/agent-schema/{invalid → valid}/metadata/core-agent-with-module.agent.yaml +4 -7
  88. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +22 -0
  89. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +23 -0
  90. package/test/test-installation-components.js +1 -1
  91. package/tools/cli/installers/lib/core/config-collector.js +1 -1
  92. package/tools/cli/installers/lib/core/installer.js +4 -4
  93. package/tools/cli/installers/lib/ide/antigravity.js +3 -3
  94. package/tools/cli/installers/lib/ide/claude-code.js +3 -3
  95. package/tools/cli/installers/lib/ide/codex.js +1 -1
  96. package/tools/cli/installers/lib/ide/github-copilot.js +1 -1
  97. package/tools/cli/lib/agent/compiler.js +4 -3
  98. package/tools/cli/lib/ui.js +1 -1
  99. package/tools/platform-codes.yaml +13 -1
  100. package/tools/schema/agent.js +30 -52
  101. package/src/modules/bmb/agents/bmad-builder.agent.yaml +0 -94
  102. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +0 -242
  103. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +0 -24
  104. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +0 -108
  105. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +0 -46
  106. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +0 -39
  107. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +0 -152
  108. package/src/modules/bmb/reference/agents/module-examples/README.md +0 -49
  109. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +0 -53
  110. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +0 -57
  111. package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +0 -126
  112. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-wrong-shortcut.agent.yaml +0 -24
  113. package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +0 -25
  114. package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +0 -26
@@ -67,7 +67,7 @@ First, check if the output document already exists:
67
67
 
68
68
  **Workflow State Detection:**
69
69
 
70
- - Look for file at `{output_folder}/analysis/*product-brief*.md`
70
+ - Look for file `{outputFile}`
71
71
  - If exists, read the complete file including frontmatter
72
72
  - If not exists, this is a fresh workflow
73
73
 
@@ -88,47 +88,35 @@ If no document exists or no `stepsCompleted` in frontmatter:
88
88
 
89
89
  #### A. Input Document Discovery
90
90
 
91
- Discover and load context documents using smart discovery:
91
+ load context documents using smart discovery. Documents can be in the following locations:
92
+ - {planning_artifacts}/**
93
+ - {output_folder}/**
94
+ - {product_knowledge}/**
95
+ - docs/**
92
96
 
93
- **Research Documents (Priority: Sharded Whole):**
97
+ Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
94
98
 
95
- 1. Check for sharded research folder: `{output_folder}/analysis/research/**/*.md`
96
- 2. If folder exists: Load EVERY file in that folder completely
97
- 3. If no folder exists: Try whole file: `{output_folder}/analysis/research/*research*.md`
98
- 4. Add discovered files to `inputDocuments` frontmatter
99
+ Try to discover the following:
100
+ - Brainstorming Reports (`*brainstorming*.md`)
101
+ - Research Documents (`*research*.md`)
102
+ - Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
103
+ - Project Context (`**/project-context.md`)
99
104
 
100
- **Brainstorming Documents (Priority: Sharded Whole):**
105
+ <critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
101
106
 
102
- 1. Check for sharded brainstorming folder: `{output_folder}/analysis/*brainstorm*/**/*.md`
103
- 2. If folder exists: Load useful brainstorming files completely
104
- 3. If no folder exists: Try whole file: `{output_folder}/analysis/*brainstorm*.md`
105
- 4. Add discovered files to `inputDocuments` frontmatter
107
+ **Loading Rules:**
106
108
 
107
- **Project Documentation (Existing Projects):**
108
-
109
- 1. Look for index file: `{output_folder}/**/index.md`
110
- 2. Load index.md to understand what project files are available
111
- 3. Read available files from index to understand existing project context
112
- 4. Add discovered files to `inputDocuments` frontmatter
109
+ - Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
110
+ - If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
111
+ - For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
112
+ - index.md is a guide to what's relevant whenever available
113
+ - Track all successfully loaded files in frontmatter `inputDocuments` array
113
114
 
114
115
  #### B. Create Initial Document
115
116
 
116
117
  **Document Setup:**
117
118
 
118
- - Copy the template from `{productBriefTemplate}` to `{outputFile}`
119
- - Initialize frontmatter with proper structure:
120
-
121
- ```yaml
122
- ---
123
- stepsCompleted: []
124
- inputDocuments: []
125
- workflowType: 'product-brief'
126
- lastStep: 0
127
- project_name: '{{project_name}}'
128
- user_name: '{{user_name}}'
129
- date: '{{date}}'
130
- ---
131
- ```
119
+ - Copy the template from `{productBriefTemplate}` to `{outputFile}`, and update the frontmatter fields
132
120
 
133
121
  #### C. Present Initialization Results
134
122
 
@@ -145,6 +133,7 @@ date: '{{date}}'
145
133
  - Research: {number of research files loaded or "None found"}
146
134
  - Brainstorming: {number of brainstorming files loaded or "None found"}
147
135
  - Project docs: {number of project files loaded or "None found"}
136
+ - Project Context: {number of project context files loaded or "None found"}
148
137
 
149
138
  **Files loaded:** {list of specific file names or "No additional documents found"}
150
139
 
@@ -35,7 +35,7 @@ Initialize the UX design workflow by detecting continuation state and setting up
35
35
 
36
36
  First, check if the output document already exists:
37
37
 
38
- - Look for file at `{planning_artifacts}/ux-design-specification.md`
38
+ - Look for file at `{planning_artifacts}/*ux-design-specification*.md`
39
39
  - If exists, read the complete file including frontmatter
40
40
  - If not exists, this is a fresh workflow
41
41
 
@@ -53,59 +53,34 @@ If no document exists or no `stepsCompleted` in frontmatter:
53
53
 
54
54
  #### A. Input Document Discovery
55
55
 
56
- Discover and load context documents using smart discovery:
56
+ Discover and load context documents using smart discovery. Documents can be in the following locations:
57
+ - {planning_artifacts}/**
58
+ - {output_folder}/**
59
+ - {product_knowledge}/**
60
+ - docs/**
57
61
 
58
- **PRD (Priority: Analysis Main Sharded Whole):**
62
+ Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
59
63
 
60
- 1. Check analysis folder: `{planning_artifacts}/*prd*.md`
61
- 2. If no files: Try main folder: `{output_folder}/*prd*.md`
62
- 3. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
63
- 4. If sharded folder exists: Load EVERY file in that folder completely for UX context
64
- 5. Add discovered files to `inputDocuments` frontmatter
64
+ Try to discover the following:
65
+ - Product Brief (`*brief*.md`)
66
+ - Research Documents (`*prd*.md`)
67
+ - Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
68
+ - Project Context (`**/project-context.md`)
65
69
 
66
- **Product Brief (Priority: Analysis Main Sharded Whole):**
67
-
68
- 1. Check analysis folder: `{planning_artifacts}/*brief*.md`
69
- 2. If no analysis files: Try main folder: `{output_folder}/*brief*.md`
70
- 3. If no main files: Check for sharded brief folder: `**/*brief*/**/*.md`
71
- 4. If sharded folder exists: Load EVERY file in that folder completely
72
- 5. Add discovered files to `inputDocuments` frontmatter
73
-
74
- **Research Documents (Priority: Analysis → Main → Sharded → Whole):**
75
-
76
- 1. Check analysis folder: `{planning_artifacts}/research/*research*.md`
77
- 2. If no analysis files: Try main folder: `{output_folder}/*research*.md`
78
- 3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
79
- 4. Load useful research files completely
80
- 5. Add discovered files to `inputDocuments` frontmatter
81
-
82
- **Other Context (Priority: Analysis → Main → Sharded):**
83
-
84
- - Epics: `{output_folder}/analysis/*epic*.md` or `{output_folder}/*epic*.md` or `{output_folder}/*epic*/**/*.md`
85
- - Brainstorming: `{output_folder}/analysis/brainstorming/*brainstorming*.md` or `{output_folder}/*brainstorming*.md`
70
+ <critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
86
71
 
87
72
  **Loading Rules:**
88
73
 
89
- - Load ALL discovered files completely (no offset/limit)
90
- - For sharded folders, load ALL files to get complete picture
74
+ - Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
75
+ - If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
76
+ - For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
77
+ - index.md is a guide to what's relevant whenever available
91
78
  - Track all successfully loaded files in frontmatter `inputDocuments` array
92
79
 
93
80
  #### B. Create Initial Document
94
81
 
95
82
  Copy the template from `{installed_path}/ux-design-template.md` to `{planning_artifacts}/ux-design-specification.md`
96
- Initialize frontmatter with:
97
-
98
- ```yaml
99
- ---
100
- stepsCompleted: []
101
- inputDocuments: []
102
- workflowType: 'ux-design'
103
- lastStep: 0
104
- project_name: '{{project_name}}'
105
- user_name: '{{user_name}}'
106
- date: '{{date}}'
107
- ---
108
- ```
83
+ Initialize frontmatter in the template.
109
84
 
110
85
  #### C. Complete Initialization and Report
111
86
 
@@ -134,7 +109,7 @@ Do you have any other documents you'd like me to include, or shall we continue t
134
109
 
135
110
  ## NEXT STEP:
136
111
 
137
- After user selects [C] to continue, load `./step-02-discovery.md` to begin the UX discovery phase.
112
+ After user selects [C] to continue, ensure the file `{planning_artifacts}/ux-design-specification.md` has been created and saved, and then load `./step-02-discovery.md` to begin the UX discovery phase.
138
113
 
139
114
  Remember: Do NOT proceed to step-02 until output file has been updated and user explicitly selects [C] to continue!
140
115
 
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating project understanding content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating core experience content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -177,7 +177,7 @@ Show the generated core experience content and present choices:
177
177
  #### If 'C' (Continue):
178
178
 
179
179
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
180
- - Update frontmatter: `stepsCompleted: [1, 2, 3]`
180
+ - Update frontmatter: append step to end of stepsCompleted array
181
181
  - Load `./step-04-emotional-response.md`
182
182
 
183
183
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating emotional response content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -180,7 +180,7 @@ Show the generated emotional response content and present choices:
180
180
  #### If 'C' (Continue):
181
181
 
182
182
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
183
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
183
+ - Update frontmatter: append step to end of stepsCompleted array
184
184
  - Load `./step-05-inspiration.md`
185
185
 
186
186
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating inspiration analysis content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -195,7 +195,7 @@ Show the generated inspiration analysis content and present choices:
195
195
  #### If 'C' (Continue):
196
196
 
197
197
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
198
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
198
+ - Update frontmatter: append step to end of stepsCompleted array
199
199
  - Load and execute`./step-06-design-system.md`
200
200
 
201
201
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating design system decision content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -213,7 +213,7 @@ Show the generated design system content and present choices:
213
213
  #### If 'C' (Continue):
214
214
 
215
215
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
216
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
216
+ - Update frontmatter: append step to end of stepsCompleted array
217
217
  - Load `./step-07-defining-experience.md`
218
218
 
219
219
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating defining experience content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -215,7 +215,7 @@ Show the generated defining experience content and present choices:
215
215
  #### If 'C' (Continue):
216
216
 
217
217
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
218
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
218
+ - Update frontmatter: append step to end of stepsCompleted array
219
219
  - Load `./step-08-visual-foundation.md`
220
220
 
221
221
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating visual foundation content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -185,7 +185,7 @@ Show the generated visual foundation content and present choices:
185
185
  #### If 'C' (Continue):
186
186
 
187
187
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
188
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
188
+ - Update frontmatter: append step to end of stepsCompleted array
189
189
  - Load `./step-09-design-directions.md`
190
190
 
191
191
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating design direction content
18
18
  - 💾 Generate HTML visualizer for design directions
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -65,7 +65,7 @@ Each mockup will show a complete vision for {{project_name}} with all our design
65
65
  Generate interactive visual exploration:
66
66
  "🎨 Design Direction Mockups Generated!
67
67
 
68
- I'm creating a comprehensive HTML design direction showcase at `{output_folder}/ux-design-directions.html`
68
+ I'm creating a comprehensive HTML design direction showcase at `{planning_artifacts}/ux-design-directions.html`
69
69
 
70
70
  **What you'll see:**
71
71
 
@@ -185,7 +185,7 @@ Show the generated design direction content and present choices:
185
185
  #### If 'C' (Continue):
186
186
 
187
187
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
188
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
188
+ - Update frontmatter: append step to end of stepsCompleted array
189
189
  - Load `./step-10-user-journeys.md`
190
190
 
191
191
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating user journey content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -203,7 +203,7 @@ Show the generated user journey content and present choices:
203
203
  #### If 'C' (Continue):
204
204
 
205
205
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
206
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
206
+ - Update frontmatter: append step to end of stepsCompleted array
207
207
  - Load `./step-11-component-strategy.md`
208
208
 
209
209
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating component strategy content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -209,7 +209,7 @@ Show the generated component strategy content and present choices:
209
209
  #### If 'C' (Continue):
210
210
 
211
211
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
212
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]`
212
+ - Update frontmatter: append step to end of stepsCompleted array
213
213
  - Load `./step-12-ux-patterns.md`
214
214
 
215
215
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating UX patterns content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -198,7 +198,7 @@ Show the generated UX patterns content and present choices:
198
198
  #### If 'C' (Continue):
199
199
 
200
200
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
201
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]`
201
+ - Update frontmatter: append step to end of stepsCompleted array
202
202
  - Load `./step-13-responsive-accessibility.md`
203
203
 
204
204
  ## APPEND TO DOCUMENT:
@@ -16,7 +16,7 @@
16
16
  - 🎯 Show your analysis before taking any action
17
17
  - ⚠️ Present A/P/C menu after generating responsive/accessibility content
18
18
  - 💾 ONLY save when user chooses C (Continue)
19
- - 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]` before loading next step
19
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
20
20
  - 🚫 FORBIDDEN to load next step until C is selected
21
21
 
22
22
  ## COLLABORATION MENUS (A/P/C):
@@ -225,7 +225,7 @@ Show the generated responsive and accessibility content and present choices:
225
225
  #### If 'C' (Continue):
226
226
 
227
227
  - Append the final content to `{planning_artifacts}/ux-design-specification.md`
228
- - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]`
228
+ - Update frontmatter: append step to end of stepsCompleted array
229
229
  - Load `./step-14-complete.md`
230
230
 
231
231
  ## APPEND TO DOCUMENT:
@@ -21,6 +21,7 @@
21
21
  ## TERMINATION STEP PROTOCOLS:
22
22
 
23
23
  - This is a FINAL step - workflow completion required
24
+ - 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted to indicate all is finished..
24
25
  - Output completion summary and next step guidance
25
26
  - Update the main workflow status file with finalized document
26
27
  - Suggest potential next workflow steps for the user
@@ -64,8 +65,8 @@ I've successfully collaborated with you to create a comprehensive UX design spec
64
65
 
65
66
  **Supporting Visual Assets:**
66
67
 
67
- - Color themes visualizer: `{output_folder}/ux-color-themes.html`
68
- - Design directions mockups: `{output_folder}/ux-design-directions.html`
68
+ - Color themes visualizer: `{planning_artifacts}/ux-color-themes.html`
69
+ - Design directions mockups: `{planning_artifacts}/ux-design-directions.html`
69
70
 
70
71
  This specification is now ready to guide visual design, implementation, and development."
71
72
 
@@ -222,5 +223,5 @@ This UX design workflow is now complete. The specification serves as the foundat
222
223
  **Core Deliverables:**
223
224
 
224
225
  - ✅ UX Design Specification: `{planning_artifacts}/ux-design-specification.md`
225
- - ✅ Color Themes Visualizer: `{output_folder}/ux-color-themes.html`
226
- - ✅ Design Directions: `{output_folder}/ux-design-directions.html`
226
+ - ✅ Color Themes Visualizer: `{planning_artifacts}/ux-color-themes.html`
227
+ - ✅ Design Directions: `{planning_artifacts}/ux-design-directions.html`
@@ -37,21 +37,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
37
37
  - `template_path` = `{installed_path}/ux-design-template.md`
38
38
  - `default_output_file` = `{planning_artifacts}/ux-design-specification.md`
39
39
 
40
- ### Output Files
41
-
42
- - Color themes: `{output_folder}/ux-color-themes.html`
43
- - Design directions: `{output_folder}/ux-design-directions.html`
44
-
45
- ### Input Document Discovery
46
-
47
- Discover context documents for UX context (Priority: Analysis folder first, then main folder, then sharded):
48
-
49
- - PRD: `{planning_artifacts}/*prd*.md` or `{output_folder}/*prd*.md` or `{output_folder}/*prd*/**/*.md`
50
- - Product brief: `{output_folder}/analysis/*brief*.md` or `{output_folder}/*brief*.md` or `{output_folder}/*brief*/**/*.md`
51
- - Epics: `{output_folder}/analysis/*epic*.md` or `{output_folder}/*epic*.md` or `{output_folder}/*epic*/**/*.md`
52
- - Research: `{output_folder}/analysis/research/*research*.md` or `{output_folder}/*research*.md` or `{output_folder}/*research*/**/*.md`
53
- - Brainstorming: `{output_folder}/analysis/brainstorming/*brainstorming*.md` or `{output_folder}/*brainstorming*.md`
54
-
55
40
  ## EXECUTION
56
41
 
57
42
  Load and execute `steps/step-01-init.md` to begin the UX design workflow.
@@ -1,11 +1,6 @@
1
1
  ---
2
2
  stepsCompleted: []
3
3
  inputDocuments: []
4
- documentCounts:
5
- briefs: 0
6
- research: 0
7
- brainstorming: 0
8
- projectDocs: 0
9
4
  workflowType: 'prd'
10
5
  lastStep: 0
11
6
  ---
@@ -10,7 +10,8 @@ thisStepFile: '{workflow_path}/steps/step-01-init.md'
10
10
  nextStepFile: '{workflow_path}/steps/step-02-discovery.md'
11
11
  continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
12
12
  workflowFile: '{workflow_path}/workflow.md'
13
- outputFile: '{output_folder}/prd.md'
13
+ outputFile: '{planning_artifacts}/prd.md'
14
+
14
15
 
15
16
  # Template References
16
17
  prdTemplate: '{workflow_path}/prd-template.md'
@@ -51,7 +52,7 @@ Initialize the PRD workflow by detecting continuation state, discovering input d
51
52
 
52
53
  - 🎯 Show your analysis of current state before taking any action
53
54
  - 💾 Initialize document structure and update frontmatter appropriately
54
- - 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
55
+ - Update frontmatter: add this step name to the end of the steps completed array (it should be the first entry in the steps array since this is step 1)
55
56
  - 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
56
57
 
57
58
  ## CONTEXT BOUNDARIES:
@@ -75,7 +76,7 @@ First, check if the output document already exists:
75
76
 
76
77
  ### 2. Handle Continuation (If Document Exists)
77
78
 
78
- If the document exists and has frontmatter with `stepsCompleted`:
79
+ If the document exists and has frontmatter with `stepsCompleted` BUT `step-11-complete` is NOT in the list, follow the Continuation Protocol since the document is incomplete:
79
80
 
80
81
  **Continuation Protocol:**
81
82
 
@@ -90,58 +91,28 @@ If no document exists or no `stepsCompleted` in frontmatter:
90
91
 
91
92
  #### A. Input Document Discovery
92
93
 
93
- Discover and load context documents using smart discovery.
94
-
95
- **IMPORTANT: Track document counts as you discover files.**
96
-
97
- Initialize counters:
98
-
99
- ```
100
- briefCount = 0
101
- researchCount = 0
102
- brainstormingCount = 0
103
- projectDocsCount = 0
104
- ```
105
-
106
- **Product Brief (Priority: Analysis → Main → Sharded → Whole):**
107
-
108
- 1. Check analysis folder: `{output_folder}/analysis/*brief*.md`
109
- 2. If no analysis files: Try main folder: `{output_folder}/*brief*.md`
110
- 3. If no main files: Check for sharded brief folder: `{output_folder}/*brief*/**/*.md`
111
- 4. If sharded folder exists: Load EVERY file in that folder completely
112
- 5. Add discovered files to `inputDocuments` frontmatter
113
- 6. **Update briefCount with number of files found**
94
+ Discover and load context documents using smart discovery. Documents can be in the following locations:
95
+ - {planning_artifacts}/**
96
+ - {output_folder}/**
97
+ - {product_knowledge}/**
98
+ - docs/**
114
99
 
115
- **Research Documents (Priority: Analysis Main Sharded Whole):**
100
+ Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
116
101
 
117
- 1. Check analysis folder: `{output_folder}/analysis/research/*research*.md`
118
- 2. If no analysis files: Try main folder: `{output_folder}/*research*.md`
119
- 3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
120
- 4. Load useful research files completely
121
- 5. Add discovered files to `inputDocuments` frontmatter
122
- 6. **Update researchCount with number of files found**
102
+ Try to discover the following:
103
+ - Product Brief (`*brief*.md`)
104
+ - Research Documents (`/*research*.md`)
105
+ - Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
106
+ - Project Context (`**/project-context.md`)
123
107
 
124
- **Brainstorming Documents (Priority: Analysis Main):**
125
-
126
- 1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorming*.md`
127
- 2. If no analysis files: Try main folder: `{output_folder}/*brainstorming*.md`
128
- 3. Add discovered files to `inputDocuments` frontmatter
129
- 4. **Update brainstormingCount with number of files found**
130
-
131
- **Project Documentation (Existing Projects - Brownfield):**
132
-
133
- 1. Look for index file: `{output_folder}/index.md`
134
- 2. CRITICAL: Load index.md to understand what project files are available
135
- 3. Read available files from index to understand existing project context
136
- 4. This provides essential context for extending existing project with new PRD
137
- 5. Add discovered files to `inputDocuments` frontmatter
138
- 6. **Update projectDocsCount with number of files found (including index.md)**
108
+ <critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
139
109
 
140
110
  **Loading Rules:**
141
111
 
142
- - Load ALL discovered files completely (no offset/limit)
143
- - For sharded folders, load ALL files to get complete picture
144
- - For existing projects, use index.md as guide to what's relevant
112
+ - Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
113
+ - If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
114
+ - For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
115
+ - index.md is a guide to what's relevant whenever available
145
116
  - Track all successfully loaded files in frontmatter `inputDocuments` array
146
117
 
147
118
  #### B. Create Initial Document
@@ -149,24 +120,7 @@ projectDocsCount = 0
149
120
  **Document Setup:**
150
121
 
151
122
  - Copy the template from `{prdTemplate}` to `{outputFile}`
152
- - Initialize frontmatter with proper structure including document counts:
153
-
154
- ```yaml
155
- ---
156
- stepsCompleted: []
157
- inputDocuments: []
158
- documentCounts:
159
- briefs: { { briefCount } }
160
- research: { { researchCount } }
161
- brainstorming: { { brainstormingCount } }
162
- projectDocs: { { projectDocsCount } }
163
- workflowType: 'prd'
164
- lastStep: 0
165
- project_name: '{{project_name}}'
166
- user_name: '{{user_name}}'
167
- date: '{{date}}'
168
- ---
169
- ```
123
+ - Initialize frontmatter with proper structure including inputDocuments array.
170
124
 
171
125
  #### C. Present Initialization Results
172
126
 
@@ -202,7 +156,7 @@ Display menu after setup report:
202
156
 
203
157
  #### Menu Handling Logic:
204
158
 
205
- - IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire file, then execute {nextStepFile}
159
+ - IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire {nextStepFile}, then execute {nextStepFile}
206
160
  - IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
207
161
  - IF user asks questions: Answer and redisplay menu
208
162
 
@@ -225,7 +179,6 @@ ONLY WHEN [C continue option] is selected and [frontmatter properly updated with
225
179
  - Fresh workflow initialized with template and proper frontmatter
226
180
  - Input documents discovered and loaded using sharded-first logic
227
181
  - All discovered files tracked in frontmatter `inputDocuments`
228
- - **Document counts stored in frontmatter `documentCounts`**
229
182
  - User clearly informed of brownfield vs greenfield status
230
183
  - Menu presented and user input handled correctly
231
184
  - Frontmatter updated with `stepsCompleted: [1]` before proceeding
@@ -8,7 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd'
8
8
  # File References
9
9
  thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
10
10
  workflowFile: '{workflow_path}/workflow.md'
11
- outputFile: '{output_folder}/prd.md'
11
+ outputFile: '{planning_artifacts}/prd.md'
12
12
  ---
13
13
 
14
14
  # Step 1B: Workflow Continuation
@@ -41,7 +41,7 @@ Resume the PRD workflow from where it was left off, ensuring smooth continuation
41
41
  ## EXECUTION PROTOCOLS:
42
42
 
43
43
  - 🎯 Show your analysis of current state before taking action
44
- - 💾 Keep existing frontmatter `stepsCompleted` values
44
+ - Update frontmatter: add this step name to the end of the steps completed array
45
45
  - 📖 Only load documents that were already tracked in `inputDocuments`
46
46
  - 🚫 FORBIDDEN to discover new input documents during continuation
47
47