bmad-method 6.3.1-next.2 β 6.3.1-next.20
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.
- package/package.json +1 -2
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md +51 -36
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +90 -0
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md +50 -33
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/customize.toml +81 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +57 -1
- package/src/bmm-skills/1-analysis/bmad-document-project/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-instructions.md +1 -0
- package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-instructions.md +1 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +48 -9
- package/src/bmm-skills/1-analysis/bmad-prfaq/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/bmad-prfaq/references/verdict.md +4 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +44 -9
- package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +47 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/contextual-discovery.md +8 -7
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/draft-and-review.md +6 -5
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/finalize.md +4 -1
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/guided-elicitation.md +3 -2
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +91 -1
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +6 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +91 -1
- package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +6 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +91 -1
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +41 -0
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +6 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md +50 -35
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/customize.toml +85 -0
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md +50 -31
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/customize.toml +60 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +99 -1
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/customize.toml +41 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-08-scoping.md +70 -23
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-11-polish.md +1 -1
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-12-complete.md +6 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md +70 -1
- package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/customize.toml +41 -0
- package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +6 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +97 -1
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/customize.toml +42 -0
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +2 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +99 -1
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/customize.toml +42 -0
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +1 -0
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md +50 -30
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/customize.toml +65 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +86 -1
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +6 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +69 -1
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +6 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +88 -1
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +6 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +76 -1
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/customize.toml +41 -0
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-03-complete.md +6 -0
- package/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md +48 -43
- package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +90 -0
- package/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +296 -1
- package/src/bmm-skills/4-implementation/bmad-correct-course/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +412 -1
- package/src/bmm-skills/4-implementation/bmad-create-story/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +171 -1
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/customize.toml +41 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +1507 -1
- package/src/bmm-skills/4-implementation/bmad-retrospective/customize.toml +41 -0
- package/src/bmm-skills/module.yaml +49 -0
- package/src/core-skills/bmad-advanced-elicitation/SKILL.md +7 -1
- package/src/core-skills/bmad-customize/SKILL.md +111 -0
- package/src/core-skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
- package/src/core-skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
- package/src/core-skills/bmad-distillator/resources/distillate-format-reference.md +1 -1
- package/src/core-skills/bmad-party-mode/SKILL.md +13 -10
- package/src/core-skills/module-help.csv +1 -0
- package/src/core-skills/module.yaml +3 -0
- package/src/scripts/resolve_config.py +176 -0
- package/src/scripts/resolve_customization.py +230 -0
- package/tools/installer/cli-utils.js +0 -137
- package/tools/installer/commands/status.js +1 -1
- package/tools/installer/commands/uninstall.js +1 -1
- package/tools/installer/core/existing-install.js +1 -1
- package/tools/installer/core/install-paths.js +12 -6
- package/tools/installer/core/installer.js +88 -88
- package/tools/installer/core/manifest-generator.js +331 -189
- package/tools/installer/core/manifest.js +24 -642
- package/tools/installer/file-ops.js +1 -1
- package/tools/installer/fs-native.js +116 -0
- package/tools/installer/ide/_config-driven.js +1 -1
- package/tools/installer/ide/platform-codes.js +1 -1
- package/tools/installer/ide/shared/path-utils.js +0 -145
- package/tools/installer/ide/shared/skill-manifest.js +1 -1
- package/tools/installer/message-loader.js +1 -1
- package/tools/installer/modules/community-manager.js +11 -6
- package/tools/installer/modules/custom-module-manager.js +1 -28
- package/tools/installer/modules/external-manager.js +5 -44
- package/tools/installer/modules/official-modules.js +5 -53
- package/tools/installer/modules/plugin-resolver.js +1 -1
- package/tools/installer/modules/registry-client.js +133 -12
- package/tools/installer/modules/version-resolver.js +336 -0
- package/tools/installer/project-root.js +55 -1
- package/tools/installer/prompts.js +0 -106
- package/tools/installer/ui.js +50 -48
- package/tools/migrate-custom-module-paths.js +1 -1
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/1-analysis/bmad-document-project/workflow.md +0 -25
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/workflow.md +0 -51
- package/src/bmm-skills/1-analysis/research/bmad-market-research/workflow.md +0 -51
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/workflow.md +0 -52
- package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/2-plan-workflows/bmad-create-prd/workflow.md +0 -61
- package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/workflow.md +0 -35
- package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/workflow.md +0 -62
- package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/workflow.md +0 -61
- package/src/bmm-skills/3-solutioning/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/workflow.md +0 -47
- package/src/bmm-skills/3-solutioning/bmad-create-architecture/workflow.md +0 -32
- package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/workflow.md +0 -51
- package/src/bmm-skills/3-solutioning/bmad-generate-project-context/workflow.md +0 -39
- package/src/bmm-skills/4-implementation/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
- package/src/bmm-skills/4-implementation/bmad-correct-course/workflow.md +0 -267
- package/src/bmm-skills/4-implementation/bmad-create-story/workflow.md +0 -380
- package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/workflow.md +0 -136
- package/src/bmm-skills/4-implementation/bmad-retrospective/workflow.md +0 -1479
- package/tools/installer/ide/shared/agent-command-generator.js +0 -180
- package/tools/installer/ide/shared/bmad-artifacts.js +0 -208
- package/tools/installer/ide/shared/module-injections.js +0 -136
- package/tools/installer/ide/templates/agent-command-template.md +0 -14
- package/tools/installer/ide/templates/combined/antigravity.md +0 -8
- package/tools/installer/ide/templates/combined/default-agent.md +0 -15
- package/tools/installer/ide/templates/combined/default-task.md +0 -10
- package/tools/installer/ide/templates/combined/default-tool.md +0 -10
- package/tools/installer/ide/templates/combined/default-workflow.md +0 -6
- package/tools/installer/ide/templates/combined/gemini-agent.toml +0 -14
- package/tools/installer/ide/templates/combined/gemini-task.toml +0 -11
- package/tools/installer/ide/templates/combined/gemini-tool.toml +0 -11
- package/tools/installer/ide/templates/combined/gemini-workflow-yaml.toml +0 -16
- package/tools/installer/ide/templates/combined/gemini-workflow.toml +0 -14
- package/tools/installer/ide/templates/combined/kiro-agent.md +0 -16
- package/tools/installer/ide/templates/combined/kiro-task.md +0 -9
- package/tools/installer/ide/templates/combined/kiro-tool.md +0 -9
- package/tools/installer/ide/templates/combined/kiro-workflow.md +0 -7
- package/tools/installer/ide/templates/combined/opencode-agent.md +0 -15
- package/tools/installer/ide/templates/combined/opencode-task.md +0 -13
- package/tools/installer/ide/templates/combined/opencode-tool.md +0 -13
- package/tools/installer/ide/templates/combined/opencode-workflow-yaml.md +0 -16
- package/tools/installer/ide/templates/combined/opencode-workflow.md +0 -16
- package/tools/installer/ide/templates/combined/rovodev.md +0 -9
- package/tools/installer/ide/templates/combined/trae.md +0 -9
- package/tools/installer/ide/templates/combined/windsurf-workflow.md +0 -10
- package/tools/installer/ide/templates/split/.gitkeep +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for bmad-create-prd. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
+
# scalars: override wins β’ arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
+
# Distinct from the runtime memory sidecar β these are static context
|
|
26
|
+
# loaded on activation. Overrides append.
|
|
27
|
+
#
|
|
28
|
+
# Each entry is either:
|
|
29
|
+
# - a literal sentence, e.g. "All PRDs must include a regulatory-risk section."
|
|
30
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
+
|
|
33
|
+
persistent_facts = [
|
|
34
|
+
"file:{project-root}/**/project-context.md",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Scalar: executed when the workflow reaches Step 12 (Workflow Completion),
|
|
38
|
+
# after the PRD is finalized and workflow status is updated. Override wins.
|
|
39
|
+
# Leave empty for no custom post-completion behavior.
|
|
40
|
+
|
|
41
|
+
on_complete = ""
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Step 8: Scoping Exercise -
|
|
1
|
+
# Step 8: Scoping Exercise - Scope Definition (Phased or Single-Release)
|
|
2
2
|
|
|
3
3
|
**Progress: Step 8 of 11** - Next: Functional Requirements
|
|
4
4
|
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
- π YOU ARE A FACILITATOR, not a content generator
|
|
13
13
|
- π¬ FOCUS on strategic scope decisions that keep projects viable
|
|
14
14
|
- π― EMPHASIZE lean MVP thinking while preserving long-term vision
|
|
15
|
+
- β οΈ NEVER de-scope, defer, or phase out requirements that the user explicitly included in their input documents without asking first
|
|
16
|
+
- β οΈ NEVER invent phasing (MVP/Growth/Vision) unless the user requests phased delivery β if input documents define all components as core requirements, they are ALL in scope
|
|
15
17
|
- β
YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
16
18
|
- β
YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
|
|
17
19
|
|
|
@@ -34,7 +36,7 @@
|
|
|
34
36
|
|
|
35
37
|
## YOUR TASK:
|
|
36
38
|
|
|
37
|
-
Conduct comprehensive scoping exercise to define
|
|
39
|
+
Conduct comprehensive scoping exercise to define release boundaries and prioritize features based on the user's chosen delivery mode (phased or single-release).
|
|
38
40
|
|
|
39
41
|
## SCOPING SEQUENCE:
|
|
40
42
|
|
|
@@ -75,30 +77,41 @@ Use structured decision-making for scope:
|
|
|
75
77
|
- Advanced functionality that builds on MVP
|
|
76
78
|
- Ask what features could be added in versions 2, 3, etc.
|
|
77
79
|
|
|
80
|
+
**β οΈ SCOPE CHANGE CONFIRMATION GATE:**
|
|
81
|
+
- If you believe any user-specified requirement should be deferred or de-scoped, you MUST present this to the user and get explicit confirmation BEFORE removing it from scope
|
|
82
|
+
- Frame it as a recommendation, not a decision: "I'd recommend deferring X because [reason]. Do you agree, or should it stay in scope?"
|
|
83
|
+
- NEVER silently move user requirements to a later phase or exclude them from MVP
|
|
84
|
+
- Before creating any consequential phase-based artifacts (e.g., phase tags, labels, or follow-on prompts), present artifact creation as a recommendation and proceed only after explicit user approval
|
|
85
|
+
|
|
78
86
|
### 4. Progressive Feature Roadmap
|
|
79
87
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
**CRITICAL: Phasing is NOT automatic. Check the user's input first.**
|
|
89
|
+
|
|
90
|
+
Before proposing any phased approach, review the user's input documents:
|
|
91
|
+
|
|
92
|
+
- **If the input documents define all components as core requirements with no mention of phases:** Present all requirements as a single release scope. Do NOT invent phases or move requirements to fabricated future phases.
|
|
93
|
+
- **If the input documents explicitly request phased delivery:** Guide mapping of features across the phases the user defined.
|
|
94
|
+
- **If scope is unclear:** ASK the user whether they want phased delivery or a single release before proceeding.
|
|
84
95
|
|
|
85
|
-
|
|
86
|
-
- Essential user journeys
|
|
87
|
-
- Basic functionality that works reliably
|
|
96
|
+
**When the user requests phased delivery**, guide mapping of features across the phases the user defines:
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
- Use user-provided phase labels and count; if none are provided, propose a default (e.g., MVP/Growth/Vision) and ask for confirmation
|
|
99
|
+
- Ensure clear progression and dependencies between phases
|
|
90
100
|
|
|
91
|
-
|
|
92
|
-
- Enhanced features
|
|
93
|
-
- Scale improvements
|
|
101
|
+
**Each phase should address:**
|
|
94
102
|
|
|
95
|
-
|
|
103
|
+
- Core user value delivery and essential journeys for that phase
|
|
104
|
+
- Clear boundaries on what ships in each phase
|
|
105
|
+
- Dependencies on prior phases
|
|
96
106
|
|
|
97
|
-
|
|
98
|
-
- Platform features
|
|
99
|
-
- New markets or use cases
|
|
107
|
+
**When the user chooses a single release**, define the complete scope:
|
|
100
108
|
|
|
101
|
-
|
|
109
|
+
- All user-specified requirements are in scope
|
|
110
|
+
- Focus must-have vs nice-to-have analysis on what ships in this release
|
|
111
|
+
- Do NOT create phases β use must-have/nice-to-have priority within the single release
|
|
112
|
+
|
|
113
|
+
**If phased delivery:** "Where does your current vision fit in this development sequence?"
|
|
114
|
+
**If single release:** "How does your current vision map to this upcoming release?"
|
|
102
115
|
|
|
103
116
|
### 5. Risk-Based Scoping
|
|
104
117
|
|
|
@@ -129,6 +142,8 @@ Prepare comprehensive scoping section:
|
|
|
129
142
|
|
|
130
143
|
#### Content Structure:
|
|
131
144
|
|
|
145
|
+
**If user chose phased delivery:**
|
|
146
|
+
|
|
132
147
|
```markdown
|
|
133
148
|
## Project Scoping & Phased Development
|
|
134
149
|
|
|
@@ -160,11 +175,39 @@ Prepare comprehensive scoping section:
|
|
|
160
175
|
**Resource Risks:** {{contingency_approach}}
|
|
161
176
|
```
|
|
162
177
|
|
|
178
|
+
**If user chose single release (no phasing):**
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
## Project Scoping
|
|
182
|
+
|
|
183
|
+
### Strategy & Philosophy
|
|
184
|
+
|
|
185
|
+
**Approach:** {{chosen_approach}}
|
|
186
|
+
**Resource Requirements:** {{team_size_and_skills}}
|
|
187
|
+
|
|
188
|
+
### Complete Feature Set
|
|
189
|
+
|
|
190
|
+
**Core User Journeys Supported:**
|
|
191
|
+
{{all_journeys}}
|
|
192
|
+
|
|
193
|
+
**Must-Have Capabilities:**
|
|
194
|
+
{{list_of_must_have_features}}
|
|
195
|
+
|
|
196
|
+
**Nice-to-Have Capabilities:**
|
|
197
|
+
{{list_of_nice_to_have_features}}
|
|
198
|
+
|
|
199
|
+
### Risk Mitigation Strategy
|
|
200
|
+
|
|
201
|
+
**Technical Risks:** {{mitigation_approach}}
|
|
202
|
+
**Market Risks:** {{validation_approach}}
|
|
203
|
+
**Resource Risks:** {{contingency_approach}}
|
|
204
|
+
```
|
|
205
|
+
|
|
163
206
|
### 7. Present MENU OPTIONS
|
|
164
207
|
|
|
165
208
|
Present the scoping decisions for review, then display menu:
|
|
166
209
|
- Show strategic scoping plan (using structure from step 6)
|
|
167
|
-
- Highlight
|
|
210
|
+
- Highlight release boundaries and prioritization (phased roadmap only if phased delivery was selected)
|
|
168
211
|
- Ask if they'd like to refine further, get other perspectives, or proceed
|
|
169
212
|
- Present menu options naturally as part of conversation
|
|
170
213
|
|
|
@@ -173,7 +216,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Fu
|
|
|
173
216
|
#### Menu Handling Logic:
|
|
174
217
|
- IF A: Invoke the `bmad-advanced-elicitation` skill with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
175
218
|
- IF P: Invoke the `bmad-party-mode` skill with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
176
|
-
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-09-functional.md
|
|
219
|
+
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array (also add `releaseMode: phased` or `releaseMode: single-release` to frontmatter based on user's choice), then read fully and follow: ./step-09-functional.md
|
|
177
220
|
- IF Any other: help user respond, then redisplay menu
|
|
178
221
|
|
|
179
222
|
#### EXECUTION RULES:
|
|
@@ -189,8 +232,9 @@ When user selects 'C', append the content directly to the document using the str
|
|
|
189
232
|
|
|
190
233
|
β
Complete PRD document analyzed for scope implications
|
|
191
234
|
β
Strategic MVP approach defined and justified
|
|
192
|
-
β
Clear
|
|
193
|
-
β
|
|
235
|
+
β
Clear feature boundaries established (phased or single-release, per user preference)
|
|
236
|
+
β
All user-specified requirements accounted for β none silently removed or deferred
|
|
237
|
+
β
Any scope reduction recommendations presented to user with rationale and explicit confirmation obtained
|
|
194
238
|
β
Key risks identified and mitigation strategies defined
|
|
195
239
|
β
User explicitly agrees to scope decisions
|
|
196
240
|
β
A/P/C menu presented and handled correctly
|
|
@@ -202,8 +246,11 @@ When user selects 'C', append the content directly to the document using the str
|
|
|
202
246
|
β Making scope decisions without strategic rationale
|
|
203
247
|
β Not getting explicit user agreement on MVP boundaries
|
|
204
248
|
β Missing critical risk analysis
|
|
205
|
-
β Not creating clear phased development approach
|
|
206
249
|
β Not presenting A/P/C menu after content generation
|
|
250
|
+
β **CRITICAL**: Silently de-scoping or deferring requirements that the user explicitly included in their input documents
|
|
251
|
+
β **CRITICAL**: Inventing phasing (MVP/Growth/Vision) when the user did not request phased delivery
|
|
252
|
+
β **CRITICAL**: Making consequential scoping decisions (what is in/out of scope) without explicit user confirmation
|
|
253
|
+
β **CRITICAL**: Creating phase-based artifacts (tags, labels, follow-on prompts) without explicit user approval
|
|
207
254
|
|
|
208
255
|
β **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
209
256
|
β **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
@@ -138,7 +138,7 @@ Make targeted improvements:
|
|
|
138
138
|
- All user success criteria
|
|
139
139
|
- All functional requirements (capability contract)
|
|
140
140
|
- All user journey narratives
|
|
141
|
-
- All scope decisions (
|
|
141
|
+
- All scope decisions (whether phased or single-release), including consent-critical evidence (explicit user confirmations and rationales for any scope changes from step 8)
|
|
142
142
|
- All non-functional requirements
|
|
143
143
|
- Product differentiator and vision
|
|
144
144
|
- Domain-specific requirements
|
|
@@ -113,3 +113,9 @@ PRD complete. Invoke the `bmad-help` skill.
|
|
|
113
113
|
The polished PRD serves as the foundation for all subsequent product development activities. All design, architecture, and development work should trace back to the requirements and vision documented in this PRD - update it also as needed as you continue planning.
|
|
114
114
|
|
|
115
115
|
**Congratulations on completing the Product Requirements Document for {{project_name}}!** π
|
|
116
|
+
|
|
117
|
+
## On Complete
|
|
118
|
+
|
|
119
|
+
Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete`
|
|
120
|
+
|
|
121
|
+
If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
|
|
@@ -3,4 +3,73 @@ name: bmad-create-ux-design
|
|
|
3
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"'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
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
|
+
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` 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
|
+
Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`
|
|
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. `{skill-root}/customize.toml` β defaults
|
|
35
|
+
2. `{project-root}/_bmad/custom/{skill-name}.toml` β team overrides
|
|
36
|
+
3. `{project-root}/_bmad/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}/_bmad/bmm/config.yaml` 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.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for bmad-create-ux-design. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
+
# scalars: override wins β’ arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
+
# Distinct from the runtime memory sidecar β these are static context
|
|
26
|
+
# loaded on activation. Overrides append.
|
|
27
|
+
#
|
|
28
|
+
# Each entry is either:
|
|
29
|
+
# - a literal sentence, e.g. "All designs must meet WCAG 2.1 AA accessibility standards."
|
|
30
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
+
|
|
33
|
+
persistent_facts = [
|
|
34
|
+
"file:{project-root}/**/project-context.md",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Scalar: executed when the workflow reaches Step 14 (Workflow Completion),
|
|
38
|
+
# after the UX design specification is finalized and status is updated. Override wins.
|
|
39
|
+
# Leave empty for no custom post-completion behavior.
|
|
40
|
+
|
|
41
|
+
on_complete = ""
|
|
@@ -169,3 +169,9 @@ This UX design workflow is now complete. The specification serves as the foundat
|
|
|
169
169
|
- β
UX Design Specification: `{planning_artifacts}/ux-design-specification.md`
|
|
170
170
|
- β
Color Themes Visualizer: `{planning_artifacts}/ux-color-themes.html`
|
|
171
171
|
- β
Design Directions: `{planning_artifacts}/ux-design-directions.html`
|
|
172
|
+
|
|
173
|
+
## On Complete
|
|
174
|
+
|
|
175
|
+
Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete`
|
|
176
|
+
|
|
177
|
+
If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
|
|
@@ -3,4 +3,100 @@ name: bmad-edit-prd
|
|
|
3
3
|
description: 'Edit an existing PRD. Use when the user says "edit this PRD".'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# PRD Edit Workflow
|
|
7
|
+
|
|
8
|
+
**Goal:** Edit and improve existing PRDs through structured enhancement workflow.
|
|
9
|
+
|
|
10
|
+
**Your Role:** PRD improvement specialist.
|
|
11
|
+
|
|
12
|
+
You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
|
|
13
|
+
|
|
14
|
+
## Conventions
|
|
15
|
+
|
|
16
|
+
- Bare paths (e.g. `steps-e/step-e-01-discovery.md`) resolve from the skill root.
|
|
17
|
+
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
|
|
18
|
+
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
19
|
+
- `{skill-name}` resolves to the skill directory's basename.
|
|
20
|
+
|
|
21
|
+
## WORKFLOW ARCHITECTURE
|
|
22
|
+
|
|
23
|
+
This uses **step-file architecture** for disciplined execution:
|
|
24
|
+
|
|
25
|
+
### Core Principles
|
|
26
|
+
|
|
27
|
+
- **Micro-file Design**: Each step is a self-contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
28
|
+
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
|
29
|
+
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
30
|
+
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
|
31
|
+
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
|
32
|
+
|
|
33
|
+
### Step Processing Rules
|
|
34
|
+
|
|
35
|
+
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
36
|
+
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
37
|
+
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
38
|
+
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
39
|
+
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
|
40
|
+
6. **LOAD NEXT**: When directed, read fully and follow the next step file
|
|
41
|
+
|
|
42
|
+
### Critical Rules (NO EXCEPTIONS)
|
|
43
|
+
|
|
44
|
+
- π **NEVER** load multiple step files simultaneously
|
|
45
|
+
- π **ALWAYS** read entire step file before execution
|
|
46
|
+
- π« **NEVER** skip steps or optimize the sequence
|
|
47
|
+
- πΎ **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
|
48
|
+
- π― **ALWAYS** follow the exact instructions in the step file
|
|
49
|
+
- βΈοΈ **ALWAYS** halt at menus and wait for user input
|
|
50
|
+
- π **NEVER** create mental todo lists from future steps
|
|
51
|
+
|
|
52
|
+
## On Activation
|
|
53
|
+
|
|
54
|
+
### Step 1: Resolve the Workflow Block
|
|
55
|
+
|
|
56
|
+
Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`
|
|
57
|
+
|
|
58
|
+
**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:
|
|
59
|
+
|
|
60
|
+
1. `{skill-root}/customize.toml` β defaults
|
|
61
|
+
2. `{project-root}/_bmad/custom/{skill-name}.toml` β team overrides
|
|
62
|
+
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` β personal overrides
|
|
63
|
+
|
|
64
|
+
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.
|
|
65
|
+
|
|
66
|
+
### Step 2: Execute Prepend Steps
|
|
67
|
+
|
|
68
|
+
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
69
|
+
|
|
70
|
+
### Step 3: Load Persistent Facts
|
|
71
|
+
|
|
72
|
+
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.
|
|
73
|
+
|
|
74
|
+
### Step 4: Load Config
|
|
75
|
+
|
|
76
|
+
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
|
77
|
+
- Use `{user_name}` for greeting
|
|
78
|
+
- Use `{communication_language}` for all communications
|
|
79
|
+
- Use `{document_output_language}` for output documents
|
|
80
|
+
- Use `{planning_artifacts}` for output location and artifact scanning
|
|
81
|
+
- Use `{project_knowledge}` for additional context scanning
|
|
82
|
+
|
|
83
|
+
### Step 5: Greet the User
|
|
84
|
+
|
|
85
|
+
Greet `{user_name}`, speaking in `{communication_language}`.
|
|
86
|
+
|
|
87
|
+
### Step 6: Execute Append Steps
|
|
88
|
+
|
|
89
|
+
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
90
|
+
|
|
91
|
+
Activation is complete. Begin the workflow below.
|
|
92
|
+
|
|
93
|
+
## Execution
|
|
94
|
+
|
|
95
|
+
β
YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
|
|
96
|
+
β
YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
|
|
97
|
+
|
|
98
|
+
**Edit Mode: Improving an existing PRD.**
|
|
99
|
+
|
|
100
|
+
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
|
|
101
|
+
|
|
102
|
+
Then read fully and follow: `./steps-e/step-e-01-discovery.md`
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for bmad-edit-prd. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
+
# scalars: override wins β’ arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
+
# Distinct from the runtime memory sidecar β these are static context
|
|
26
|
+
# loaded on activation. Overrides append.
|
|
27
|
+
#
|
|
28
|
+
# Each entry is either:
|
|
29
|
+
# - a literal sentence, e.g. "All PRDs must include a regulatory-risk section."
|
|
30
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
+
|
|
33
|
+
persistent_facts = [
|
|
34
|
+
"file:{project-root}/**/project-context.md",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Scalar: executed when the workflow reaches Step E-4 (Complete & Validate) and the
|
|
38
|
+
# user exits via [S] Summary or [X] Exit β not on [V] Validate (which chains to
|
|
39
|
+
# bmad-validate-prd) or [E] Edit More (which loops back). Override wins.
|
|
40
|
+
# Leave empty for no custom post-completion behavior.
|
|
41
|
+
|
|
42
|
+
on_complete = ""
|
|
@@ -130,11 +130,13 @@ Display:
|
|
|
130
130
|
- Before/after comparison (key improvements)
|
|
131
131
|
- Recommendations for next steps
|
|
132
132
|
- Display: "**Edit Workflow Complete**"
|
|
133
|
+
- Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete` β if the resolved value is non-empty, follow it as the final terminal instruction before exiting.
|
|
133
134
|
- Exit
|
|
134
135
|
|
|
135
136
|
- **IF X (Exit):**
|
|
136
137
|
- Display summary
|
|
137
138
|
- Display: "**Edit Workflow Complete**"
|
|
139
|
+
- Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete` β if the resolved value is non-empty, follow it as the final terminal instruction before exiting.
|
|
138
140
|
- Exit
|
|
139
141
|
|
|
140
142
|
- **IF Any other:** Help user, then redisplay menu
|
|
@@ -3,4 +3,102 @@ name: bmad-validate-prd
|
|
|
3
3
|
description: 'Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# PRD Validate Workflow
|
|
7
|
+
|
|
8
|
+
**Goal:** Validate existing PRDs against BMAD standards through comprehensive review.
|
|
9
|
+
|
|
10
|
+
**Your Role:** Validation Architect and Quality Assurance Specialist.
|
|
11
|
+
|
|
12
|
+
You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
|
|
13
|
+
|
|
14
|
+
## Conventions
|
|
15
|
+
|
|
16
|
+
- Bare paths (e.g. `steps-v/step-v-01-discovery.md`) resolve from the skill root.
|
|
17
|
+
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
|
|
18
|
+
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
19
|
+
- `{skill-name}` resolves to the skill directory's basename.
|
|
20
|
+
|
|
21
|
+
## WORKFLOW ARCHITECTURE
|
|
22
|
+
|
|
23
|
+
This uses **step-file architecture** for disciplined execution:
|
|
24
|
+
|
|
25
|
+
### Core Principles
|
|
26
|
+
|
|
27
|
+
- **Micro-file Design**: Each step is a self-contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
28
|
+
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
|
29
|
+
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
30
|
+
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
|
31
|
+
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
|
32
|
+
|
|
33
|
+
### Step Processing Rules
|
|
34
|
+
|
|
35
|
+
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
36
|
+
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
37
|
+
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
38
|
+
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
39
|
+
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
|
40
|
+
6. **LOAD NEXT**: When directed, read fully and follow the next step file
|
|
41
|
+
|
|
42
|
+
### Critical Rules (NO EXCEPTIONS)
|
|
43
|
+
|
|
44
|
+
- π **NEVER** load multiple step files simultaneously
|
|
45
|
+
- π **ALWAYS** read entire step file before execution
|
|
46
|
+
- π« **NEVER** skip steps or optimize the sequence
|
|
47
|
+
- πΎ **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
|
48
|
+
- π― **ALWAYS** follow the exact instructions in the step file
|
|
49
|
+
- βΈοΈ **ALWAYS** halt at menus and wait for user input
|
|
50
|
+
- π **NEVER** create mental todo lists from future steps
|
|
51
|
+
|
|
52
|
+
## On Activation
|
|
53
|
+
|
|
54
|
+
### Step 1: Resolve the Workflow Block
|
|
55
|
+
|
|
56
|
+
Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`
|
|
57
|
+
|
|
58
|
+
**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:
|
|
59
|
+
|
|
60
|
+
1. `{skill-root}/customize.toml` β defaults
|
|
61
|
+
2. `{project-root}/_bmad/custom/{skill-name}.toml` β team overrides
|
|
62
|
+
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` β personal overrides
|
|
63
|
+
|
|
64
|
+
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.
|
|
65
|
+
|
|
66
|
+
### Step 2: Execute Prepend Steps
|
|
67
|
+
|
|
68
|
+
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
69
|
+
|
|
70
|
+
### Step 3: Load Persistent Facts
|
|
71
|
+
|
|
72
|
+
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.
|
|
73
|
+
|
|
74
|
+
### Step 4: Load Config
|
|
75
|
+
|
|
76
|
+
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
|
77
|
+
- Use `{user_name}` for greeting
|
|
78
|
+
- Use `{communication_language}` for all communications
|
|
79
|
+
- Use `{document_output_language}` for output documents
|
|
80
|
+
- Use `{planning_artifacts}` for output location and artifact scanning
|
|
81
|
+
- Use `{project_knowledge}` for additional context scanning
|
|
82
|
+
|
|
83
|
+
### Step 5: Greet the User
|
|
84
|
+
|
|
85
|
+
Greet `{user_name}`, speaking in `{communication_language}`.
|
|
86
|
+
|
|
87
|
+
### Step 6: Execute Append Steps
|
|
88
|
+
|
|
89
|
+
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
90
|
+
|
|
91
|
+
Activation is complete. Begin the workflow below.
|
|
92
|
+
|
|
93
|
+
## Paths
|
|
94
|
+
|
|
95
|
+
- `validateWorkflow` = `./steps-v/step-v-01-discovery.md`
|
|
96
|
+
|
|
97
|
+
## Execution
|
|
98
|
+
|
|
99
|
+
β
YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
|
|
100
|
+
β
YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
|
|
101
|
+
|
|
102
|
+
**Validate Mode: Validating an existing PRD against BMAD standards.**
|
|
103
|
+
|
|
104
|
+
Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for bmad-validate-prd. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
+
# scalars: override wins β’ arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
+
# Distinct from the runtime memory sidecar β these are static context
|
|
26
|
+
# loaded on activation. Overrides append.
|
|
27
|
+
#
|
|
28
|
+
# Each entry is either:
|
|
29
|
+
# - a literal sentence, e.g. "All PRDs must include a regulatory-risk section."
|
|
30
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
+
|
|
33
|
+
persistent_facts = [
|
|
34
|
+
"file:{project-root}/**/project-context.md",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Scalar: executed when the workflow reaches Step 13 (Validation Report Complete) and
|
|
38
|
+
# the user exits via [X] Exit β not on [E] Use Edit Workflow (which chains to
|
|
39
|
+
# bmad-edit-prd), [R] Review (which loops within), or [F] Fix (which loops within).
|
|
40
|
+
# Override wins. Leave empty for no custom post-completion behavior.
|
|
41
|
+
|
|
42
|
+
on_complete = ""
|