bmad-plus 0.12.2 → 0.14.0

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 (127) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +96 -461
  3. package/package.json +12 -5
  4. package/readme-international/README.de.md +42 -9
  5. package/readme-international/README.es.md +43 -10
  6. package/readme-international/README.fr.md +42 -9
  7. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -3
  8. package/src/bmad-plus/module.yaml +270 -220
  9. package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
  10. package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
  11. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
  12. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
  13. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
  14. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
  15. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
  16. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
  17. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
  18. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
  19. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
  20. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
  21. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
  22. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
  23. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
  24. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +52 -426
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +22 -80
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +60 -482
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
  70. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
  71. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
  72. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
  73. package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
  74. package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
  75. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
  76. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
  77. package/src/bmad-plus/packs/pack-memory/README.md +6 -0
  78. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +12 -5
  79. package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
  80. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +8 -8
  81. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +1 -2
  82. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +0 -1
  83. package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
  84. package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
  85. package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
  86. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +4 -4
  87. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +5 -3
  88. package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
  89. package/tools/bmad-plus-npx.js +4 -2
  90. package/tools/build/adapters.config.js +60 -51
  91. package/tools/build/check-counts.js +52 -54
  92. package/tools/build/check-install-contract.js +450 -0
  93. package/tools/build/generate-adapters.js +252 -56
  94. package/tools/build/generate.js +364 -14
  95. package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
  96. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
  97. package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
  98. package/tools/build/generated-adapters/AGENTS.md +20 -7
  99. package/tools/build/generated-adapters/CLAUDE.md +20 -7
  100. package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
  101. package/tools/build/generated-adapters/GEMINI.md +20 -7
  102. package/tools/build/module.template.yaml +82 -0
  103. package/tools/build/pack-delivery.js +78 -0
  104. package/tools/cli/bmad-plus-cli.js +16 -1
  105. package/tools/cli/commands/doctor.js +49 -217
  106. package/tools/cli/commands/install.js +109 -164
  107. package/tools/cli/commands/studio.js +68 -0
  108. package/tools/cli/commands/uninstall.js +173 -65
  109. package/tools/cli/commands/update-check.js +31 -0
  110. package/tools/cli/commands/update-policy.js +39 -0
  111. package/tools/cli/commands/update.js +102 -113
  112. package/tools/cli/i18n.js +60 -0
  113. package/tools/cli/lib/ide-config.js +4 -261
  114. package/tools/cli/lib/install-manifest.js +17 -0
  115. package/tools/cli/lib/installation-health.js +360 -0
  116. package/tools/cli/lib/installed-adapters.js +89 -0
  117. package/tools/cli/lib/npm-runner.js +177 -0
  118. package/tools/cli/lib/pack-copy.js +62 -66
  119. package/tools/cli/lib/packs.js +546 -3
  120. package/tools/cli/lib/python-health.js +233 -0
  121. package/tools/cli/lib/python-provision.js +2 -2
  122. package/tools/cli/lib/studio.js +310 -0
  123. package/tools/cli/lib/update-check.js +153 -0
  124. package/tools/cli/lib/update-dispatch.js +182 -0
  125. package/tools/cli/lib/update-policy.js +90 -0
  126. package/tools/cli/lib/update-transaction.js +334 -0
  127. package/tools/release/publication-content.js +901 -0
@@ -1,297 +1,55 @@
1
- ---
1
+ ---
2
2
  name: bmad-sprint-status
3
- description: 'Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status"'
3
+ description: Report actual sprint progress, evidence gaps and the next useful action.
4
4
  ---
5
5
 
6
- # Sprint Status Workflow
7
-
8
- **Goal:** Summarize sprint status, surface risks, and recommend the next workflow action.
9
-
10
- **Your Role:** You are a Developer providing clear, actionable sprint visibility. No time estimates — focus on status, risks, and next steps.
11
-
12
- ## Conventions
13
-
14
- - Bare paths (e.g. `checklist.md`) resolve from the skill root.
15
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
16
- - `{project-root}`-prefixed paths resolve from the project working directory.
17
- - `{skill-name}` resolves to the skill directory's basename.
18
-
19
- ## On Activation
20
-
21
- ### Step 1: Resolve the Workflow Block
22
-
23
- <!-- Adapted for BMAD+: original script dependency removed -->
24
-
25
- **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
26
-
27
- 1. `this skill file` — defaults
28
- 2. `{project-root}/custom/{skill-name}.toml` — team overrides
29
- 3. `{project-root}/custom/{skill-name}.user.toml` — personal overrides
30
-
31
- Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
32
-
33
- ### Step 2: Execute Prepend Steps
34
-
35
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
36
-
37
- ### Step 3: Load Persistent Facts
38
-
39
- Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
40
-
41
- ### Step 4: Load Config
42
-
43
- Load config from `{project-root}/project config` and resolve:
44
-
45
- - `project_name`, `user_name`
46
- - `communication_language`, `document_output_language`
47
- - `implementation_artifacts`
48
- - `date` as system-generated current datetime
49
- - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
50
-
51
- ### Step 5: Greet the User
52
-
53
- Greet `{user_name}`, speaking in `{communication_language}`.
54
-
55
- ### Step 6: Execute Append Steps
56
-
57
- Execute each entry in `{workflow.activation_steps_append}` in order.
58
-
59
- Activation is complete. Begin the workflow below.
60
-
61
- ## Paths
62
-
63
- - `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml`
64
-
65
- ## Input Files
66
-
67
- | Input | Path | Load Strategy |
68
- |-------|------|---------------|
69
- | Sprint status | `{sprint_status_file}` | FULL_LOAD |
70
-
71
- ## Execution
72
-
73
- <workflow>
74
-
75
- <step n="0" goal="Determine execution mode">
76
- <action>Set mode = {{mode}} if provided by caller; otherwise mode = "interactive"</action>
77
-
78
- <check if="mode == data">
79
- <action>Jump to Step 20</action>
80
- </check>
81
-
82
- <check if="mode == validate">
83
- <action>Jump to Step 30</action>
84
- </check>
85
-
86
- <check if="mode == interactive">
87
- <action>Continue to Step 1</action>
88
- </check>
89
- </step>
90
-
91
- <step n="1" goal="Locate sprint status file">
92
- <action>Load {project_context} for project-wide patterns and conventions (if exists)</action>
93
- <action>Try {sprint_status_file}</action>
94
- <check if="file not found">
95
- <output>sprint-status.yaml not found.
96
- Run `/bmad:bmm:workflows:sprint-planning` to generate it, then rerun sprint-status.</output>
97
- <action>Exit workflow</action>
98
- </check>
99
- <action>Continue to Step 2</action>
100
- </step>
101
-
102
- <step n="2" goal="Read and parse sprint-status.yaml">
103
- <action>Read the FULL file: {sprint_status_file}</action>
104
- <action>Parse fields: generated, last_updated, project, project_key, tracking_system, story_location</action>
105
- <action>Parse development_status map. Classify keys:</action>
106
- - Epics: keys starting with "epic-" (and not ending with "-retrospective")
107
- - Retrospectives: keys ending with "-retrospective"
108
- - Stories: everything else (e.g., 1-2-login-form)
109
- <action>Map legacy story status "drafted" → "ready-for-dev"</action>
110
- <action>Count story statuses: backlog, ready-for-dev, in-progress, review, done</action>
111
- <action>Map legacy epic status "contexted" → "in-progress"</action>
112
- <action>Count epic statuses: backlog, in-progress, done</action>
113
- <action>Count retrospective statuses: optional, done</action>
114
-
115
- <action>Validate all statuses against known values:</action>
116
-
117
- - Valid story statuses: backlog, ready-for-dev, in-progress, review, done, drafted (legacy)
118
- - Valid epic statuses: backlog, in-progress, done, contexted (legacy)
119
- - Valid retrospective statuses: optional, done
120
-
121
- <check if="any status is unrecognized">
122
- <output>
123
- **Unknown status detected:**
124
- {{#each invalid_entries}}
125
-
126
- - `{{key}}`: "{{status}}" (not recognized)
127
- {{/each}}
128
-
129
- **Valid statuses:**
130
-
131
- - Stories: backlog, ready-for-dev, in-progress, review, done
132
- - Epics: backlog, in-progress, done
133
- - Retrospectives: optional, done
134
- </output>
135
- <ask>How should these be corrected?
136
- {{#each invalid_entries}}
137
- {{@index}}. {{key}}: "{{status}}" → [select valid status]
138
- {{/each}}
139
-
140
- Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue without fixing:</ask>
141
- <check if="user provided corrections">
142
- <action>Update sprint-status.yaml with corrected values</action>
143
- <action>Re-parse the file with corrected statuses</action>
144
- </check>
145
- </check>
146
-
147
- <action>Detect risks:</action>
148
-
149
- - IF any story has status "review": suggest `/bmad:bmm:workflows:code-review`
150
- - IF any story has status "in-progress" AND no stories have status "ready-for-dev": recommend staying focused on active story
151
- - IF all epics have status "backlog" AND no stories have status "ready-for-dev": prompt `/bmad:bmm:workflows:create-story`
152
- - IF `last_updated` timestamp is more than 7 days old (or `last_updated` is missing, fall back to `generated`): warn "sprint-status.yaml may be stale"
153
- - IF any story key doesn't match an epic pattern (e.g., story "5-1-..." but no "epic-5"): warn "orphaned story detected"
154
- - IF any epic has status in-progress but has no associated stories: warn "in-progress epic has no stories"
155
- </step>
156
-
157
- <step n="3" goal="Select next action recommendation">
158
- <action>Pick the next recommended workflow using priority:</action>
159
- <note>When selecting "first" story: sort by epic number, then story number (e.g., 1-1 before 1-2 before 2-1)</note>
160
- 1. If any story status == in-progress → recommend `dev-story` for the first in-progress story
161
- 2. Else if any story status == review → recommend `code-review` for the first review story
162
- 3. Else if any story status == ready-for-dev → recommend `dev-story`
163
- 4. Else if any story status == backlog → recommend `create-story`
164
- 5. Else if any retrospective status == optional → recommend `retrospective`
165
- 6. Else → All implementation items done; congratulate the user - you both did amazing work together!
166
- <action>Store selected recommendation as: next_story_id, next_workflow_id, next_agent (DEV)</action>
167
- </step>
168
-
169
- <step n="4" goal="Display summary">
170
- <output>
171
- ## Sprint Status
172
-
173
- - Project: {{project}} ({{project_key}})
174
- - Tracking: {{tracking_system}}
175
- - Status file: {sprint_status_file}
176
-
177
- **Stories:** backlog {{count_backlog}}, ready-for-dev {{count_ready}}, in-progress {{count_in_progress}}, review {{count_review}}, done {{count_done}}
178
-
179
- **Epics:** backlog {{epic_backlog}}, in-progress {{epic_in_progress}}, done {{epic_done}}
180
-
181
- **Next Recommendation:** /bmad:bmm:workflows:{{next_workflow_id}} ({{next_story_id}})
182
-
183
- {{#if risks}}
184
- **Risks:**
185
- {{#each risks}}
186
-
187
- - {{this}}
188
- {{/each}}
189
- {{/if}}
190
-
191
- </output>
192
- </step>
193
-
194
- <step n="5" goal="Offer actions">
195
- <ask>Pick an option:
196
- 1) Run recommended workflow now
197
- 2) Show all stories grouped by status
198
- 3) Show raw sprint-status.yaml
199
- 4) Exit
200
- Choice:</ask>
201
-
202
- <check if="choice == 1">
203
- <output>Run `/bmad:bmm:workflows:{{next_workflow_id}}`.
204
- If the command targets a story, set `story_key={{next_story_id}}` when prompted.</output>
205
- </check>
206
-
207
- <check if="choice == 2">
208
- <output>
209
- ### Stories by Status
210
- - In Progress: {{stories_in_progress}}
211
- - Review: {{stories_in_review}}
212
- - Ready for Dev: {{stories_ready_for_dev}}
213
- - Backlog: {{stories_backlog}}
214
- - Done: {{stories_done}}
215
- </output>
216
- </check>
217
-
218
- <check if="choice == 3">
219
- <action>Display the full contents of {sprint_status_file}</action>
220
- </check>
221
-
222
- <check if="choice == 4">
223
- <!-- Adapted for BMAD+: original script dependency removed -->
224
- <action>Exit workflow</action>
225
- </check>
226
- </step>
6
+ # Sprint status
227
7
 
228
- <!-- ========================= -->
229
- <!-- Data mode for other flows -->
230
- <!-- ========================= -->
8
+ Read the [execution guide](../../shared/execution.md) and
9
+ [Oholiab's role](dev-agent.md).
231
10
 
232
- <step n="20" goal="Data mode output">
233
- <action>Load and parse {sprint_status_file} same as Step 2</action>
234
- <action>Compute recommendation same as Step 3</action>
235
- <template-output>next_workflow_id = {{next_workflow_id}}</template-output>
236
- <template-output>next_story_id = {{next_story_id}}</template-output>
237
- <template-output>count_backlog = {{count_backlog}}</template-output>
238
- <template-output>count_ready = {{count_ready}}</template-output>
239
- <template-output>count_in_progress = {{count_in_progress}}</template-output>
240
- <template-output>count_review = {{count_review}}</template-output>
241
- <template-output>count_done = {{count_done}}</template-output>
242
- <template-output>epic_backlog = {{epic_backlog}}</template-output>
243
- <template-output>epic_in_progress = {{epic_in_progress}}</template-output>
244
- <template-output>epic_done = {{epic_done}}</template-output>
245
- <template-output>risks = {{risks}}</template-output>
246
- <action>Return to caller</action>
247
- </step>
11
+ ## Inputs
248
12
 
249
- <!-- ========================= -->
250
- <!-- Validate mode -->
251
- <!-- ========================= -->
13
+ An explicit sprint or backlog artifact, or a request identifying the project and
14
+ sprint to inspect. Read the actual ledger, relevant stories and available delivery
15
+ evidence. Report the absence of a ledger rather than inventing a sprint.
252
16
 
253
- <step n="30" goal="Validate sprint-status file">
254
- <action>Check that {sprint_status_file} exists</action>
255
- <check if="missing">
256
- <template-output>is_valid = false</template-output>
257
- <template-output>error = "sprint-status.yaml missing"</template-output>
258
- <template-output>suggestion = "Run sprint-planning to create it"</template-output>
259
- <action>Return</action>
260
- </check>
17
+ ## Procedure
261
18
 
262
- <action>Read and parse {sprint_status_file}</action>
19
+ 1. Establish the reporting scope, source revision and observation time. Read
20
+ current tracking files while preserving their exact status vocabulary and
21
+ human notes.
22
+ 2. Inventory work by stable ID. Count items by their reported statuses and
23
+ distinguish committed scope, carryover, newly added work and deferred work
24
+ where the source supports those distinctions.
25
+ 3. Inspect relevant acceptance reports, checks or code evidence for material
26
+ completion claims. Note contradictions such as a done status with a failing
27
+ required check, or an old blocker whose dependency now has evidence.
28
+ 4. Identify dependency bottlenecks, stale evidence and unknown ownership or
29
+ capacity. State how each affects the next action; do not turn missing estimates
30
+ into an invented delivery date.
31
+ 5. Recommend the next actionable item or the smallest step to remove a blocker.
32
+ Keep source status and assessed evidence in separate columns. A read-only
33
+ status request does not authorize rewriting the ledger.
34
+ 6. Produce a concise report with source-backed counts and evidence limits.
35
+ Explain what cannot be concluded from the available artifacts.
263
36
 
264
- <action>Validate required metadata fields exist: generated, project, project_key, tracking_system, story_location (last_updated is optional for backward compatibility)</action>
265
- <check if="any required field missing">
266
- <template-output>is_valid = false</template-output>
267
- <template-output>error = "Missing required field(s): {{missing_fields}}"</template-output>
268
- <template-output>suggestion = "Re-run sprint-planning or add missing fields manually"</template-output>
269
- <action>Return</action>
270
- </check>
37
+ ## Output and acceptance
271
38
 
272
- <action>Verify development_status section exists with at least one entry</action>
273
- <check if="development_status missing or empty">
274
- <template-output>is_valid = false</template-output>
275
- <template-output>error = "development_status missing or empty"</template-output>
276
- <template-output>suggestion = "Re-run sprint-planning or repair the file manually"</template-output>
277
- <action>Return</action>
278
- </check>
39
+ Write the report for sprint-status with scope, source timestamps or hashes,
40
+ status counts, exceptions and next actions.
279
41
 
280
- <action>Validate all status values against known valid statuses:</action>
42
+ | Item | Reported status | Evidence inspected | Assessment | Next action |
43
+ | --- | --- | --- | --- | --- |
44
+ | Actual ID | Preserve source value | Specific artifact or check | Supported, contradicted or unknown | Bounded action |
281
45
 
282
- - Stories: backlog, ready-for-dev, in-progress, review, done (legacy: drafted)
283
- - Epics: backlog, in-progress, done (legacy: contexted)
284
- - Retrospectives: optional, done
285
- <check if="any invalid status found">
286
- <template-output>is_valid = false</template-output>
287
- <template-output>error = "Invalid status values: {{invalid_entries}}"</template-output>
288
- <template-output>suggestion = "Fix invalid statuses in sprint-status.yaml"</template-output>
289
- <action>Return</action>
290
- </check>
46
+ Counts must reconcile with the inspected item set. Unknown work is not completed,
47
+ and an uninspected check is not passed. Clearly label a partial snapshot when
48
+ some tracking sources are unavailable.
291
49
 
292
- <template-output>is_valid = true</template-output>
293
- <template-output>message = "sprint-status.yaml valid: metadata complete, all statuses recognized"</template-output>
294
- <!-- Adapted for BMAD+: original script dependency removed -->
295
- </step>
50
+ ## Continue
296
51
 
297
- </workflow>
52
+ Reload tracking sources and compare them with the prior report. Recompute changed
53
+ items and dependency consequences. Preserve the old observation as history when
54
+ useful; never overwrite manually maintained states just to align them with the
55
+ assistant's assessment.
@@ -1,30 +1,70 @@
1
- ---
1
+ ---
2
2
  name: bmad-create-prd
3
- description: 'DEPRECATED consolidated into bmad-prd create intent - this skill will be removed in v7 in favor of `bmad-prd`.'
3
+ description: Create a requirements document with observable behavior, scope and acceptance evidence.
4
4
  ---
5
5
 
6
- # DEPRECATED — forwards to bmad-prd (create intent)
6
+ # Create PRD
7
+
8
+ Load the [execution guide](../../shared/execution.md) and
9
+ [Yosef](pm-agent.md). Define the requested product behavior at the level needed
10
+ for implementation and review. This is a maintained route.
11
+
12
+ ## Inputs
13
+
14
+ Use the request, problem or product brief, relevant research, known constraints
15
+ and existing product behavior. A formal brief is optional. If a canonical PRD
16
+ already exists for this scope, inspect it before creating a competing document;
17
+ use [Edit PRD](edit-prd.md) when the task is an update.
7
18
 
8
- This skill was consolidated into `bmad-prd`. It is retained as a thin compatibility shim so existing invocations by name and `bmad-create-prd.toml` override files keep working. New work should invoke `bmad-prd` directly — it detects create / update / validate intent from the conversation.
19
+ ## Procedure
9
20
 
10
- ## On Activation
21
+ 1. Establish the intended users, problem, desired outcome and requested scope.
22
+ Inspect source artifacts first. Distinguish an established constraint from a
23
+ proposal and an unsupported assumption.
24
+ 2. Describe the main user journeys and relevant system interactions. Capture
25
+ prerequisites, access rules, business rules and the meaningful failure or
26
+ recovery paths. For an existing product, identify changed behavior explicitly.
27
+ 3. Define the first delivery scope, exclusions and dependencies. Keep explicit
28
+ user requirements visible when proposing priorities or phasing.
29
+ 4. Assign stable IDs to functional requirements. For each, state the actor or
30
+ trigger, required behavior, conditions and an observable acceptance example.
31
+ Link it to the user need or supplied evidence. Avoid implementation choices
32
+ unless they are genuine project constraints.
33
+ 5. Record applicable nonfunctional requirements such as performance, availability,
34
+ accessibility, privacy or operational recovery. State the measurement context
35
+ and verification method. Unknown thresholds stay open; proposed thresholds are
36
+ labeled as proposals.
37
+ 6. Define success measures and guardrails. Identify the baseline, proposed target,
38
+ measurement method and missing evidence. Check that success does not reward
39
+ behavior the product is meant to avoid.
40
+ 7. Review consistency across journeys, requirements, exclusions and dependencies.
41
+ Identify feasibility questions for architecture or research. Revise supported
42
+ contradictions and leave unresolved decisions visible.
11
43
 
12
- <!-- Adapted for BMAD+: original script dependency removed -->
44
+ ## Output
13
45
 
14
- 2. Load `{project-root}/project config` (and `config.user.yaml` if present) to resolve `{user_name}` and `{communication_language}`.
46
+ Produce a PRD with:
15
47
 
16
- 3. Emit a deprecation notice to the user in `{communication_language}`:
48
+ - Purpose, users and desired outcomes.
49
+ - Scope, exclusions and assumptions.
50
+ - User journeys and relevant business rules.
51
+ - Functional requirements with stable IDs and acceptance examples.
52
+ - Nonfunctional requirements and verification methods.
53
+ - Dependencies, risks and open decisions.
54
+ - Success measures and readiness for the intended next step.
17
55
 
18
- > Notice: `bmad-create-prd` is deprecated and will be removed in a future release. It now forwards to `bmad-prd` with create intent. To silence this notice and access the full new customization surface (`prd_template`, `validation_checklist`, `doc_standards`, `external_sources`, `external_handoffs`, `output_dir`, `output_folder_name`), migrate `bmad-create-prd.toml` to `bmad-prd.toml` and invoke `bmad-prd` directly next time. Customization fields that were in this version still remain in the new version and will be respected if present in `bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
56
+ The report also records input provenance, completed checks and the canonical
57
+ artifact path. A small change can use a compact document; section length is not
58
+ an acceptance criterion.
19
59
 
20
- 4. Invoke `bmad-prd` with the following context. Pass these as the activating context so `bmad-prd` honors them instead of resolving its own customization from scratch:
60
+ ## Acceptance and continuation
21
61
 
22
- - **Intent:** `create` skip `bmad-prd`'s usual intent detection step.
23
- - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `agent configuration` for the four legacy fields. For everything else (`prd_template`, `validation_checklist`, `validation_report_template`, `doc_standards`, `output_dir`, `output_folder_name`, `external_sources`, `external_handoffs`), use `bmad-prd`'s own defaults and overrides as normal:
24
- - `activation_steps_prepend` = the resolved value from step 1
25
- - `activation_steps_append` = the resolved value from step 1
26
- - `persistent_facts` = the resolved value from step 1
27
- - `on_complete` = the resolved value from step 1
28
- - **Original user input:** forward whatever the user said when invoking this skill verbatim.
62
+ Each in-scope behavior must be traceable to a need and verifiable through an
63
+ example or check. Mark unsupported feasibility claims and unapproved targets.
64
+ Do not call the document approved unless the relevant person actually approved it.
29
65
 
30
- `bmad-prd` takes the workflow from here. Do not execute any further steps in this shim.
66
+ On resume, compare inputs and retain established IDs. Revisit only affected
67
+ requirements and record material decision changes. Use
68
+ [Validate PRD](validate-prd.md), [UX design](create-ux-design.md) or
69
+ [Architecture](../architecture/create-architecture.md) when needed for the
70
+ authorized task; a completed draft does not automatically invoke them.
@@ -1,75 +1,106 @@
1
- ---
1
+ ---
2
2
  name: bmad-create-ux-design
3
- description: 'Plan UX patterns and design specifications. Use when the user says "lets create UX design" or "create UX specifications" or "help me plan the UX"'
3
+ description: Define task flows, interaction states, visual constraints and accessibility acceptance for a product.
4
4
  ---
5
5
 
6
- # Create UX Design Workflow
7
-
8
- **Goal:** Create comprehensive UX design specifications through collaborative visual exploration and informed decision-making where you act as a UX facilitator working with a product stakeholder.
9
-
10
- ## Conventions
11
-
12
- - Bare paths (e.g. `steps/step-01-init.md`) resolve from the skill root.
13
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
14
- - `{project-root}`-prefixed paths resolve from the project working directory.
15
- - `{skill-name}` resolves to the skill directory's basename.
16
-
17
- ## WORKFLOW ARCHITECTURE
18
-
19
- This uses **micro-file architecture** for disciplined execution:
20
-
21
- - Each step is a self-contained file with embedded rules
22
- - Sequential progression with user control at each step
23
- - Document state tracked in frontmatter
24
- - Append-only document building through conversation
25
-
26
- ## On Activation
27
-
28
- ### Step 1: Resolve the Workflow Block
29
-
30
- <!-- Adapted for BMAD+: original script dependency removed -->
31
-
32
- **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
33
-
34
- 1. `this skill file` defaults
35
- 2. `{project-root}/custom/{skill-name}.toml` team overrides
36
- 3. `{project-root}/custom/{skill-name}.user.toml` personal overrides
37
-
38
- Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
39
-
40
- ### Step 2: Execute Prepend Steps
41
-
42
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
43
-
44
- ### Step 3: Load Persistent Facts
45
-
46
- Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` load the referenced contents as facts. All other entries are facts verbatim.
47
-
48
- ### Step 4: Load Config
49
-
50
- Load config from `{project-root}/project config` and resolve:
51
- - Use `{user_name}` for greeting
52
- - Use `{communication_language}` for all communications
53
- - Use `{document_output_language}` for output documents
54
- - Use `{planning_artifacts}` for output location and artifact scanning
55
- - Use `{project_knowledge}` for additional context scanning
56
-
57
- ### Step 5: Greet the User
58
-
59
- Greet `{user_name}`, speaking in `{communication_language}`.
60
-
61
- ### Step 6: Execute Append Steps
62
-
63
- Execute each entry in `{workflow.activation_steps_append}` in order.
64
-
65
- Activation is complete. Begin the workflow below.
66
-
67
- ## Paths
68
-
69
- - `default_output_file` = `{planning_artifacts}/ux-design-specification.md`
70
-
71
- ## EXECUTION
72
-
73
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
74
- - ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
75
- - Read fully and follow: `./steps/step-01-init.md` to begin the UX design workflow.
6
+ # Create UX design
7
+
8
+ Load the [execution guide](../../shared/execution.md) and
9
+ [Rachel](ux-designer-agent.md). Produce an implementable design specification
10
+ that connects user tasks to observable behavior and presentation.
11
+
12
+ ## Inputs
13
+
14
+ Use the product request or PRD, intended users and tasks, supported surfaces,
15
+ known constraints and any existing interface, components or brand guidance.
16
+ Inspect the current product when available. A missing prototype does not prevent
17
+ a useful draft, but unobserved behavior must remain unverified.
18
+
19
+ ## Procedure
20
+
21
+ 1. **Establish scope and evidence.** Identify the task the user must complete,
22
+ its starting conditions and success outcome. Read existing requirements,
23
+ relevant product screens or source components and design conventions.
24
+ Distinguish observed problems from proposed improvements. Record unresolved
25
+ product decisions before choosing a layout to conceal them.
26
+ 2. **Map the information and journey.** Define relevant destinations, navigation,
27
+ entry points and how a user knows where they are. Describe the main path,
28
+ alternate entry, back or cancel behavior and recovery. Map each step to a
29
+ product requirement or documented need.
30
+ 3. **Define the behavior contract.** For each important interaction, specify:
31
+ - Actor, trigger, prerequisites and access conditions.
32
+ - Inputs, validation timing and the resulting state or navigation.
33
+ - Default, loading, empty, success and error states where applicable.
34
+ - Recovery, retry, cancellation and preservation of user-entered data.
35
+ - Effects on stored data or external systems, including confirmation when
36
+ the actual operation warrants it.
37
+ - Repeated submissions, delayed responses, offline behavior or competing
38
+ changes when relevant to the product.
39
+ Mark a state not applicable with a reason instead of inventing features.
40
+ Keep invariants explicit, such as preserving a draft after a failed save.
41
+ 4. **Define the visual contract.** Reuse suitable established components and
42
+ tokens. Specify hierarchy, content density, typography, color roles, spacing,
43
+ layout constraints and component variants needed for this task. State narrow
44
+ and wide viewport behavior, long-content wrapping and text enlargement.
45
+ Describe focus and error appearance without relying on color alone. Explain
46
+ the purpose of motion and define reduced-motion behavior where motion exists.
47
+ Record asset sources and placeholders. A palette or mockup remains a proposal
48
+ until its relevant contrast and rendering checks have been performed.
49
+ 5. **Define accessibility behavior.** Specify semantic structure, accessible
50
+ names, label and instruction relationships, keyboard order and controls,
51
+ focus movement after dialogs or navigation, visible focus, status and error
52
+ announcements, and alternatives for nontext content. Identify checks for
53
+ contrast, zoom or reflow, text size, touch interaction and reduced motion
54
+ where applicable. Name the project's target accessibility standard if known;
55
+ an unconfirmed target remains open. Do not equate an automated scan with
56
+ complete conformance.
57
+ 6. **Create a reviewable representation.** Use a flow diagram, annotated
58
+ wireframe, component example or prototype appropriate to the request and
59
+ available tools. Map its states back to the behavior contract. Label
60
+ illustrative content and distinguish a static representation from working
61
+ interaction. Do not report generated imagery or a screenshot as usability
62
+ evidence.
63
+ 7. **Walk through and check.** Follow a primary task and a consequential failure
64
+ path. Check wording, state transitions and consistency with requirements.
65
+ If a runnable interface is available, inspect relevant keyboard interaction,
66
+ viewport behavior, focus and errors; record environment and observed results.
67
+ If only a specification exists, review its acceptance scenarios and mark
68
+ browser, assistive-technology and user testing as not performed.
69
+ 8. **Resolve and hand off.** Correct demonstrated inconsistencies. Record
70
+ remaining product decisions, technical feasibility questions and validation
71
+ gaps. Provide implementers with explicit acceptance scenarios and traceable
72
+ component or requirement references.
73
+
74
+ ## Output
75
+
76
+ Produce a UX specification containing:
77
+
78
+ - Scope, users, tasks and inspected evidence.
79
+ - Information architecture and task flows.
80
+ - Behavior contract and state transitions.
81
+ - Visual contract, reusable components and responsive constraints.
82
+ - Accessibility behavior and acceptance checks.
83
+ - Reviewable representation and its limitations.
84
+ - Acceptance scenarios, check results and unresolved decisions.
85
+
86
+ For each acceptance scenario, record its precondition, user action, expected
87
+ visible or accessible result and relevant requirement. For example, a failed
88
+ submission can require an announced error, retained input and a usable retry;
89
+ the exact behavior must follow the product's actual needs.
90
+
91
+ The report lists supplied inputs, changed design artifacts and what has been
92
+ specified, implemented and verified separately. Use the invoked workflow's
93
+ report path or the user's requested canonical destination.
94
+
95
+ ## Acceptance and continuation
96
+
97
+ The main task and relevant failure paths must be understandable without guessing
98
+ missing states. Important visual and accessibility decisions need checkable
99
+ criteria. Do not report user validation, rendering verification or accessibility
100
+ conformance that was not performed.
101
+
102
+ On resume, compare requirements, component versions and previous decisions.
103
+ Revisit affected flows and states, preserve unaffected user edits and rerun
104
+ checks whose inputs changed. Hand off feasibility questions to
105
+ [Architecture](../architecture/create-architecture.md) or implementation work to
106
+ [Quick development](../implementation/quick-dev.md) only within the active task.