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.
- package/.claude-plugin/marketplace.json +52 -27
- package/package.json +4 -3
- package/removals.txt +5 -0
- package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +19 -4
- package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +1 -1
- package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +5 -3
- package/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +2 -0
- package/src/bmm-skills/2-plan-workflows/bmad-prd/customize.toml +5 -3
- package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/SKILL.md +18 -3
- package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/assets/spec-template.md +1 -1
- package/src/bmm-skills/2-plan-workflows/bmad-spec/assets/stories-schema.md +44 -0
- package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/customize.toml +3 -4
- package/src/bmm-skills/2-plan-workflows/bmad-ux/customize.toml +4 -2
- package/src/bmm-skills/3-solutioning/bmad-architecture/SKILL.md +2 -2
- package/src/bmm-skills/3-solutioning/bmad-architecture/customize.toml +4 -2
- package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +3 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +2 -4
- package/src/bmm-skills/4-implementation/bmad-code-review/customize.toml +52 -0
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md +0 -1
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +10 -24
- package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-03-triage.md +3 -4
- package/src/bmm-skills/4-implementation/bmad-dev-auto/SKILL.md +33 -12
- package/src/bmm-skills/4-implementation/bmad-dev-auto/customize.toml +75 -0
- package/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md +4 -4
- package/src/bmm-skills/4-implementation/bmad-dev-auto/step-01-clarify-and-route.md +22 -4
- package/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md +5 -6
- package/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md +8 -4
- package/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md +13 -19
- package/src/bmm-skills/4-implementation/bmad-dev-story/customize.toml +3 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +6 -108
- package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +73 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/render.py +381 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/spec-template.md +2 -2
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-01-clarify-and-route.md +11 -13
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-02-plan.md +4 -9
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-03-implement.md +12 -4
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-04-review.md +8 -20
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +4 -4
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +12 -13
- package/src/bmm-skills/4-implementation/bmad-quick-dev/sync-sprint-status.md +6 -6
- package/src/bmm-skills/4-implementation/bmad-quick-dev/workflow.md +85 -0
- package/src/bmm-skills/module-help.csv +2 -4
- package/src/bmm-skills/module.yaml +2 -5
- package/src/bmm-skills/v6-shims/README.md +24 -0
- package/src/bmm-skills/{3-solutioning → v6-shims}/bmad-create-architecture/SKILL.md +1 -1
- package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-create-prd/SKILL.md +3 -3
- package/src/bmm-skills/v6-shims/bmad-domain-research/SKILL.md +14 -0
- package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-edit-prd/SKILL.md +3 -3
- package/src/bmm-skills/v6-shims/bmad-market-research/SKILL.md +14 -0
- package/src/bmm-skills/v6-shims/bmad-technical-research/SKILL.md +14 -0
- package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-validate-prd/SKILL.md +3 -3
- package/src/core-skills/bmad-advanced-elicitation/SKILL.md +26 -103
- package/src/core-skills/bmad-advanced-elicitation/customize.toml +54 -0
- package/src/core-skills/bmad-advanced-elicitation/scripts/pick_methods.py +233 -0
- package/src/core-skills/bmad-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
- package/src/core-skills/bmad-brainstorming/SKILL.md +3 -3
- package/src/core-skills/bmad-brainstorming/assets/brain-selector.html +2 -0
- package/src/core-skills/bmad-brainstorming/references/mode-autonomous.md +1 -1
- package/src/core-skills/bmad-brainstorming/scripts/brain.py +36 -6
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_brain.py +22 -0
- package/src/core-skills/bmad-customize/SKILL.md +2 -2
- package/src/core-skills/bmad-deep-recon/SKILL.md +82 -0
- package/src/core-skills/bmad-deep-recon/assets/research.template.md +18 -0
- package/src/core-skills/bmad-deep-recon/customize.toml +212 -0
- package/src/core-skills/bmad-deep-recon/references/draft.md +8 -0
- package/src/core-skills/bmad-deep-recon/references/finalize.md +11 -0
- package/src/core-skills/bmad-deep-recon/references/html-briefing.md +16 -0
- package/src/core-skills/bmad-deep-recon/references/lifecycle.md +11 -0
- package/src/core-skills/bmad-deep-recon/references/process.md +10 -0
- package/src/core-skills/bmad-deep-recon/references/run.md +73 -0
- package/src/core-skills/bmad-deep-recon/references/selection.md +13 -0
- package/src/core-skills/bmad-deep-recon/references/synthesis.md +16 -0
- package/src/core-skills/bmad-deep-recon/references/verification.md +29 -0
- package/src/core-skills/bmad-deep-recon/scripts/recon_kit.py +322 -0
- package/src/core-skills/bmad-deep-recon/scripts/tests/test_recon_kit.py +144 -0
- package/src/core-skills/bmad-deep-recon/types/academic-lit.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/competitive.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/domain.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/market.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/technical.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/user-voice.md +19 -0
- package/src/core-skills/bmad-forge-idea/SKILL.md +2 -2
- package/src/core-skills/bmad-forge-idea/scripts/resolve_personas.py +4 -1
- package/src/core-skills/bmad-help/SKILL.md +1 -1
- package/src/core-skills/bmad-party-mode/SKILL.md +2 -2
- package/src/core-skills/bmad-party-mode/scripts/resolve_party.py +11 -3
- package/src/core-skills/bmad-review/SKILL.md +49 -0
- package/src/core-skills/bmad-review/customize.toml +141 -0
- package/src/core-skills/bmad-review/references/editorial-common.md +56 -0
- package/src/core-skills/bmad-review/references/lens-adversarial.md +18 -0
- package/src/core-skills/bmad-review/references/lens-edge-case-hunter.md +54 -0
- package/src/core-skills/bmad-review/references/lens-prose.md +7 -0
- package/src/core-skills/bmad-review/references/lens-structure.md +9 -0
- package/src/core-skills/{bmad-review-verification-gap/SKILL.md → bmad-review/references/lens-verification-gap.md} +15 -39
- package/src/core-skills/bmad-review/references/structure-models.md +44 -0
- package/src/core-skills/bmad-review/scripts/tests/test_word_metrics.py +62 -0
- package/src/core-skills/bmad-review/scripts/word_metrics.py +102 -0
- package/src/core-skills/module-help.csv +3 -7
- package/src/core-skills/module.yaml +5 -0
- package/src/core-skills/v6-shims/README.md +25 -0
- package/src/core-skills/v6-shims/bmad-editorial-review/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-editorial-review/customize.toml +31 -0
- package/src/core-skills/v6-shims/bmad-editorial-review-prose/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-editorial-review-structure/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-adversarial-general/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-edge-case-hunter/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-verification-gap/SKILL.md +6 -0
- package/tools/installer/ide/platform-codes.yaml +7 -0
- package/tools/installer/modules/custom-module-manager.js +12 -6
- package/tools/installer/modules/external-manager.js +12 -8
- package/tools/installer/modules/git-env.js +47 -0
- package/tools/skill-validator.md +11 -1
- package/tools/validate-skills.js +33 -0
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +0 -96
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +0 -41
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +0 -137
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -229
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -238
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -206
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -234
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -450
- package/src/bmm-skills/1-analysis/research/bmad-domain-research/research.template.md +0 -29
- package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +0 -96
- package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +0 -41
- package/src/bmm-skills/1-analysis/research/bmad-market-research/research.template.md +0 -29
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-01-init.md +0 -184
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +0 -239
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +0 -251
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +0 -261
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +0 -173
- package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +0 -484
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +0 -96
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +0 -41
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/research.template.md +0 -29
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +0 -137
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -239
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -248
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -202
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -233
- package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -493
- package/src/core-skills/bmad-brainstorming/analysis/catalog-analysis.md +0 -239
- package/src/core-skills/bmad-brainstorming/analysis/method-matrix.csv +0 -109
- package/src/core-skills/bmad-editorial-review-prose/SKILL.md +0 -86
- package/src/core-skills/bmad-editorial-review-structure/SKILL.md +0 -179
- package/src/core-skills/bmad-index-docs/SKILL.md +0 -66
- package/src/core-skills/bmad-review-adversarial-general/SKILL.md +0 -37
- package/src/core-skills/bmad-review-edge-case-hunter/SKILL.md +0 -73
- package/src/core-skills/bmad-review-edge-case-hunter/references/deletion-check.md +0 -14
- package/src/core-skills/bmad-shard-doc/SKILL.md +0 -105
- /package/src/{core-skills → bmm-skills/2-plan-workflows}/bmad-spec/assets/headless-schemas.md +0 -0
- /package/src/bmm-skills/{3-solutioning → v6-shims}/bmad-create-architecture/customize.toml +0 -0
- /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-create-prd/customize.toml +0 -0
- /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-edit-prd/customize.toml +0 -0
- /package/src/bmm-skills/{2-plan-workflows → v6-shims}/bmad-validate-prd/customize.toml +0 -0
- /package/src/core-skills/bmad-advanced-elicitation/{methods.csv → assets/methods.csv} +0 -0
- /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
|
-
-
|
|
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 `
|
|
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
|
-
|
|
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
|
-
|
|
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 `
|
|
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 `
|
|
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
|
-
|
|
76
|
+
If anything appears below, follow it as the final terminal instruction before exiting; otherwise exit normally.
|
|
78
77
|
|
|
79
|
-
|
|
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 `
|
|
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
|
-
- `
|
|
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 `
|
|
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 `
|
|
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,
|
|
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
|
-
#
|
|
44
|
-
|
|
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: '
|
|
3
|
+
description: 'Deprecated — forwards 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: '
|
|
3
|
+
description: 'Deprecated — forwards 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`, `
|
|
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`, `
|
|
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: '
|
|
3
|
+
description: 'Deprecated — forwards 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`, `
|
|
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`, `
|
|
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: '
|
|
3
|
+
description: 'Deprecated — forwards 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`, `
|
|
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`, `
|
|
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
|
-
|
|
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
|
-
-
|
|
15
|
-
-
|
|
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
|
-
##
|
|
15
|
+
## On Activation
|
|
24
16
|
|
|
25
|
-
|
|
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
|
-
##
|
|
20
|
+
## Serving the Catalog
|
|
35
21
|
|
|
36
|
-
|
|
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
|
-
|
|
25
|
+
uv run {skill-root}/scripts/pick_methods.py --file {workflow.methods_file} <command>
|
|
42
26
|
```
|
|
43
27
|
|
|
44
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
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
|
-
|
|
61
|
+
## Running a Method
|
|
111
62
|
|
|
112
|
-
|
|
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
|
-
|
|
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 = []
|