bmad-method 6.6.1-next.7 → 6.6.1-next.9

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 (67) hide show
  1. package/README.md +3 -3
  2. package/evals/bmm-skills/bmad-product-brief/evals.json +24 -55
  3. package/package.json +4 -4
  4. package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +18 -17
  5. package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +30 -2
  6. package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/customize.toml +3 -13
  7. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +16 -90
  8. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +16 -88
  9. package/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +90 -0
  10. package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/headless-schemas.md +76 -0
  11. package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-template.md +158 -0
  12. package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/prd-validation-checklist.md +30 -0
  13. package/src/bmm-skills/2-plan-workflows/bmad-prd/assets/validation-report-template.html +190 -0
  14. package/src/bmm-skills/2-plan-workflows/bmad-prd/customize.toml +113 -0
  15. package/src/bmm-skills/2-plan-workflows/bmad-prd/references/facilitation-guide.md +79 -0
  16. package/src/bmm-skills/2-plan-workflows/bmad-prd/references/headless.md +24 -0
  17. package/src/bmm-skills/2-plan-workflows/bmad-prd/references/validation-render.md +58 -0
  18. package/src/bmm-skills/2-plan-workflows/bmad-prd/scripts/render-validation-html.py +290 -0
  19. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +16 -90
  20. package/src/bmm-skills/module-help.csv +2 -4
  21. package/src/core-skills/bmad-customize/SKILL.md +1 -1
  22. package/src/core-skills/bmad-help/SKILL.md +2 -2
  23. package/tools/installer/prompts.js +149 -0
  24. package/tools/installer/ui.js +1 -1
  25. package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/distillate.md +0 -28
  26. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/data/domain-complexity.csv +0 -15
  27. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/data/prd-purpose.md +0 -197
  28. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/data/project-types.csv +0 -11
  29. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-01-init.md +0 -186
  30. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-01b-continue.md +0 -161
  31. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-02-discovery.md +0 -210
  32. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-02b-vision.md +0 -142
  33. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -158
  34. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-03-success.md +0 -214
  35. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-04-journeys.md +0 -201
  36. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-05-domain.md +0 -194
  37. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-06-innovation.md +0 -211
  38. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-07-project-type.md +0 -222
  39. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-08-scoping.md +0 -263
  40. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-09-functional.md +0 -219
  41. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -230
  42. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-11-polish.md +0 -221
  43. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-12-complete.md +0 -121
  44. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/templates/prd-template.md +0 -10
  45. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/data/prd-purpose.md +0 -197
  46. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md +0 -242
  47. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +0 -204
  48. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md +0 -245
  49. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md +0 -250
  50. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +0 -165
  51. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv +0 -15
  52. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md +0 -197
  53. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/data/project-types.csv +0 -11
  54. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -221
  55. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -188
  56. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -206
  57. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -171
  58. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -211
  59. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -225
  60. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -214
  61. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -202
  62. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -240
  63. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -260
  64. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -206
  65. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -261
  66. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -239
  67. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -230
@@ -1,102 +1,30 @@
1
1
  ---
2
2
  name: bmad-edit-prd
3
- description: 'Edit an existing PRD. Use when the user says "edit this PRD".'
3
+ description: 'DEPRECATED consolidated into bmad-prd update intent - this skill will be removed in v7 in favor of `bmad-prd`.'
4
4
  ---
5
5
 
6
- # PRD Edit Workflow
6
+ # DEPRECATED forwards to bmad-prd (update intent)
7
7
 
8
- **Goal:** Edit and improve existing PRDs through structured enhancement workflow.
9
-
10
- **Your Role:** PRD improvement specialist.
11
-
12
- You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
13
-
14
- ## Conventions
15
-
16
- - Bare paths (e.g. `steps-e/step-e-01-discovery.md`) resolve from the skill root.
17
- - `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
18
- - `{project-root}`-prefixed paths resolve from the project working directory.
19
- - `{skill-name}` resolves to the skill directory's basename.
20
-
21
- ## WORKFLOW ARCHITECTURE
22
-
23
- This uses **step-file architecture** for disciplined execution:
24
-
25
- ### Core Principles
26
-
27
- - **Micro-file Design**: Each step is a self-contained instruction file that is a part of an overall workflow that must be followed exactly
28
- - **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
29
- - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
30
- - **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
31
- - **Append-Only Building**: Build documents by appending content as directed to the output file
32
-
33
- ### Step Processing Rules
34
-
35
- 1. **READ COMPLETELY**: Always read the entire step file before taking any action
36
- 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
37
- 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
38
- 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
39
- 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
40
- 6. **LOAD NEXT**: When directed, read fully and follow the next step file
41
-
42
- ### Critical Rules (NO EXCEPTIONS)
43
-
44
- - 🛑 **NEVER** load multiple step files simultaneously
45
- - 📖 **ALWAYS** read entire step file before execution
46
- - 🚫 **NEVER** skip steps or optimize the sequence
47
- - 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
48
- - 🎯 **ALWAYS** follow the exact instructions in the step file
49
- - ⏸️ **ALWAYS** halt at menus and wait for user input
50
- - 📋 **NEVER** create mental todo lists from future steps
8
+ This skill was consolidated into `bmad-prd`. It is retained as a thin compatibility shim so existing invocations by name and `_bmad/custom/bmad-edit-prd.toml` override files keep working. New work should invoke `bmad-prd` directly — it detects create / update / validate intent from the conversation.
51
9
 
52
10
  ## On Activation
53
11
 
54
- ### Step 1: Resolve the Workflow Block
55
-
56
- Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`
57
-
58
- **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
59
-
60
- 1. `{skill-root}/customize.toml` — defaults
61
- 2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
62
- 3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
63
-
64
- Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
65
-
66
- ### Step 2: Execute Prepend Steps
67
-
68
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
69
-
70
- ### Step 3: Load Persistent Facts
71
-
72
- Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
73
-
74
- ### Step 4: Load Config
75
-
76
- Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
77
- - Use `{user_name}` for greeting
78
- - Use `{communication_language}` for all communications
79
- - Use `{document_output_language}` for output documents
80
- - Use `{planning_artifacts}` for output location and artifact scanning
81
- - Use `{project_knowledge}` for additional context scanning
82
-
83
- ### Step 5: Greet the User
84
-
85
- Greet `{user_name}`, speaking in `{communication_language}`.
86
-
87
- ### Step 6: Execute Append Steps
88
-
89
- Execute each entry in `{workflow.activation_steps_append}` in order.
12
+ 1. Resolve customization: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. This picks up any `{project-root}/_bmad/custom/bmad-edit-prd.toml` and `bmad-edit-prd.user.toml` overrides for the legacy fields (`activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete`).
90
13
 
91
- Activation is complete. Begin the workflow below.
14
+ 2. Load `{project-root}/_bmad/bmm/config.yaml` (and `config.user.yaml` if present) to resolve `{user_name}` and `{communication_language}`.
92
15
 
93
- ## Execution
16
+ 3. Emit a deprecation notice to the user in `{communication_language}`:
94
17
 
95
- YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
96
- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
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.
97
19
 
98
- **Edit Mode: Improving an existing PRD.**
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:
99
21
 
100
- Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
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:
24
+ - `activation_steps_prepend` = the resolved value from step 1
25
+ - `activation_steps_append` = the resolved value from step 1
26
+ - `persistent_facts` = the resolved value from step 1
27
+ - `on_complete` = the resolved value from step 1
28
+ - **Original user input:** forward whatever the user said when invoking this skill verbatim (the target PRD path, the change signal, etc.).
101
29
 
102
- Then read fully and follow: `./steps-e/step-e-01-discovery.md`
30
+ `bmad-prd` takes the workflow from here. Do not execute any further steps in this shim.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: bmad-prd
3
+ description: Create, update, validate, or analyze a PRD. Use when the user wants help producing, editing, validating, or analyzing a PRD.
4
+ ---
5
+ # BMad PRD
6
+
7
+ ## Overview
8
+
9
+ You are an expert PM facilitator. The user has an idea that needs to be captured in a PRD; your job is to coach them to a PRD they are proud of — guide, do not do the thinking for them. Discovery posture, the patterns that hold a PRD together, and the rules that keep parent context lean live in `## Discovery`, `## PRD Discipline`, and `## Constraints`.
10
+
11
+ At the opening greeting, let the user know they can invoke the skills `bmad-party-mode` for multi-agent perspectives or `bmad-advanced-elicitation` for deeper exploration at any point.
12
+
13
+ ## On Activation
14
+
15
+ 1. Resolve customization: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, surface the diagnostic and halt.
16
+ 2. Execute each entry in `{workflow.activation_steps_prepend}` in order.
17
+ 3. Treat every entry in `{workflow.persistent_facts}` as foundational context. Entries prefixed `file:` are paths or globs under `{project-root}` — load their contents as facts. All others are facts verbatim.
18
+ 4. Note `{workflow.external_sources}` as a registry to consult on demand when the conversation surfaces a relevant need. Do not query preemptively. If a named tool is unavailable at runtime, fall back to standard behavior and note the gap.
19
+ 5. Load `{project-root}/_bmad/bmm/config.yaml` (and `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`.
20
+ 6. Detect mode and intent. If headless (no interactive user), read `references/headless.md` and follow it for the whole run with matched intent. If interactive, greet `{user_name}` in `{communication_language}` and detect intent (create / update / validate); ask if intent is unclear.
21
+ 7. Execute each entry in `{workflow.activation_steps_append}` in order.
22
+
23
+ ## Intent Operating Modes
24
+
25
+ **Create.** A PRD the user is proud of, drawn out through real conversation. Discovery first, drafting second. Bind `{doc_workspace}` to a fresh folder at `{workflow.output_dir}/{workflow.output_folder_name}/` and write `prd.md` there with YAML frontmatter (title, created, updated). Version and state transitions live in `decision-log.md`. For Update and Validate, `{doc_workspace}` is the existing folder of the PRD being targeted. When drafting is complete, proceed to `## Finalize`.
26
+
27
+ **Update.** Reconcile an existing PRD with a change signal. Orient via source extractors (see `## Constraints` → Extract, don't ingest) against the PRD, addendum, `decision-log.md`, and original inputs — then run the `## Discovery` posture against the change signal. Surface conflicts with prior decisions before changing. If the change is fundamental, offer Create instead of patching. When changes are applied, proceed to `## Finalize`.
28
+
29
+ **Validate** (or *analyze*). Critique an existing PRD against `{workflow.validation_checklist}`. Standalone — does NOT enter `## Finalize`. Orient via source extractors against `decision-log.md` and any original inputs to give the validator context. Spawn the validator subagent against `prd.md` (and `addendum.md` if present); produce findings and a validation report per `references/validation-render.md`. Always offer to roll findings into an Update.
30
+
31
+ ## Discovery
32
+
33
+ Open with space for the full picture: invite a brain dump, inputs, ideas, WHY they are doing this. Read what exists first; ask only what is missing. After the dump, a simple "anything else?" often surfaces what they almost forgot.
34
+
35
+ Before drafting, read the situation across four dimensions — they determine the PRD's shape:
36
+
37
+ - **Stakes.** Calibrates rigor, section depth, and which adapt-in clusters apply.
38
+ - **Audience.** Drives tone, evidence requirements, and approval sections.
39
+ - **Existing inputs.** Existing artifacts mean those parts of the PRD reference, not relitigate. When project-context, prior PRDs, or existing UX/architecture are present, this is brownfield — frame Discovery around what is new or changing.
40
+ - **Downstream depth.** Whole spec for a small build, or top of a chain through UX → architecture → epics → stories? Affects how much the PRD encodes vs. defers.
41
+
42
+ **Right-skill check.** Once the situation is read, sanity-check that PRD is the best tool. Three cases where it isn't:
43
+
44
+ - **Games** → suggest `bmad-gds` for the Game Design Document.
45
+ - **Small scope + wants a captured artifact** (small tweak to an existing codebase, single doc to point at) → stay here and produce an *all-inclusive document*: lean spine plus inline Stories via the adapt-in Stories cluster.
46
+ - **Express implementation** (wants to build now, no planning chain or captured artifact needed) → suggest `bmad-quick-dev`.
47
+
48
+ Surface these honestly and let the user choose; if they prefer this skill anyway, proceed with the right-sized version.
49
+
50
+ Coach, do not quiz. Push hardest on PRD Discipline risks — unexamined assumptions, capability-vs-implementation confusion, term drift, scope creep, ambiguity for downstream readers. Suggest research if needed and have subagents use web search tools as needed.
51
+
52
+ **Working mode.** Once the situational read is complete, offer the user a choice before proceeding — one sentence per option:
53
+
54
+ - **Express:** resolve any remaining critical gaps in a short batch, then draft the full PRD at once.
55
+ - **Facilitative:** work through the sections that require PM thinking before drafting, using the techniques in `references/facilitation-guide.md`. Capture all decisions in the log, section to section. Draft after the key sections are walked. The goal is that the user has authored the thinking — not just answered intake questions.
56
+
57
+ In both modes, resolve decisions conversationally rather than silently deferring them into `[ASSUMPTION]` tags. Only use `[ASSUMPTION]` when the answer requires research or external input the PM cannot provide in the moment.
58
+
59
+ ## PRD Discipline
60
+
61
+ - **Features grouped, FRs nested.** Features open with behavioral description; FRs nested and numbered globally for stable IDs. Cross-cutting NFRs in their own section; skip traceability matrices.
62
+ - **Capabilities, not implementation.** FRs describe what users or systems can do, not how. Tech choices go in addendum.
63
+ - **No innovation theater.** Don't fabricate novelty; add a differentiation section only when Discovery surfaced something genuinely novel.
64
+ - **Personas, when used, are research-grounded or marked `[ILLUSTRATIVE]`.** Invented detail is *persona theater* — false specificity the team builds for. Personas must drive decisions; two to four max.
65
+ - **Domain awareness.** Regulatory or compliance constraints surface in the PRD, not deferred to architecture.
66
+ - **Right-size to purpose.** Section depth and adapt-in clusters follow project type and stakes — the template's adapt-in menu names the standard clusters.
67
+ - **Non-Goals explicit.** Pair with inline `[NON-GOAL for MVP]` and `[v2 — out of MVP]` callouts so omissions aren't silently assumed.
68
+ - **Never silently de-scope.** Nothing the user explicitly included drops without asking. Propose phasing; never impose it.
69
+ - **Counter-metrics named.** When Success Metrics is present, name what NOT to optimize.
70
+ - **Assumptions visible.** Inferences without direct user confirmation are tagged `[ASSUMPTION: ...]` inline and indexed at the end.
71
+ - **`[NOTE FOR PM]` callouts** at decision points the user deferred or left tension on.
72
+
73
+ ## Constraints
74
+
75
+ - **Persistence is near real-time.** Create the workspace (`prd.md` skeleton, `decision-log.md`) on disk the moment Create intent is confirmed; tell the user the path.
76
+ - **File roles.** `decision-log.md` — every decision, change, and version transition, in real time. `addendum.md` — depth that doesn't fit PRD shape: rejected alternatives, technical detail, ops/cost, competitive analysis. Capture technical-how detail to addendum immediately when the user volunteers it.
77
+ - **Continuity across sessions.** If a prior draft exists in `{workflow.output_dir}`, offer to resume; surface open items first.
78
+ - **Extract, don't ingest.** Never load source documents into the parent context wholesale. Delegate to subagents to extract what's relevant; the parent assembles from extracts.
79
+ - **Downstream workflows run in fresh context.** This skill's output is `prd.md` (and optional `addendum.md`). Never invoke downstream workflows or produce separate handoff artifacts.
80
+
81
+ ## Finalize
82
+
83
+ 1. Decision log audit: walk `decision-log.md` with the user — each entry captured in PRD, in addendum, or set aside.
84
+ 2. Input reconciliation: subagent per user-supplied input against `prd.md` + `addendum.md`; surface gaps, especially qualitative ideas (tone, voice, feel) the FR structure silently drops. Must happen before polish.
85
+ 3. Discipline pass: validator subagent against `prd.md` with `{workflow.validation_checklist}`. Findings stay in-conversation — autofix obvious issues, ask on ambiguous ones. No report file is written. Resolve before polish.
86
+ 4. Open-items review: triage all Open Questions, `[ASSUMPTION]` tags, and `[NOTE FOR PM]` callouts. Surface only phase-blockers one at a time; resolve before calling the PRD ready. Log deferred items to `decision-log.md`. If phase-blocking count is high, flag it.
87
+ 5. Polish: apply `{workflow.doc_standards}` to `prd.md` and `addendum.md` via parallel subagents.
88
+ 6. External handoffs: execute `{workflow.external_handoffs}` entries; surface returned URLs/IDs. Skip and flag unavailable tools.
89
+ 7. Record finalization to `decision-log.md`. Share all artifact paths. Invoke `bmad-help` to share possible steps.
90
+ 8. Run `{workflow.on_complete}` if non-empty.
@@ -0,0 +1,76 @@
1
+ # Headless Mode JSON Schemas
2
+
3
+ Every headless run ends with one of these payloads. Omit keys for artifacts not produced.
4
+
5
+ ## Common fields
6
+
7
+ - `status` — `"complete"`, `"blocked"`, or `"partial"`
8
+ - `intent` — `"create"`, `"update"`, or `"validate"` (matches the detected intent)
9
+ - `reason` — required when `status` is `"blocked"`; one-sentence explanation
10
+ - `assumptions` — array of inferred values that were not directly confirmed by inputs
11
+ - `open_questions` — array of items that need a human decision before the artifact can be considered final
12
+
13
+ ## Create
14
+
15
+ ```json
16
+ {
17
+ "status": "complete",
18
+ "intent": "create",
19
+ "prd": "{doc_workspace}/prd.md",
20
+ "addendum": "{doc_workspace}/addendum.md",
21
+ "decision_log": "{doc_workspace}/decision-log.md",
22
+ "open_questions": [],
23
+ "assumptions": [],
24
+ "external_handoffs": [
25
+ {"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
26
+ ]
27
+ }
28
+ ```
29
+
30
+ ## Update
31
+
32
+ ```json
33
+ {
34
+ "status": "complete",
35
+ "intent": "update",
36
+ "prd": "{doc_workspace}/prd.md",
37
+ "decision_log": "{doc_workspace}/decision-log.md",
38
+ "changes_summary": "1-3 sentences describing what changed and why",
39
+ "conflicts_with_prior_decisions": [],
40
+ "open_questions": [],
41
+ "external_handoffs": [
42
+ {"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
43
+ ]
44
+ }
45
+ ```
46
+
47
+ ## Validate
48
+
49
+ ```json
50
+ {
51
+ "status": "complete",
52
+ "intent": "validate",
53
+ "validation_report": "{doc_workspace}/validation-report.md",
54
+ "findings_summary": {
55
+ "critical": 0,
56
+ "high": 0,
57
+ "medium": 0,
58
+ "low": 0
59
+ },
60
+ "offer_to_update": true
61
+ }
62
+ ```
63
+
64
+ `validation_report` is always written for Validate intent — the path here is required, not optional.
65
+
66
+ ## Blocked
67
+
68
+ ```json
69
+ {
70
+ "status": "blocked",
71
+ "intent": "update",
72
+ "reason": "Change signal ambiguous — could be a scope expansion or a clarification; no inferred direction"
73
+ }
74
+ ```
75
+
76
+ Always include the intent (best-guess if not certain) and a one-sentence `reason`.
@@ -0,0 +1,158 @@
1
+ # PRD Template — A Menu, Not a Skeleton
2
+
3
+ This is a menu of sections the facilitator picks from based on what the product, the stakes, the audience, and the existing inputs actually need. Hobby projects use the essential spine and stop. Enterprise initiatives, regulated submissions, and consumer launches add clusters from the adapt-in menu below. **Never include a section just because it appears here.** Drop, reorder, rename, combine — whatever the PRD needs.
4
+
5
+ ---
6
+
7
+ ## Essential Spine *(almost always present)*
8
+
9
+ ```markdown
10
+ ---
11
+ title: {Product Name}
12
+ created: {YYYY-MM-DD}
13
+ updated: {YYYY-MM-DD}
14
+ ---
15
+
16
+ # PRD: {Product Name}
17
+ *Working title — confirm.*
18
+
19
+ ## 0. Document Purpose
20
+ [1 paragraph: who this PRD is for (PM, stakeholders, downstream workflow owners), how it's structured (Glossary-anchored vocabulary, features grouped with FRs nested, assumptions tagged inline and indexed). If UX work or other inputs already exist, name them here and reference where they live — this PRD builds on them, it does not duplicate.]
21
+
22
+ ## 1. Vision
23
+ [2-3 paragraphs: what this is, what it does for the user, why it matters. Compelling enough to stand alone.]
24
+
25
+ ## 2. Target User
26
+
27
+ ### 2.1 Primary Persona
28
+ [Vivid but tight. Who they are, how this product fits their context.]
29
+
30
+ ### 2.2 Jobs To Be Done
31
+ [Bulleted. Emotional, social, functional, contextual — whichever apply. Even "this is for me as the builder" is a valid persona for a hobby project.]
32
+
33
+ ### 2.3 Non-Users (v1) *(add when the audience boundary is non-obvious)*
34
+ [Who this is explicitly not for in v1.]
35
+
36
+ ### 2.4 Key User Journeys
37
+ *Named flows the product enables — one line each, numbered globally as UJ-1 through UJ-N for downstream traceability. Detailed flow design (steps, screens, edge flows) is the job of the UX workflow, not this PRD. Features in §4 may reference journeys by ID inline ("realizes UJ-3").*
38
+
39
+ - **UJ-1** — [Named flow, one line: who does what, to what end.]
40
+ - **UJ-2** — ...
41
+
42
+ [For hobby/utility projects, 1-3 journeys may be enough. For complex multi-feature products (onboarding, checkout, multi-step approvals), expand. For libraries/CLIs with minimal flow, reduce to a single line or collapse into §2.2 JTBD.]
43
+
44
+ ## 3. Glossary
45
+ *Downstream workflows and readers must use these terms exactly.*
46
+
47
+ - **Term** — Definition. Relationships to other Glossary terms. Cardinality where relevant.
48
+ - **Term** — ...
49
+
50
+ [Every domain noun the rest of the document uses. Defined once. No synonyms anywhere else in the PRD.]
51
+
52
+ ## 4. Features
53
+ *Each subsection is a coherent feature: behavioral description first, FRs nested under it, optional feature-specific NFRs and notes. FRs are numbered globally (FR-1 through FR-N) so downstream artifacts have stable references even if features get reorganized. Reference user journeys by ID inline ("realizes UJ-2") where the chain matters.*
54
+
55
+ ### 4.1 {Feature Name}
56
+ **Description:** [Behavioral narrative — how this feature works, who uses it, the user experience, edge cases. Use Glossary terms exactly. Embed inline `[ASSUMPTION: ...]` tags where you inferred without confirmation.]
57
+
58
+ **Functional Requirements:**
59
+ - **FR-1** — [Actor] can [capability] [under conditions / with measurement].
60
+ - **FR-2** — ...
61
+
62
+ **Feature-specific NFRs:** *(only if any apply uniquely to this feature)*
63
+ - Performance / security / accessibility / etc. specific to this feature.
64
+
65
+ **Notes:** *(optional — open questions specific to this feature, `[NOTE FOR PM]` callouts)*
66
+
67
+ ### 4.2 {Feature Name}
68
+ ...
69
+
70
+ ## 5. Non-Goals (Explicit)
71
+ [Bulleted. What this product is *not* and what it will *not* do in v1. Does outsized work for downstream readers and workflows — prevents the "let me also add this nearby thing" failure mode at every level (epic, ticket, code). Inline `[NON-GOAL for MVP]` callouts within §4 Features cover deferred items within features; this section captures the broader "we are not building X / we are not becoming Y" statements.]
72
+
73
+ ## 6. MVP Scope
74
+
75
+ ### 6.1 In Scope
76
+ [Bulleted, crisp.]
77
+
78
+ ### 6.2 Out of Scope for MVP
79
+ [Bulleted. Each item with a one-line reason if the reason matters. Mark items deferred to v2/v3 explicitly. Add `[NOTE FOR PM]` callouts where a deferred item is emotionally load-bearing — flags it for revisit if timeline permits.]
80
+
81
+ ## 7. Success Metrics
82
+
83
+ **Primary**
84
+ - Metric — definition, target.
85
+
86
+ **Secondary**
87
+ - Metric — definition, target.
88
+
89
+ **Counter-metrics (do not optimize)**
90
+ - Metric — why this should *not* be optimized.
91
+
92
+ [Length scales with stakes. Hobby/utility PRD: a single sentence may be enough ("Success: I use this weekly and don't abandon it after a month"). Public launch / enterprise: full quantitative breakdown with measurement methods. Counter-metrics are as load-bearing as primary metrics — they prevent the architect from optimizing the wrong thing and the dev from gaming the wrong target.]
93
+
94
+ ## 8. Open Questions
95
+ [Numbered. Things still unknown — they become future tickets or follow-up research, not silent gaps.]
96
+
97
+ ## 9. Assumptions Index
98
+ *Every `[ASSUMPTION]` from the document, surfaced for explicit confirmation:*
99
+ - Inline assumption from §X.Y — short description.
100
+ - ...
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Adapt-In Menu *(add the clusters the product calls for)*
106
+
107
+ ### Cross-cutting quality and shape *(most non-trivial PRDs)*
108
+ - **Cross-Cutting NFRs** — system-wide non-functional requirements not tied to a single feature (performance, security, reliability, observability). Add when system-wide quality attributes are meaningful.
109
+ - **Constraints and Guardrails** — Safety, Privacy, Cost. Subsection per cluster. Add when any of these are real concerns.
110
+ - **Why Now** — add when timing is load-bearing (a market shift, a technology enabler, a regulatory deadline). Drop when timing is incidental.
111
+
112
+ ### Consumer / branded products
113
+ - **Aesthetic and Tone** — visual references, anti-references, voice/tone for any product-generated text.
114
+ - **Information Architecture** — top-level surfaces, navigation, screens.
115
+ - **Monetization** — free vs. paid, pricing assumptions, ads policy.
116
+ - **Platform** — web, mobile, PWA, native, v1 vs. v2+.
117
+
118
+ ### Enterprise initiatives
119
+ - **Stakeholders and Approvals** — who must sign off, at what stage.
120
+ - **Risk and Mitigations** — operational, security, business, reputational risk register.
121
+ - **ROI / Business Case** — quantified benefit, cost, payback period.
122
+ - **Operational Requirements** — SLAs, RTO/RPO, support tier, on-call expectations.
123
+ - **Integration and Dependencies** — SSO, existing enterprise systems, data sources, downstream consumers.
124
+ - **Rollout and Change Management** — phased rollout plan, training, internal communication.
125
+ - **Data Governance** — residency, sovereignty, classification, retention.
126
+ - **Audit Trail / Decision Provenance** — formal documentation requirements for regulated environments.
127
+
128
+ ### Regulated domains
129
+ - **Compliance and Regulatory** — HIPAA, PCI-DSS, GDPR, SOX, SOC 2, Section 508 / WCAG 2.1 AA, FedRAMP, etc. — whichever apply. If any item needs depth, add a `[NOTE FOR PM]` callout to revisit or move to an addendum.
130
+
131
+ ### Developer products (libraries, APIs, CLIs, SDKs)
132
+ - **API Contracts / Public Surface** — endpoint shapes, breaking change policy.
133
+ - **Versioning and Deprecation Policy**.
134
+ - **Performance Budgets** — latency, throughput, resource use.
135
+ - **Language / Runtime Targets and Dependency Policy**.
136
+
137
+ ### Embedded / hardware
138
+ - **Hardware Constraints** — memory, power, form factor.
139
+ - **Deployment and Update Mechanism** — OTA, manual, image-based.
140
+ - **Environmental and Reliability Requirements**.
141
+
142
+ ### Small-scope all-inclusive *(use when scope is 1-2 stories' worth and the user wants a single captured artifact — chosen during the Right-skill check in Discovery)*
143
+ - **Stories** — story-level specs listed inline at the end of the doc. Each story: *"As a [persona], I can [action] [under conditions]. Acceptance: [testable criteria]."* Numbered Story-1, Story-2, ... for reference. Pair with very lean §1 Vision, §2 Target User (often just JTBD + one UJ), §3 Glossary (handful of terms), §4 Features (often a single feature), §6 MVP Scope (in/out very tight). The whole doc fits on a page or two and captures intent + implementable stories in one place. If the user doesn't want the captured artifact at all, `bmad-quick-dev` is the better path — this cluster is only for "I want a doc *and* the stories."
144
+
145
+ ---
146
+
147
+ ## Notes for the facilitator
148
+
149
+ - **The essential spine is the floor, not the ceiling.** A hobby PRD might keep all ten sections short. An enterprise PRD layers many clusters from the adapt-in menu.
150
+ - **§3 Glossary before §4 Features.** Mechanics never introduce a new domain noun without adding it to the Glossary in the same pass. Persona, JTBD, and Journeys may use Glossary terms before §3 formally defines them — context is inferable; the Glossary is for downstream anchoring.
151
+ - **§2.4 Key User Journeys are brief.** One line each. Numbered globally (UJ-1 through UJ-N) so architecture, epics, stories, and tickets can reference them by stable ID. Detailed flow design happens in the UX workflow — not here.
152
+ - **§4 Features pattern at every scale.** Description → FRs nested → optional NFRs → optional notes. Hobby PRD: one short paragraph and three FRs per feature. Enterprise feature: multi-paragraph description, fifteen FRs, several feature-specific NFRs, open questions. Same shape, different depth.
153
+ - **`[ASSUMPTION]`, `[NON-GOAL]`, `[v2 — out of MVP]`, `[NOTE FOR PM]` callouts are first-class.** They signal to downstream readers and the next session of work. Every `[ASSUMPTION]` lands in §9 Assumptions Index.
154
+ - **When UX is *input* to the PRD** (journeys already designed elsewhere): §2.4 names the journeys by ID and points to the existing UX doc. Reference, do not duplicate.
155
+ - **When UX is *output* of the PRD** (no UX work yet — downstream `bmad-create-ux-design` will produce it): §2.4 captures the PM's intent on which journeys exist; UX elaborates them into detailed flows downstream.
156
+ - **§7 Success Metrics scales with stakes** but is always present. Counter-metrics matter as much as primary metrics — they shape what NOT to optimize.
157
+ - **Small-scope all-inclusive option.** When scope is genuinely 1-2 stories and the user wants a single artifact instead of running a separate `bmad-create-story` workflow, add the adapt-in *Stories* cluster: lean §1-§6 plus inline §Stories at the end. The whole doc fits on a page or two. This is a valid PRD shape for tiny work — don't apologize for it.
158
+ - **Adapt the section numbering.** The spine uses 0-9; adapt-in additions slot in wherever they read best (e.g., Aesthetic & Tone before §3 if branding is foundational, Compliance after §5 Non-Goals, Constraints & Guardrails between Features and Non-Goals, Stories at the very end after Assumptions Index).
@@ -0,0 +1,30 @@
1
+ # PRD Validation Checklist
2
+
3
+ Loaded by the PRD validator subagent. For each item, return `{id, status: pass|fail|warn|n/a, severity: low|medium|high|critical, location, note}`. Skip items not applicable to the agreed stakes. Cite specific PRD locations — never abstract criticism.
4
+
5
+ ## Quality
6
+
7
+ - **Q-1. Information density.** Sentences carry weight. Flag filler, hedging, and conversational padding.
8
+ - **Q-2. Measurability.** Where measurement matters, FRs and Success Metrics are measurable; subjective adjectives flagged. Counter-metrics named when Success Metrics exist.
9
+ - **Q-3. Traceability.** Where the chain matters, FRs name their link to a user journey or success criterion inline.
10
+ - **Q-4. Vision and JTBDs concrete.** Vision is specific and stands alone — not a generic feature list. JTBDs are audience-grounded, not abstract.
11
+ - **Q-5. Non-Goals explicit.** A Non-Goals section is present where it would do real work; inline `[NON-GOAL]` and `[v2]` callouts where omissions would otherwise be silently assumed.
12
+ - **Q-6. Dual-audience and self-contained.** Each section makes sense pulled out alone (cross-references via Glossary terms, not "see above"); the PRD is readable by humans and structured cleanly for downstream source-extraction by UX, architecture, and story-creation workflows.
13
+
14
+ ## Discipline
15
+
16
+ - **D-1. Capabilities, not implementation.** FRs describe what users/systems can do, not how. Flag technology names, library choices, architecture decisions.
17
+ - **D-2. Input fidelity.** Requirements from input documents (brief, research, prior PRD) are still in scope or explicitly handled via Non-Goals or `[ASSUMPTION]`.
18
+ - **D-3. Personas grounded.** If personas exist, they are research-grounded or marked `[ILLUSTRATIVE]`. Each persona drives at least one decision.
19
+ - **D-4. No innovation theater.** Novelty claims are real, not invented.
20
+
21
+ ## Structural integrity
22
+
23
+ - **S-1. Glossary integrity.** Every domain noun is defined in the Glossary and used identically throughout. Flag drift (case, plural, synonyms) and candidate missing-term entries.
24
+ - **S-2. ID continuity.** FR / UJ / Story IDs are contiguous, unique, and cross-references resolve.
25
+ - **S-3. Assumptions Index.** Every inline `[ASSUMPTION: ...]` appears in the Assumptions Index and vice versa.
26
+ - **S-4. Open-items density.** Count Open Questions + `[ASSUMPTION]` + `[NOTE FOR PM]`. Red flag if density is high relative to the agreed stakes.
27
+
28
+ ## Stakes-gated
29
+
30
+ - **STK-1. Required sections.** The PRD includes the sections the agreed stakes and product type warrant.