bmad-method 6.10.1-next.2 → 6.10.1-next.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 (156) hide show
  1. package/.claude-plugin/marketplace.json +52 -27
  2. package/package.json +4 -3
  3. package/removals.txt +5 -0
  4. package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +19 -4
  5. package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +1 -1
  6. package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +5 -3
  7. package/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +2 -0
  8. package/src/bmm-skills/2-plan-workflows/bmad-prd/customize.toml +5 -3
  9. package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/SKILL.md +18 -3
  10. package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/assets/spec-template.md +1 -1
  11. package/src/bmm-skills/2-plan-workflows/bmad-spec/assets/stories-schema.md +44 -0
  12. package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/customize.toml +3 -4
  13. package/src/bmm-skills/2-plan-workflows/bmad-ux/customize.toml +4 -2
  14. package/src/bmm-skills/3-solutioning/bmad-architecture/SKILL.md +2 -2
  15. package/src/bmm-skills/3-solutioning/bmad-architecture/customize.toml +4 -2
  16. package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +3 -0
  17. package/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +2 -4
  18. package/src/bmm-skills/4-implementation/bmad-code-review/customize.toml +52 -0
  19. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md +0 -1
  20. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +10 -24
  21. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-03-triage.md +3 -4
  22. package/src/bmm-skills/4-implementation/bmad-dev-auto/SKILL.md +33 -12
  23. package/src/bmm-skills/4-implementation/bmad-dev-auto/customize.toml +75 -0
  24. package/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md +4 -4
  25. package/src/bmm-skills/4-implementation/bmad-dev-auto/step-01-clarify-and-route.md +22 -4
  26. package/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md +5 -6
  27. package/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md +8 -4
  28. package/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md +13 -19
  29. package/src/bmm-skills/4-implementation/bmad-dev-story/customize.toml +3 -0
  30. package/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +6 -108
  31. package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +73 -0
  32. package/src/bmm-skills/4-implementation/bmad-quick-dev/render.py +381 -0
  33. package/src/bmm-skills/4-implementation/bmad-quick-dev/spec-template.md +2 -2
  34. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-01-clarify-and-route.md +11 -13
  35. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-02-plan.md +4 -9
  36. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-03-implement.md +12 -4
  37. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-04-review.md +8 -20
  38. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +4 -4
  39. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +12 -13
  40. package/src/bmm-skills/4-implementation/bmad-quick-dev/sync-sprint-status.md +6 -6
  41. package/src/bmm-skills/4-implementation/bmad-quick-dev/workflow.md +85 -0
  42. package/src/bmm-skills/module-help.csv +2 -4
  43. package/src/bmm-skills/module.yaml +2 -5
  44. package/src/bmm-skills/v6-shims/README.md +24 -0
  45. package/src/bmm-skills/{3-solutioning → v6-shims}/bmad-create-architecture/SKILL.md +1 -1
  46. package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-create-prd/SKILL.md +3 -3
  47. package/src/bmm-skills/v6-shims/bmad-domain-research/SKILL.md +14 -0
  48. package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-edit-prd/SKILL.md +3 -3
  49. package/src/bmm-skills/v6-shims/bmad-market-research/SKILL.md +14 -0
  50. package/src/bmm-skills/v6-shims/bmad-technical-research/SKILL.md +14 -0
  51. package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-validate-prd/SKILL.md +3 -3
  52. package/src/core-skills/bmad-advanced-elicitation/SKILL.md +26 -103
  53. package/src/core-skills/bmad-advanced-elicitation/customize.toml +54 -0
  54. package/src/core-skills/bmad-advanced-elicitation/scripts/pick_methods.py +233 -0
  55. package/src/core-skills/bmad-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
  56. package/src/core-skills/bmad-brainstorming/SKILL.md +3 -3
  57. package/src/core-skills/bmad-brainstorming/assets/brain-selector.html +2 -0
  58. package/src/core-skills/bmad-brainstorming/references/mode-autonomous.md +1 -1
  59. package/src/core-skills/bmad-brainstorming/scripts/brain.py +36 -6
  60. package/src/core-skills/bmad-brainstorming/scripts/tests/test_brain.py +22 -0
  61. package/src/core-skills/bmad-customize/SKILL.md +2 -2
  62. package/src/core-skills/bmad-deep-recon/SKILL.md +82 -0
  63. package/src/core-skills/bmad-deep-recon/assets/research.template.md +18 -0
  64. package/src/core-skills/bmad-deep-recon/customize.toml +212 -0
  65. package/src/core-skills/bmad-deep-recon/references/draft.md +8 -0
  66. package/src/core-skills/bmad-deep-recon/references/finalize.md +11 -0
  67. package/src/core-skills/bmad-deep-recon/references/html-briefing.md +16 -0
  68. package/src/core-skills/bmad-deep-recon/references/lifecycle.md +11 -0
  69. package/src/core-skills/bmad-deep-recon/references/process.md +10 -0
  70. package/src/core-skills/bmad-deep-recon/references/run.md +73 -0
  71. package/src/core-skills/bmad-deep-recon/references/selection.md +13 -0
  72. package/src/core-skills/bmad-deep-recon/references/synthesis.md +16 -0
  73. package/src/core-skills/bmad-deep-recon/references/verification.md +29 -0
  74. package/src/core-skills/bmad-deep-recon/scripts/recon_kit.py +322 -0
  75. package/src/core-skills/bmad-deep-recon/scripts/tests/test_recon_kit.py +144 -0
  76. package/src/core-skills/bmad-deep-recon/types/academic-lit.md +19 -0
  77. package/src/core-skills/bmad-deep-recon/types/competitive.md +19 -0
  78. package/src/core-skills/bmad-deep-recon/types/domain.md +19 -0
  79. package/src/core-skills/bmad-deep-recon/types/market.md +19 -0
  80. package/src/core-skills/bmad-deep-recon/types/technical.md +19 -0
  81. package/src/core-skills/bmad-deep-recon/types/user-voice.md +19 -0
  82. package/src/core-skills/bmad-forge-idea/SKILL.md +2 -2
  83. package/src/core-skills/bmad-forge-idea/scripts/resolve_personas.py +4 -1
  84. package/src/core-skills/bmad-help/SKILL.md +1 -1
  85. package/src/core-skills/bmad-party-mode/SKILL.md +2 -2
  86. package/src/core-skills/bmad-party-mode/scripts/resolve_party.py +11 -3
  87. package/src/core-skills/bmad-review/SKILL.md +49 -0
  88. package/src/core-skills/bmad-review/customize.toml +141 -0
  89. package/src/core-skills/bmad-review/references/editorial-common.md +56 -0
  90. package/src/core-skills/bmad-review/references/lens-adversarial.md +18 -0
  91. package/src/core-skills/bmad-review/references/lens-edge-case-hunter.md +54 -0
  92. package/src/core-skills/bmad-review/references/lens-prose.md +7 -0
  93. package/src/core-skills/bmad-review/references/lens-structure.md +9 -0
  94. package/src/core-skills/{bmad-review-verification-gap/SKILL.md → bmad-review/references/lens-verification-gap.md} +15 -39
  95. package/src/core-skills/bmad-review/references/structure-models.md +44 -0
  96. package/src/core-skills/bmad-review/scripts/tests/test_word_metrics.py +62 -0
  97. package/src/core-skills/bmad-review/scripts/word_metrics.py +102 -0
  98. package/src/core-skills/module-help.csv +3 -7
  99. package/src/core-skills/module.yaml +5 -0
  100. package/src/core-skills/v6-shims/README.md +25 -0
  101. package/src/core-skills/v6-shims/bmad-editorial-review/SKILL.md +6 -0
  102. package/src/core-skills/v6-shims/bmad-editorial-review/customize.toml +31 -0
  103. package/src/core-skills/v6-shims/bmad-editorial-review-prose/SKILL.md +6 -0
  104. package/src/core-skills/v6-shims/bmad-editorial-review-structure/SKILL.md +6 -0
  105. package/src/core-skills/v6-shims/bmad-review-adversarial-general/SKILL.md +6 -0
  106. package/src/core-skills/v6-shims/bmad-review-edge-case-hunter/SKILL.md +6 -0
  107. package/src/core-skills/v6-shims/bmad-review-verification-gap/SKILL.md +6 -0
  108. package/tools/installer/ide/platform-codes.yaml +7 -0
  109. package/tools/installer/modules/custom-module-manager.js +12 -6
  110. package/tools/installer/modules/external-manager.js +12 -8
  111. package/tools/installer/modules/git-env.js +47 -0
  112. package/tools/skill-validator.md +11 -1
  113. package/tools/validate-skills.js +33 -0
  114. package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +0 -96
  115. package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +0 -41
  116. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +0 -137
  117. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
  118. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
  119. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
  120. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
  121. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -450
  122. package/src/bmm-skills/1-analysis/research/bmad-domain-research/research.template.md +0 -29
  123. package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +0 -96
  124. package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +0 -41
  125. package/src/bmm-skills/1-analysis/research/bmad-market-research/research.template.md +0 -29
  126. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-01-init.md +0 -184
  127. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
  128. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
  129. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
  130. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
  131. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +0 -484
  132. package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +0 -96
  133. package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +0 -41
  134. package/src/bmm-skills/1-analysis/research/bmad-technical-research/research.template.md +0 -29
  135. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +0 -137
  136. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
  137. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
  138. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
  139. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
  140. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -493
  141. package/src/core-skills/bmad-brainstorming/analysis/catalog-analysis.md +0 -239
  142. package/src/core-skills/bmad-brainstorming/analysis/method-matrix.csv +0 -109
  143. package/src/core-skills/bmad-editorial-review-prose/SKILL.md +0 -86
  144. package/src/core-skills/bmad-editorial-review-structure/SKILL.md +0 -179
  145. package/src/core-skills/bmad-index-docs/SKILL.md +0 -66
  146. package/src/core-skills/bmad-review-adversarial-general/SKILL.md +0 -37
  147. package/src/core-skills/bmad-review-edge-case-hunter/SKILL.md +0 -73
  148. package/src/core-skills/bmad-review-edge-case-hunter/references/deletion-check.md +0 -14
  149. package/src/core-skills/bmad-shard-doc/SKILL.md +0 -105
  150. /package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/assets/headless-schemas.md +0 -0
  151. /package/src/bmm-skills/{3-solutioning → v6-shims}/bmad-create-architecture/customize.toml +0 -0
  152. /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-create-prd/customize.toml +0 -0
  153. /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-edit-prd/customize.toml +0 -0
  154. /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-validate-prd/customize.toml +0 -0
  155. /package/src/core-skills/bmad-advanced-elicitation/{methods.csv → assets/methods.csv} +0 -0
  156. /package/src/core-skills/bmad-party-mode/scripts/tests/{test-resolve_party.py → test_resolve_party.py} +0 -0
@@ -1,35 +1,34 @@
1
- ---
2
- deferred_work_file: '{implementation_artifacts}/deferred-work.md'
3
- ---
4
-
5
1
  # Step One-Shot: Implement, Review, Present
6
2
 
7
3
  ## RULES
8
4
 
9
- - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
5
+ - **Language** Speak in `{{.communication_language}}`. Write any file output in `{{.document_output_language}}`.
10
6
  - NEVER auto-push.
11
7
  - All review subagents must run at the same model capability as the current session.
8
+ - Run subagents synchronously: launch them together, then wait for all results before continuing.
12
9
 
13
10
  ## INSTRUCTIONS
14
11
 
15
12
  ### Implement
16
13
 
17
- Follow `./sync-sprint-status.md` with `{target_status}` = `in-progress`.
14
+ Follow `./sync-sprint-status.md` with `target_status` = `in-progress`.
18
15
 
19
16
  Implement the clarified intent directly.
20
17
 
21
18
  ### Review
22
19
 
23
- Launch Blind Hunter without prior conversation context. If no subagents are available, generate one review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run it in a separate session and paste back the findings.
20
+ Execute these review layers in parallel wherever their execution methods allow, following each layer's instruction verbatim after substituting any runtime placeholders:
21
+
22
+ {workflow.oneshot_review_layers}
24
23
 
25
- - **Blind Hunter** prompt: "Invoke the `bmad-review-adversarial-general` skill on the changed files."
24
+ If a layer's instruction requires subagents and none are available, generate one review prompt file per such layer in `{{.implementation_artifacts}}` and HALT. Ask the human to run each in a separate session and paste back the findings.
26
25
 
27
26
  ### Classify
28
27
 
29
28
  Deduplicate all review findings. Three categories only:
30
29
 
31
30
  - **patch** — trivially fixable. Auto-fix immediately.
32
- - **defer** — pre-existing issue not caused by this change. Append one new entry to `{deferred_work_file}` using this format. Do not modify existing entries or look for duplicates.
31
+ - **defer** — pre-existing issue not caused by this change. Append one new entry to `{{.deferred_work_file}}` using this format. Do not modify existing entries or look for duplicates.
33
32
  ```markdown
34
33
  - source_spec: `{spec_file}`
35
34
  summary: <one sentence>
@@ -41,7 +40,7 @@ If a finding is caused by this change but too significant for a trivial patch, H
41
40
 
42
41
  ### Generate Spec Trace
43
42
 
44
- Set `{title}` = a concise title derived from the clarified intent.
43
+ Set `title` = a concise title derived from the clarified intent.
45
44
 
46
45
  Write `{spec_file}` using `./spec-template.md`. Fill only these sections — delete all others:
47
46
 
@@ -49,7 +48,7 @@ Write `{spec_file}` using `./spec-template.md`. Fill only these sections — del
49
48
  2. **Title and Intent** — `# {title}` heading and `## Intent` with **Problem** and **Approach** lines. Reuse the summary you already generated for the terminal.
50
49
  3. **Suggested Review Order** — append after Intent. Build using the same convention as `./step-05-present.md` § "Generate Suggested Review Order" (spec-file-relative links, concern-based ordering, ultra-concise framing).
51
50
 
52
- Follow `./sync-sprint-status.md` with `{target_status}` = `review`.
51
+ Follow `./sync-sprint-status.md` with `target_status` = `review`.
53
52
 
54
53
  ### Commit
55
54
 
@@ -74,6 +73,6 @@ Workflow complete.
74
73
 
75
74
  ## On Complete
76
75
 
77
- Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete`
76
+ If anything appears below, follow it as the final terminal instruction before exiting; otherwise exit normally.
78
77
 
79
- If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
78
+ {workflow.on_complete}
@@ -1,19 +1,19 @@
1
1
  # Sync Sprint Status
2
2
 
3
- Shared sub-step for updating `sprint-status.yaml` during quick-dev. Called from any route (plan-code-review, one-shot, future routes) with a `{target_status}` parameter.
3
+ Shared sub-step for updating `sprint-status.yaml` during quick-dev. Called from any route (plan-code-review, one-shot, future routes) with a `target_status` parameter.
4
4
 
5
5
  ## Preconditions
6
6
 
7
7
  Skip this entire file (return to caller) if ANY of:
8
- - `{story_key}` is unset
9
- - `{sprint_status}` does not exist on disk
8
+ - `story_key` is unset
9
+ - `{{.sprint_status}}` does not exist on disk
10
10
 
11
11
  ## Instructions
12
12
 
13
- 1. Load the FULL `{sprint_status}` file.
13
+ 1. Load the FULL `{{.sprint_status}}` file.
14
14
  2. Find the `development_status` entry matching `{story_key}`. If not found, warn the user once (`"{story_key} not found in sprint-status; skipping sprint sync"`) and return to caller.
15
- 3. **Idempotency check.** If `development_status[{story_key}]` is already at `{target_status}` or a later state (`review` is later than `in-progress`; `done` is later than both), return to caller — no write needed. Never regress a story's status.
15
+ 3. **Idempotency check.** If `development_status[{story_key}]` is already at `target_status` or a later state (`review` is later than `in-progress`; `done` is later than both), return to caller — no write needed. Never regress a story's status.
16
16
  4. Set `development_status[{story_key}]` to `{target_status}`.
17
- 5. **Epic lift (only when `{target_status}` = `in-progress`).** Derive the parent epic key as `epic-{N}` from the leading numeric segment of `{story_key}` (e.g., `3-2-digest-delivery` → `epic-3`). If that entry exists and is `backlog`, set it to `in-progress`. Leave it alone otherwise. Skip this sub-step entirely when `{target_status}` is not `in-progress`.
17
+ 5. **Epic lift (only when `target_status` = `in-progress`).** Derive the parent epic key as `epic-{N}` from the leading numeric segment of `{story_key}` (e.g., `3-2-digest-delivery` → `epic-3`). If that entry exists and is `backlog`, set it to `in-progress`. Leave it alone otherwise. Skip this sub-step entirely when `target_status` is not `in-progress`.
18
18
  6. Refresh `last_updated` to the current date.
19
19
  7. Save the file, preserving ALL comments and structure including STATUS DEFINITIONS and WORKFLOW NOTES.
@@ -0,0 +1,85 @@
1
+ # Quick Dev New Preview Workflow
2
+
3
+ **Goal:** Turn user intent into a hardened, reviewable artifact.
4
+
5
+ **CRITICAL:** If a step says "read fully and follow step-XX", you read and follow step-XX. No exceptions.
6
+
7
+ Subagents, when the capability is available, are an important part of this workflow. Use them as directed by the workflow steps.
8
+ If you need an explicit user instruction to run them, ask once now for the whole workflow run.
9
+
10
+ ## READY FOR DEVELOPMENT STANDARD
11
+
12
+ A specification is "Ready for Development" when:
13
+
14
+ - **Actionable**: Every task has a file path and specific action.
15
+ - **Logical**: Tasks ordered by dependency.
16
+ - **Testable**: All ACs use Given/When/Then.
17
+ - **Complete**: No placeholders or TBDs.
18
+ - **Sufficient**: No known requirement, acceptance, dependency, or implementation gaps remain unresolved.
19
+ - **Coherent**: No unresolved ambiguities or internal contradictions.
20
+
21
+ ## SCOPE STANDARD
22
+
23
+ A specification should target a **single user-facing goal** within **900–1600 tokens**:
24
+
25
+ - **Single goal**: One cohesive feature, even if it spans multiple layers/files. Multi-goal means >=2 **top-level independent shippable deliverables** — each could be reviewed, tested, and merged as a separate PR without breaking the others. Never count surface verbs, "and" conjunctions, or noun phrases. Never split cross-layer implementation details inside one user goal.
26
+ - Split: "add dark mode toggle AND refactor auth to JWT AND build admin dashboard"
27
+ - Don't split: "add validation and display errors" / "support drag-and-drop AND paste AND retry"
28
+ - **900–1600 tokens**: Optimal range for LLM consumption. Below 900 risks ambiguity; above 1600 risks context-rot in implementation agents.
29
+ - **Neither limit is a gate.** Both are proposals with user override.
30
+
31
+ ## Conventions
32
+
33
+ - Bare paths (e.g. `step-01-clarify-and-route.md`) resolve from the skill root.
34
+ - `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
35
+ - `{project-root}`-prefixed paths resolve from the project working directory.
36
+ - `{skill-name}` resolves to the skill directory's basename.
37
+
38
+ ## On Activation
39
+
40
+ ### Step 1: Execute Prepend Steps
41
+
42
+ Execute each of these steps in order before proceeding (`_None._` means skip):
43
+
44
+ {workflow.activation_steps_prepend}
45
+
46
+ ### Step 2: Load Persistent Facts
47
+
48
+ Treat every entry below 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 (`_None._` means none):
49
+
50
+ {workflow.persistent_facts}
51
+
52
+ ### Step 3: Execute Append Steps
53
+
54
+ Execute each of these steps in order (`_None._` means skip):
55
+
56
+ {workflow.activation_steps_append}
57
+
58
+ ## WORKFLOW ARCHITECTURE
59
+
60
+ This uses **step-file architecture** for disciplined execution:
61
+
62
+ - **Micro-file Design**: Each step is self-contained and followed exactly
63
+ - **Just-In-Time Loading**: Only load the current step file
64
+ - **Sequential Enforcement**: Complete steps in order, no skipping
65
+ - **State Tracking**: Persist progress via spec frontmatter and in-memory variables
66
+ - **Append-Only Building**: Build artifacts incrementally
67
+
68
+ ### Step Processing Rules
69
+
70
+ 1. **READ COMPLETELY**: Read the entire step file before acting
71
+ 2. **FOLLOW SEQUENCE**: Execute sections in order
72
+ 3. **WAIT FOR INPUT**: Halt at checkpoints and wait for human
73
+ 4. **LOAD NEXT**: When directed, read fully and follow the next step file
74
+
75
+ ### Critical Rules (NO EXCEPTIONS)
76
+
77
+ - **NEVER** load multiple step files simultaneously
78
+ - **ALWAYS** read entire step file before execution
79
+ - **NEVER** skip steps or optimize the sequence
80
+ - **ALWAYS** follow the exact instructions in the step file
81
+ - **ALWAYS** halt at checkpoints and wait for human input
82
+
83
+ ## FIRST STEP
84
+
85
+ Read fully and follow: `./step-01-clarify-and-route.md` to begin the workflow.
@@ -3,16 +3,14 @@ BMad Method,_meta,,,,,,,,,false,https://docs.bmad-method.org/llms.txt,
3
3
  BMad Method,bmad-document-project,Document Project,DP,Analyze an existing project to produce useful documentation.,,,anytime,,,false,project-knowledge,*
4
4
  BMad Method,bmad-generate-project-context,Generate Project Context,GPC,Scan existing codebase to generate a lean LLM-optimized project-context.md. Essential for brownfield projects.,,,anytime,,,false,output_folder,project context
5
5
  BMad Method,bmad-quick-dev,Quick Dev,QQ,Unified intent-in code-out workflow: clarify plan implement review and present.,,,anytime,,,false,implementation_artifacts,spec and project implementation
6
+ BMad Method,bmad-spec,Spec,SPC,"Use to distill any intent input (brief, PRD, transcript, brain dump, design folder, mixed multi-source) into a succinct, no-fluff SPEC.md contract + companions that downstream work derives from. Locks the WHAT before the HOW. Works for software, game design, research, editorial, policy, business, anything intent-bearing. Validation mode also available.",,[path],anytime,,,false,{output_folder}/specs/spec-{slug},SPEC.md + companion files
6
7
  BMad Method,bmad-correct-course,Correct Course,CC,Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories.,,,anytime,,,false,planning_artifacts,change proposal
7
8
  BMad Method,bmad-agent-tech-writer,Write Document,WD,"Describe in detail what you want, and the agent will follow documentation best practices. Multi-turn conversation with subprocess for research/review.",write,,anytime,,,false,project-knowledge,document
8
9
  BMad Method,bmad-agent-tech-writer,Update Standards,US,Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions.,update-standards,,anytime,,,false,_bmad/_memory/tech-writer-sidecar,standards
9
10
  BMad Method,bmad-agent-tech-writer,Mermaid Generate,MG,Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.,mermaid,,anytime,,,false,planning_artifacts,mermaid diagram
10
11
  BMad Method,bmad-agent-tech-writer,Validate Document,VD,Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority.,validate,[path],anytime,,,false,planning_artifacts,validation report
11
12
  BMad Method,bmad-agent-tech-writer,Explain Concept,EC,Create clear technical explanations with examples and diagrams for complex concepts.,explain,[topic],anytime,,,false,project_knowledge,explanation
12
- BMad Method,bmad-brainstorming,Brainstorm Project,BP,Expert guided facilitation through a single or multiple techniques.,,,1-analysis,,,false,planning_artifacts,brainstorming session
13
- BMad Method,bmad-market-research,Market Research,MR,Market analysis competitive landscape customer needs and trends.,,,1-analysis,,,false,planning_artifacts|project-knowledge,research documents
14
- BMad Method,bmad-domain-research,Domain Research,DR,Industry domain deep dive subject matter expertise and terminology.,,,1-analysis,,,false,planning_artifacts|project_knowledge,research documents
15
- BMad Method,bmad-technical-research,Technical Research,TR,Technical feasibility architecture options and implementation approaches.,,,1-analysis,,,false,planning_artifacts|project_knowledge,research documents
13
+ BMad Method,bmad-brainstorming,Brainstorm Project,BP,Expert guided facilitation through a single or multiple techniques.,,,1-analysis,,,false,{output_folder}/brainstorming,brainstorming session
16
14
  BMad Method,bmad-product-brief,Create Brief,CB,An expert guided experience to nail down your product idea in a brief. a gentler approach than PRFAQ when you are already sure of your concept and nothing will sway you.,,-A,1-analysis,,,false,planning_artifacts,product brief
17
15
  BMad Method,bmad-prfaq,PRFAQ Challenge,WB,Working Backwards guided experience to forge and stress-test your product concept to ensure you have a great product that users will love and need through the PRFAQ gauntlet to determine feasibility and alignment with user needs. alternative to product brief.,,-H,1-analysis,,,false,planning_artifacts,prfaq document
18
16
  BMad Method,bmad-prd,Create Edit and Review PRD,PRD,"Facilitated PRD workflow — create a new PRD via coached discovery, update an existing one against a change signal, or validate a finished PRD against a checklist with an HTML findings report.",,,2-planning,bmad-product-brief,,true,planning_artifacts,prd
@@ -40,11 +40,8 @@ project_knowledge: # Artifacts from research, document-project output, other lon
40
40
  default: "docs"
41
41
  result: "{project-root}/{value}"
42
42
 
43
- # Directories to create during installation (declarative, no code execution)
44
- directories:
45
- - "{planning_artifacts}"
46
- - "{implementation_artifacts}"
47
- - "{project_knowledge}"
43
+ # No pre-created directories: planning_artifacts, implementation_artifacts, and
44
+ # project_knowledge are created lazily by whichever skill first writes to them.
48
45
 
49
46
  # Agent roster — essence only. External skills (party-mode, retrospective,
50
47
  # advanced-elicitation, help catalog) read these descriptors to route, display,
@@ -0,0 +1,24 @@
1
+ # v6 Deprecation Shims
2
+
3
+ Skills in this folder are forwarders kept for backward compatibility with v6 skill IDs.
4
+ Each one holds no logic of its own — it forwards to the skill that replaced it, passing a
5
+ stated intent and pre-resolved customization fields so the target skips its own intent
6
+ inference.
7
+
8
+ | Shim | Forwards to |
9
+ | -------------------------- | ------------------------------------ |
10
+ | `bmad-create-prd` | `bmad-prd` (create intent) |
11
+ | `bmad-edit-prd` | `bmad-prd` (update intent) |
12
+ | `bmad-validate-prd` | `bmad-prd` (validate intent) |
13
+ | `bmad-create-architecture` | `bmad-architecture` (create intent) |
14
+ | `bmad-market-research` | `bmad-deep-recon` (market type) |
15
+ | `bmad-domain-research` | `bmad-deep-recon` (domain type) |
16
+ | `bmad-technical-research` | `bmad-deep-recon` (technical type) |
17
+
18
+ Enterprise users may still depend on these IDs, so they ship by default. Removal rides the
19
+ v7 cut — never a 6.x minor.
20
+
21
+ The folder is grouping only: the installer discovers skills recursively and installs each
22
+ one under its own `name`, so nesting here does not change any installed path or skill ID.
23
+ A future install option will let users include or exclude this folder before it is removed
24
+ outright.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-create-architecture
3
- description: 'DEPRECATEDconsolidated into bmad-architecture create intent - this skill will be removed in v7 in favor of `bmad-architecture`.'
3
+ description: 'Deprecatedforwards to bmad-architecture (create intent).'
4
4
  ---
5
5
 
6
6
  # DEPRECATED — forwards to bmad-architecture (create intent)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-create-prd
3
- description: 'DEPRECATEDconsolidated into bmad-prd create intent - this skill will be removed in v7 in favor of `bmad-prd`.'
3
+ description: 'Deprecatedforwards to bmad-prd (create intent).'
4
4
  ---
5
5
 
6
6
  # DEPRECATED — forwards to bmad-prd (create intent)
@@ -15,12 +15,12 @@ This skill was consolidated into `bmad-prd`. It is retained as a thin compatibil
15
15
 
16
16
  3. Emit a deprecation notice to the user in `{communication_language}`:
17
17
 
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/custom/bmad-create-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
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_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `external_sources`, `external_handoffs`, `prd_output_path`, `run_folder_pattern`), migrate `_bmad/custom/bmad-create-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
19
19
 
20
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:
21
21
 
22
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 `customize.toml` 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:
23
+ - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `customize.toml` for the four legacy fields. For everything else (`prd_template`, `validation_checklist_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `prd_output_path`, `run_folder_pattern`, `external_sources`, `external_handoffs`), use `bmad-prd`'s own defaults and overrides as normal:
24
24
  - `activation_steps_prepend` = the resolved value from step 1
25
25
  - `activation_steps_append` = the resolved value from step 1
26
26
  - `persistent_facts` = the resolved value from step 1
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: bmad-domain-research
3
+ description: 'Deprecated — forwards to bmad-deep-recon (domain type).'
4
+ ---
5
+
6
+ # DEPRECATED — forwards to bmad-deep-recon (domain type)
7
+
8
+ This skill was consolidated into `bmad-deep-recon`. It is retained as a thin compatibility shim so existing invocations by name and `_bmad/custom/bmad-domain-research.toml` override files keep working. New work should invoke `bmad-deep-recon` directly — it drafts deep-research prompts for outside tools, processes finished reports into downstream-ready summaries, and runs research directly, across market, domain, technical, competitive, user-voice, and academic-lit types (plus a select shape for choose-between decisions and custom types).
9
+
10
+ ## On Activation
11
+
12
+ 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. This picks up any `{project-root}/_bmad/custom/bmad-domain-research.toml` and `bmad-domain-research.user.toml` overrides for the legacy fields (`activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete`).
13
+ 2. Emit a deprecation notice to the user (in their configured communication language): `bmad-domain-research` is deprecated and forwards to `bmad-deep-recon` with the domain type. To silence this notice and access the full new surface (draft/process/run modes, research types, verification levels, HTML briefing, handoffs), migrate `_bmad/custom/bmad-domain-research.toml` to `_bmad/custom/bmad-deep-recon.toml` and invoke `bmad-deep-recon` directly.
14
+ 3. Invoke `bmad-deep-recon` with: **research type** `domain` (skip its type inference), the four legacy fields above as pre-resolved values, and the user's original input verbatim. `bmad-deep-recon` takes the workflow from here — do not execute any further steps in this shim.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-edit-prd
3
- description: 'DEPRECATEDconsolidated into bmad-prd update intent - this skill will be removed in v7 in favor of `bmad-prd`.'
3
+ description: 'Deprecatedforwards to bmad-prd (update intent).'
4
4
  ---
5
5
 
6
6
  # DEPRECATED — forwards to bmad-prd (update intent)
@@ -15,12 +15,12 @@ This skill was consolidated into `bmad-prd`. It is retained as a thin compatibil
15
15
 
16
16
  3. Emit a deprecation notice to the user in `{communication_language}`:
17
17
 
18
- > Notice: `bmad-edit-prd` is deprecated and will be removed in a future release. It now forwards to `bmad-prd` with update 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/custom/bmad-edit-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
18
+ > Notice: `bmad-edit-prd` is deprecated and will be removed in a future release. It now forwards to `bmad-prd` with update intent. To silence this notice and access the full new customization surface (`prd_template`, `validation_checklist_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `external_sources`, `external_handoffs`, `prd_output_path`, `run_folder_pattern`), migrate `_bmad/custom/bmad-edit-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
19
19
 
20
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:
21
21
 
22
22
  - **Intent:** `update` — skip `bmad-prd`'s usual intent detection step.
23
- - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `customize.toml` 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:
23
+ - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `customize.toml` for the four legacy fields. For everything else (`prd_template`, `validation_checklist_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `prd_output_path`, `run_folder_pattern`, `external_sources`, `external_handoffs`), use `bmad-prd`'s own defaults and overrides as normal:
24
24
  - `activation_steps_prepend` = the resolved value from step 1
25
25
  - `activation_steps_append` = the resolved value from step 1
26
26
  - `persistent_facts` = the resolved value from step 1
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: bmad-market-research
3
+ description: 'Deprecated — forwards to bmad-deep-recon (market type).'
4
+ ---
5
+
6
+ # DEPRECATED — forwards to bmad-deep-recon (market type)
7
+
8
+ This skill was consolidated into `bmad-deep-recon`. It is retained as a thin compatibility shim so existing invocations by name and `_bmad/custom/bmad-market-research.toml` override files keep working. New work should invoke `bmad-deep-recon` directly — it drafts deep-research prompts for outside tools, processes finished reports into downstream-ready summaries, and runs research directly, across market, domain, technical, competitive, user-voice, and academic-lit types (plus a select shape for choose-between decisions and custom types).
9
+
10
+ ## On Activation
11
+
12
+ 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. This picks up any `{project-root}/_bmad/custom/bmad-market-research.toml` and `bmad-market-research.user.toml` overrides for the legacy fields (`activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete`).
13
+ 2. Emit a deprecation notice to the user (in their configured communication language): `bmad-market-research` is deprecated and forwards to `bmad-deep-recon` with the market type. To silence this notice and access the full new surface (draft/process/run modes, research types, verification levels, HTML briefing, handoffs), migrate `_bmad/custom/bmad-market-research.toml` to `_bmad/custom/bmad-deep-recon.toml` and invoke `bmad-deep-recon` directly.
14
+ 3. Invoke `bmad-deep-recon` with: **research type** `market` (skip its type inference), the four legacy fields above as pre-resolved values, and the user's original input verbatim. `bmad-deep-recon` takes the workflow from here — do not execute any further steps in this shim.
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: bmad-technical-research
3
+ description: 'Deprecated — forwards to bmad-deep-recon (technical type).'
4
+ ---
5
+
6
+ # DEPRECATED — forwards to bmad-deep-recon (technical type)
7
+
8
+ This skill was consolidated into `bmad-deep-recon`. It is retained as a thin compatibility shim so existing invocations by name and `_bmad/custom/bmad-technical-research.toml` override files keep working. New work should invoke `bmad-deep-recon` directly — it drafts deep-research prompts for outside tools, processes finished reports into downstream-ready summaries, and runs research directly, across market, domain, technical, competitive, user-voice, and academic-lit types (plus a select shape for choose-between decisions and custom types).
9
+
10
+ ## On Activation
11
+
12
+ 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. This picks up any `{project-root}/_bmad/custom/bmad-technical-research.toml` and `bmad-technical-research.user.toml` overrides for the legacy fields (`activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete`).
13
+ 2. Emit a deprecation notice to the user (in their configured communication language): `bmad-technical-research` is deprecated and forwards to `bmad-deep-recon` with the technical type. To silence this notice and access the full new surface (draft/process/run modes, research types, verification levels, HTML briefing, handoffs), migrate `_bmad/custom/bmad-technical-research.toml` to `_bmad/custom/bmad-deep-recon.toml` and invoke `bmad-deep-recon` directly.
14
+ 3. Invoke `bmad-deep-recon` with: **research type** `technical` (skip its type inference), the four legacy fields above as pre-resolved values, and the user's original input verbatim. `bmad-deep-recon` takes the workflow from here — do not execute any further steps in this shim.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-validate-prd
3
- description: 'DEPRECATEDconsolidated into bmad-prd validate intent - this skill will be removed in v7 in favor of `bmad-prd`.'
3
+ description: 'Deprecatedforwards to bmad-prd (validate intent).'
4
4
  ---
5
5
 
6
6
  # DEPRECATED — forwards to bmad-prd (validate intent)
@@ -15,12 +15,12 @@ This skill was consolidated into `bmad-prd`. It is retained as a thin compatibil
15
15
 
16
16
  3. Emit a deprecation notice to the user in `{communication_language}`:
17
17
 
18
- > Notice: `bmad-validate-prd` is deprecated and will be removed in a future release. It now forwards to `bmad-prd` with validate 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/custom/bmad-validate-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
18
+ > Notice: `bmad-validate-prd` is deprecated and will be removed in a future release. It now forwards to `bmad-prd` with validate intent. To silence this notice and access the full new customization surface (`prd_template`, `validation_checklist_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `external_sources`, `external_handoffs`, `prd_output_path`, `run_folder_pattern`), migrate `_bmad/custom/bmad-validate-prd.toml` to `_bmad/custom/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/custom/bmad-prd.toml`, but the new version also supports additional fields that you can take advantage of by migrating.
19
19
 
20
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:
21
21
 
22
22
  - **Intent:** `validate` — skip `bmad-prd`'s usual intent detection step.
23
- - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `customize.toml` 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:
23
+ - **Pre-resolved legacy customization** — use these in place of resolving from `bmad-prd`'s own `customize.toml` for the four legacy fields. For everything else (`prd_template`, `validation_checklist_template`, `validation_report_template`, `doc_standards`, `finalize_reviewers`, `prd_output_path`, `run_folder_pattern`, `external_sources`, `external_handoffs`), use `bmad-prd`'s own defaults and overrides as normal:
24
24
  - `activation_steps_prepend` = the resolved value from step 1
25
25
  - `activation_steps_append` = the resolved value from step 1
26
26
  - `persistent_facts` = the resolved value from step 1
@@ -5,72 +5,39 @@ description: 'Push the LLM to reconsider, refine, and improve its recent output.
5
5
 
6
6
  # Advanced Elicitation
7
7
 
8
- **Goal:** Push the LLM to reconsider, refine, and improve its recent output.
8
+ You are BMad's shared refinement checkpoint: other skills invoke you at natural pauses to pressure the piece of work they just produced, and users call you directly on anything recent. The target is the most recent output in the conversation — a section, plan, draft, or decision — unless the caller or user points at something else. You offer a short menu of elicitation methods, run the chosen ones against the target, and hand back the improved version so the invoking flow resumes exactly where it paused. Work in the surrounding session's communication language.
9
9
 
10
- ---
11
-
12
- ## CRITICAL LLM INSTRUCTIONS
10
+ ## Conventions
13
11
 
14
- - **MANDATORY:** Execute ALL steps in the flow section IN EXACT ORDER
15
- - DO NOT skip steps or change the sequence
16
- - HALT immediately when halt-conditions are met
17
- - Each action within a step is a REQUIRED action to complete that step
18
- - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution
19
- - **YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the `communication_language`**
20
-
21
- ---
12
+ - Bare paths (e.g. `assets/methods.csv`) resolve from `{skill-root}` (where `customize.toml` lives); `{project-root}`-prefixed paths from the project working directory.
13
+ - `{workflow.<name>}` resolves to fields in the merged `customize.toml` `[workflow]` table.
22
14
 
23
- ## INTEGRATION (When Invoked Indirectly)
15
+ ## On Activation
24
16
 
25
- When invoked from another prompt or process:
26
-
27
- 1. Receive or review the current section content that was just generated
28
- 2. Apply elicitation methods iteratively to enhance that specific content
29
- 3. Return the enhanced version back when user selects 'x' to proceed and return back
30
- 4. The enhanced content replaces the original section content in the output document
31
-
32
- ---
17
+ 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, read `{skill-root}/customize.toml` directly and use defaults.
18
+ 2. Hold every `{workflow.preferences}` entry for the whole session, fix the target, and serve the first menu.
33
19
 
34
- ## FLOW
20
+ ## Serving the Catalog
35
21
 
36
- ### Step 1: Method Registry Loading
37
-
38
- **Action:** Load `./methods.csv` for elicitation methods. If party-mode may participate, resolve the agent roster via:
22
+ `scripts/pick_methods.py` serves the method catalog (num, category, method_name, description, output_pattern) so it never enters context whole — the one exception is [a], where the user asked for all of it. Invoke as:
39
23
 
40
24
  ```bash
41
- python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key agents
25
+ uv run {skill-root}/scripts/pick_methods.py --file {workflow.methods_file} <command>
42
26
  ```
43
27
 
44
- The resolver merges four layers in order: `_bmad/config.toml` (installer base, team-scoped), `_bmad/config.user.toml` (installer base, user-scoped), `_bmad/custom/config.toml` (team overrides), and `_bmad/custom/config.user.toml` (personal overrides). Each entry under `agents` is keyed by the agent's `code` and carries `name`, `title`, `icon`, `description`, `module`, and `team`.
45
-
46
- #### CSV Structure
47
-
48
- - **category:** Method grouping (core, structural, risk, etc.)
49
- - **method_name:** Display name for the method
50
- - **description:** Rich explanation of what the method does, when to use it, and why it's valuable
51
- - **output_pattern:** Flexible flow guide using arrows (e.g., "analysis -> insights -> action")
52
-
53
- #### Context Analysis
54
-
55
- - Use conversation history
56
- - Analyze: content type, complexity, stakeholder needs, risk level, and creative potential
57
-
58
- #### Smart Selection
28
+ If `{workflow.additional_methods}` is non-empty, add `--extra '<its entries as a JSON array>'` (or a path to a JSON file holding them) on every call, so custom methods are first-class in menus, reshuffles, and listings.
59
29
 
60
- 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential
61
- 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV
62
- 3. Select 5 methods: Choose methods that best match the context based on their descriptions
63
- 4. Balance approach: Include mix of foundational and specialized techniques as appropriate
30
+ - `categories` category names + counts, the cheap map.
31
+ - `list --category <cat> [--category <cat>]` the index for chosen categories; `--all` dumps the whole catalog, only for [a].
32
+ - `show <name-or-num> [...]` full rows by name or num.
33
+ - `random -n 5 --spread [--exclude <name>]...` a category-diverse random draw.
64
34
 
65
- ---
66
-
67
- ### Step 2: Present Options and Handle Responses
35
+ **First menu:** run `categories`, pick the 2–4 categories that fit the target (risk before a launch, technical for code, collaboration when stakeholders compete, creative when the content is flat), `list` them, and hand-pick five methods that attack the target from different angles — honoring `{workflow.preferences}`. **Reshuffle:** `random -n 5 --spread`, excluding everything already offered.
68
36
 
69
- #### Display Format
37
+ ## The Menu
70
38
 
71
39
  ```
72
40
  **Advanced Elicitation Options**
73
- _If party mode is active, agents will join in._
74
41
  Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed:
75
42
 
76
43
  1. [Method Name]
@@ -83,60 +50,16 @@ a. List all methods with descriptions
83
50
  x. Proceed / No Further Actions
84
51
  ```
85
52
 
86
- #### Response Handling
87
-
88
- **Case 1-5 (User selects a numbered method):**
89
-
90
- - Execute the selected method using its description from the CSV
91
- - Adapt the method's complexity and output format based on the current context
92
- - Apply the method creatively to the current section content being enhanced
93
- - Display the enhanced version showing what the method revealed or improved
94
- - **CRITICAL:** Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response.
95
- - **CRITICAL:** ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to follow the instructions given by the user.
96
- - **CRITICAL:** Re-present the same 1-5,r,x prompt to allow additional elicitations
97
-
98
- **Case r (Reshuffle):**
99
-
100
- - Select 5 random methods from methods.csv, present new list with same prompt format
101
- - When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being potentially the most useful for the document or section being discovered
102
-
103
- **Case x (Proceed):**
53
+ This menu is the interface other skills and their users rely on — keep its options and behavior stable. When party mode is active in the session, add `_Party mode is active — agents will join in._` under the heading. Handle the response:
104
54
 
105
- - Complete elicitation and proceed
106
- - Return the fully enhanced content back to the invoking skill
107
- - The enhanced content becomes the final version for that section
108
- - Signal completion back to the invoking skill to continue with next section
55
+ - **1–5** run that method (several numbers: in sequence), then re-present the menu.
56
+ - **r** reshuffle as above and re-present.
57
+ - **a** show the full catalog (`list --all`) as a compact table; a pick by name or number runs like a numbered choice.
58
+ - **x** done. The current enhanced version is final for this content: hand it back to the invoking skill as the replacement for what it had, and signal completion so it continues. If anything shown was never accepted, confirm what should carry over before returning.
59
+ - **Anything else** — treat as direction: apply it to the target and re-present the menu.
109
60
 
110
- **Case a (List All):**
61
+ ## Running a Method
111
62
 
112
- - List all methods with their descriptions from the CSV in a compact table
113
- - Allow user to select any method by name or number from the full list
114
- - After selection, execute the method as described in the Case 1-5 above
115
-
116
- **Case: Direct Feedback:**
117
-
118
- - Apply changes to current section content and re-present choices
119
-
120
- **Case: Multiple Numbers:**
121
-
122
- - Execute methods in sequence on the content, then re-offer choices
123
-
124
- ---
63
+ Use the method's description as its intent and its output_pattern as a flexible flow guide; scale depth to the target a paragraph gets a light pass, an architecture decision gets the full treatment. Each application works on the current enhanced version, so refinements compound. Show what the method revealed and the changes it proposes, then ask whether to apply them (y/n/other) and wait — never change the work without a yes; on no, drop the proposal entirely; any other reply is instruction to follow.
125
64
 
126
- ### Step 3: Execution Guidelines
127
-
128
- - **Method execution:** Use the description from CSV to understand and apply each method
129
- - **Output pattern:** Use the pattern as a flexible guide (e.g., "paths -> evaluation -> selection")
130
- - **Dynamic adaptation:** Adjust complexity based on content needs (simple to sophisticated)
131
- - **Creative application:** Interpret methods flexibly based on context while maintaining pattern consistency
132
- - Focus on actionable insights
133
- - **Stay relevant:** Tie elicitation to specific content being analyzed (the current section from the document being created unless user indicates otherwise)
134
- - **Identify personas:** For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory already
135
- - **Critical loop behavior:** Always re-offer the 1-5,r,a,x choices after each method execution
136
- - Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session
137
- - Each method application builds upon previous enhancements
138
- - **Content preservation:** Track all enhancements made during elicitation
139
- - **Iterative enhancement:** Each selected method (1-5) should:
140
- 1. Apply to the current enhanced version of the content
141
- 2. Show the improvements made
142
- 3. Return to the prompt for additional elicitations or completion
65
+ When a method casts personas (round tables, panels, debates), reuse party members already in the session if party mode is active; otherwise resolve installed agents on demand via `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key agents` (a four-layer merge of `_bmad/config.toml`, `config.user.toml`, and the two `_bmad/custom/` overrides; each entry keyed by agent code carries name, title, icon, description). If neither yields a fit, invent named viewpoints suited to the content.
@@ -0,0 +1,54 @@
1
+ # DO NOT EDIT -- overwritten on every update.
2
+ #
3
+ # Workflow customization surface for bmad-advanced-elicitation.
4
+ #
5
+ # Override files (not edited here):
6
+ # {project-root}/_bmad/custom/bmad-advanced-elicitation.toml (team)
7
+ # {project-root}/_bmad/custom/bmad-advanced-elicitation.user.toml (personal)
8
+
9
+ [workflow]
10
+
11
+ # --- Configurable below. Overrides merge per BMad structural rules: ---
12
+ # scalars: override wins • plain arrays: append
13
+ # arrays of tables keyed by `code`: matching key replaces, new keys append
14
+
15
+ # The elicitation method catalog served by scripts/pick_methods.py
16
+ # (columns: num,category,method_name,description,output_pattern). Swap the path
17
+ # in team/user TOML to ship a different catalog. Kept `{skill-root}`-anchored so
18
+ # it resolves regardless of the working directory (pick_methods.py is always
19
+ # invoked with `--file {workflow.methods_file}`).
20
+ methods_file = "{skill-root}/assets/methods.csv"
21
+
22
+ # Persistent preferences the refiner honors for every session — methods to
23
+ # favor or avoid, how pushback should land, house rules for applying changes.
24
+ # Literal sentences; append-merges, so team and personal preferences both apply.
25
+ #
26
+ # Examples (set in team/user override TOML):
27
+ # preferences = [
28
+ # "Lead with a risk-category method for anything touching production systems.",
29
+ # "Never offer roleplay or persona methods.",
30
+ # ]
31
+ preferences = []
32
+
33
+ # Extra methods — and whole new categories — merged into the catalog without
34
+ # editing the shipped CSV. Passed to pick_methods.py via --extra, so custom
35
+ # methods are first-class in every menu, reshuffle, and listing.
36
+ #
37
+ # Two keys, two jobs — keep them aligned:
38
+ # `code` is only the TOML merge key across override layers: a personal entry
39
+ # with the same code replaces the team one; new codes append.
40
+ # `method_name` is the catalog identity: an entry whose method_name matches a
41
+ # shipped method replaces it (retune its description or pattern; it keeps
42
+ # the shipped num), others append with new nums.
43
+ # To override another layer's entry, reuse its `code`. Two entries with
44
+ # different codes but the same method_name both survive the TOML merge, and
45
+ # only the later one reaches the catalog.
46
+ #
47
+ # Example (set in team/user override TOML):
48
+ # [[workflow.additional_methods]]
49
+ # code = "regulatory-inversion"
50
+ # category = "domain-specific"
51
+ # method_name = "Regulatory Inversion"
52
+ # description = "Start from the compliance constraint and ask what becomes possible only because of it - turns the rule into a generative frame"
53
+ # output_pattern = "constraint → possibilities → design"
54
+ additional_methods = []