bmad-plus 0.12.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +96 -461
  3. package/package.json +12 -5
  4. package/readme-international/README.de.md +42 -9
  5. package/readme-international/README.es.md +43 -10
  6. package/readme-international/README.fr.md +42 -9
  7. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -3
  8. package/src/bmad-plus/module.yaml +270 -220
  9. package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
  10. package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
  11. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
  12. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
  13. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
  14. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
  15. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
  16. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
  17. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
  18. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
  19. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
  20. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
  21. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
  22. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
  23. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
  24. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +52 -426
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +22 -80
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +60 -482
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
  70. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
  71. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
  72. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
  73. package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
  74. package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
  75. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
  76. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
  77. package/src/bmad-plus/packs/pack-memory/README.md +6 -0
  78. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +12 -5
  79. package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
  80. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +8 -8
  81. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +1 -2
  82. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +0 -1
  83. package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
  84. package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
  85. package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
  86. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +4 -4
  87. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +5 -3
  88. package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
  89. package/tools/bmad-plus-npx.js +4 -2
  90. package/tools/build/adapters.config.js +60 -51
  91. package/tools/build/check-counts.js +52 -54
  92. package/tools/build/check-install-contract.js +450 -0
  93. package/tools/build/generate-adapters.js +252 -56
  94. package/tools/build/generate.js +364 -14
  95. package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
  96. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
  97. package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
  98. package/tools/build/generated-adapters/AGENTS.md +20 -7
  99. package/tools/build/generated-adapters/CLAUDE.md +20 -7
  100. package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
  101. package/tools/build/generated-adapters/GEMINI.md +20 -7
  102. package/tools/build/module.template.yaml +82 -0
  103. package/tools/build/pack-delivery.js +78 -0
  104. package/tools/cli/bmad-plus-cli.js +16 -1
  105. package/tools/cli/commands/doctor.js +49 -217
  106. package/tools/cli/commands/install.js +109 -164
  107. package/tools/cli/commands/studio.js +68 -0
  108. package/tools/cli/commands/uninstall.js +173 -65
  109. package/tools/cli/commands/update-check.js +31 -0
  110. package/tools/cli/commands/update-policy.js +39 -0
  111. package/tools/cli/commands/update.js +102 -113
  112. package/tools/cli/i18n.js +60 -0
  113. package/tools/cli/lib/ide-config.js +4 -261
  114. package/tools/cli/lib/install-manifest.js +17 -0
  115. package/tools/cli/lib/installation-health.js +360 -0
  116. package/tools/cli/lib/installed-adapters.js +89 -0
  117. package/tools/cli/lib/npm-runner.js +177 -0
  118. package/tools/cli/lib/pack-copy.js +62 -66
  119. package/tools/cli/lib/packs.js +546 -3
  120. package/tools/cli/lib/python-health.js +233 -0
  121. package/tools/cli/lib/python-provision.js +2 -2
  122. package/tools/cli/lib/studio.js +310 -0
  123. package/tools/cli/lib/update-check.js +153 -0
  124. package/tools/cli/lib/update-dispatch.js +182 -0
  125. package/tools/cli/lib/update-policy.js +90 -0
  126. package/tools/cli/lib/update-transaction.js +334 -0
  127. package/tools/release/publication-content.js +901 -0
@@ -1,96 +1,58 @@
1
- ---
1
+ ---
2
2
  name: bmad-domain-research
3
- description: 'Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry'
3
+ description: Map a domain's actors, operating processes, vocabulary and evidence-backed constraints.
4
4
  ---
5
5
 
6
- # Domain Research Workflow
7
-
8
- **Goal:** Conduct comprehensive domain/industry research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
9
-
10
- **Your Role:** You are a domain research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
11
-
12
- ## Conventions
13
-
14
- - Bare paths (e.g. `domain-steps/step-01-init.md`) resolve from the skill root.
15
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
16
- - `{project-root}`-prefixed paths resolve from the project working directory.
17
- - `{skill-name}` resolves to the skill directory's basename.
18
-
19
- ## PREREQUISITE
20
-
21
- **⛔ Web search required.** If unavailable, abort and tell the user.
22
-
23
- ## On Activation
24
-
25
- ### Step 1: Resolve the Workflow Block
26
-
27
- <!-- Adapted for BMAD+: original script dependency removed -->
28
-
29
- **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:
30
-
31
- 1. `this skill file` defaults
32
- 2. `{project-root}/custom/{skill-name}.toml` team overrides
33
- 3. `{project-root}/custom/{skill-name}.user.toml` personal overrides
34
-
35
- 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.
36
-
37
- ### Step 2: Execute Prepend Steps
38
-
39
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
40
-
41
- ### Step 3: Load Persistent Facts
42
-
43
- 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.
44
-
45
- ### Step 4: Load Config
46
-
47
- Load config from `{project-root}/project config` and resolve:
48
- - Use `{user_name}` for greeting
49
- - Use `{communication_language}` for all communications
50
- - Use `{document_output_language}` for output documents
51
- - Use `{planning_artifacts}` for output location and artifact scanning
52
- - Use `{project_knowledge}` for additional context scanning
53
-
54
- ### Step 5: Greet the User
55
-
56
- Greet `{user_name}`, speaking in `{communication_language}`.
57
-
58
- ### Step 6: Execute Append Steps
59
-
60
- Execute each entry in `{workflow.activation_steps_append}` in order.
61
-
62
- Activation is complete. Begin the workflow below.
63
-
64
- ## QUICK TOPIC DISCOVERY
65
-
66
- "Welcome {{user_name}}! Let's get started with your **domain/industry research**.
67
-
68
- **What domain, industry, or sector do you want to research?**
69
-
70
- For example:
71
- - 'The healthcare technology industry'
72
- - 'Sustainable packaging regulations in Europe'
73
- - 'Construction and building materials sector'
74
- - 'Or any other domain you have in mind...'"
75
-
76
- ### Topic Clarification
77
-
78
- Based on the user's topic, briefly clarify:
79
- 1. **Core Domain**: "What specific aspect of [domain] are you most interested in?"
80
- 2. **Research Goals**: "What do you hope to achieve with this research?"
81
- 3. **Scope**: "Should we focus broadly or dive deep into specific aspects?"
82
-
83
- ## ROUTE TO DOMAIN RESEARCH STEPS
84
-
85
- After gathering the topic and goals:
86
-
87
- 1. Set `research_type = "domain"`
88
- 2. Set `research_topic = [discovered topic from discussion]`
89
- 3. Set `research_goals = [discovered goals from discussion]`
90
- 4. Derive `research_topic_slug` from `{{research_topic}}`: lowercase, trim, replace whitespace with `-`, strip path separators (`/`, `\`), `..`, and any character that is not alphanumeric, `-`, or `_`. Collapse repeated `-` and strip leading/trailing `-`. If the result is empty, use `untitled`.
91
- 5. Create the starter output file: `{planning_artifacts}/research/domain-{{research_topic_slug}}-research-{{date}}.md` with exact copy of the `./research.template.md` contents
92
- 6. Load: `./domain-steps/step-01-init.md` with topic context
93
-
94
- **Note:** The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask "What do you want to research?" again - it can focus on refining the scope for domain research.
95
-
96
- **✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`**
6
+ # Domain research
7
+
8
+ Load the [execution guide](../../shared/execution.md) and
9
+ [Miriam](analyst-agent.md). Explain the domain well enough to identify product
10
+ constraints and questions requiring a domain expert.
11
+
12
+ ## Inputs
13
+
14
+ Use the domain or industry, product decision, geographic scope, relevant users
15
+ and time horizon. Identify any supplied procedures, policies or terminology.
16
+ For regulated topics, establish the applicable jurisdiction and kind of entity
17
+ before describing an obligation.
18
+
19
+ ## Procedure
20
+
21
+ 1. Bound the research to the decision. List the actors, activities and exchanges
22
+ the proposed product touches, together with important exclusions.
23
+ 2. Build a small vocabulary from original domain sources and supplied material.
24
+ Resolve terms with different meanings across organizations; keep ambiguity
25
+ visible rather than choosing a definition without evidence.
26
+ 3. Trace the normal operating process: trigger, actor, information required,
27
+ decision, output and exception. Identify handoffs, incentives and recurring
28
+ failure points. Distinguish documented practice from a suggested improvement.
29
+ 4. Research the constraints that could affect the product: authoritative rules,
30
+ technical standards, established operating practices and resource limits.
31
+ Use current official sources for legal or standards claims and record their
32
+ date, version, jurisdiction and applicability conditions.
33
+ 5. Separate binding obligations, nonbinding guidance and common practice. When
34
+ applicability is uncertain, record the uncertainty and the expert or source
35
+ needed to resolve it. Reading a rule is not a compliance assessment.
36
+ 6. Translate supported observations into product implications. Link each proposed
37
+ constraint to its evidence and identify dependencies that architecture or
38
+ planning must investigate.
39
+ 7. Summarize opportunities, tradeoffs and the most consequential unknowns.
40
+ Propose focused follow-up questions instead of a generic industry overview.
41
+
42
+ ## Output
43
+
44
+ Produce a domain map, glossary, representative process, actors and incentives,
45
+ constraints table, product implications and source ledger. The constraints table
46
+ records the observation, evidence, applicability, proposed product consequence
47
+ and unresolved question. Include decision scope and research/access dates.
48
+
49
+ ## Acceptance and continuation
50
+
51
+ A reader must be able to trace a consequential product constraint to evidence
52
+ and understand where specialist judgment is still needed. Do not claim legal,
53
+ security or regulatory approval from a research document.
54
+
55
+ Without current source access, complete the supplied-material analysis and label
56
+ current obligations unverified. On resume, refresh changed rules and source
57
+ versions, then revise the affected implications. Send supported requirements to
58
+ [PRD creation](../planning/create-prd.md) when the user's task calls for planning.
@@ -1,96 +1,61 @@
1
- ---
1
+ ---
2
2
  name: bmad-market-research
3
- description: 'Conduct market research on competition and customers. Use when the user says they need market research'
3
+ description: Research customer segments, alternatives and market assumptions for a specific product decision.
4
4
  ---
5
5
 
6
- # Market Research Workflow
7
-
8
- **Goal:** Conduct comprehensive market research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
9
-
10
- **Your Role:** You are a market research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
11
-
12
- ## Conventions
13
-
14
- - Bare paths (e.g. `steps/step-01-init.md`) resolve from the skill root.
15
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
16
- - `{project-root}`-prefixed paths resolve from the project working directory.
17
- - `{skill-name}` resolves to the skill directory's basename.
18
-
19
- ## PREREQUISITE
20
-
21
- **⛔ Web search required.** If unavailable, abort and tell the user.
22
-
23
- ## On Activation
24
-
25
- ### Step 1: Resolve the Workflow Block
26
-
27
- <!-- Adapted for BMAD+: original script dependency removed -->
28
-
29
- **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:
30
-
31
- 1. `this skill file` defaults
32
- 2. `{project-root}/custom/{skill-name}.toml` team overrides
33
- 3. `{project-root}/custom/{skill-name}.user.toml` personal overrides
34
-
35
- 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.
36
-
37
- ### Step 2: Execute Prepend Steps
38
-
39
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
40
-
41
- ### Step 3: Load Persistent Facts
42
-
43
- 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.
44
-
45
- ### Step 4: Load Config
46
-
47
- Load config from `{project-root}/project config` and resolve:
48
- - Use `{user_name}` for greeting
49
- - Use `{communication_language}` for all communications
50
- - Use `{document_output_language}` for output documents
51
- - Use `{planning_artifacts}` for output location and artifact scanning
52
- - Use `{project_knowledge}` for additional context scanning
53
-
54
- ### Step 5: Greet the User
55
-
56
- Greet `{user_name}`, speaking in `{communication_language}`.
57
-
58
- ### Step 6: Execute Append Steps
59
-
60
- Execute each entry in `{workflow.activation_steps_append}` in order.
61
-
62
- Activation is complete. Begin the workflow below.
63
-
64
- ## QUICK TOPIC DISCOVERY
65
-
66
- "Welcome {{user_name}}! Let's get started with your **market research**.
67
-
68
- **What topic, problem, or area do you want to research?**
69
-
70
- For example:
71
- - 'The electric vehicle market in Europe'
72
- - 'Plant-based food alternatives market'
73
- - 'Mobile payment solutions in Southeast Asia'
74
- - 'Or anything else you have in mind...'"
75
-
76
- ### Topic Clarification
77
-
78
- Based on the user's topic, briefly clarify:
79
- 1. **Core Topic**: "What exactly about [topic] are you most interested in?"
80
- 2. **Research Goals**: "What do you hope to achieve with this research?"
81
- 3. **Scope**: "Should we focus broadly or dive deep into specific aspects?"
82
-
83
- ## ROUTE TO MARKET RESEARCH STEPS
84
-
85
- After gathering the topic and goals:
86
-
87
- 1. Set `research_type = "market"`
88
- 2. Set `research_topic = [discovered topic from discussion]`
89
- 3. Set `research_goals = [discovered goals from discussion]`
90
- 4. Derive `research_topic_slug` from `{{research_topic}}`: lowercase, trim, replace whitespace with `-`, strip path separators (`/`, `\`), `..`, and any character that is not alphanumeric, `-`, or `_`. Collapse repeated `-` and strip leading/trailing `-`. If the result is empty, use `untitled`.
91
- 5. Create the starter output file: `{planning_artifacts}/research/market-{{research_topic_slug}}-research-{{date}}.md` with exact copy of the `./research.template.md` contents
92
- 6. Load: `./steps/step-01-init.md` with topic context
93
-
94
- **Note:** The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask "What do you want to research?" again - it can focus on refining the scope for market research.
95
-
96
- **✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`**
6
+ # Market research
7
+
8
+ Load the [execution guide](../../shared/execution.md) and
9
+ [Miriam](analyst-agent.md). Gather evidence that helps choose an audience,
10
+ positioning or route to adoption.
11
+
12
+ ## Inputs
13
+
14
+ Use the research question, product or opportunity, target geography, customer
15
+ segment and decision horizon. Supplied interviews, sales data and source links
16
+ may narrow the scope. Do not assume that a broad industry estimate describes
17
+ the reachable customers for this product.
18
+
19
+ ## Procedure
20
+
21
+ 1. State the decision, scope and questions that could change it. Identify which
22
+ assumptions already have evidence and prioritize the uncertain ones.
23
+ 2. Choose relevant source types: official product pages and pricing, filings,
24
+ public statistics, original studies and supplied first-party observations.
25
+ Search current sources for claims about current conditions. Record publication
26
+ date or "undated", access date, geography and population where available.
27
+ 3. Compare customers' current alternatives, including manual processes or doing
28
+ nothing when relevant. Use consistent dimensions: job served, audience, entry
29
+ cost, constraints, distribution and switching effort. Distinguish vendor
30
+ claims from independent observations.
31
+ 4. Examine evidence for demand, buyer versus user differences, adoption barriers
32
+ and channels. Describe supplied interviews as their actual sample; a few
33
+ anecdotes do not establish population-wide demand.
34
+ 5. If size or economics matter, show the calculation, units, period, input
35
+ sources and sensitivity range. Separate total market, serviceable segment and
36
+ reachable opportunity. Do not manufacture unavailable inputs or imply more
37
+ precision than the evidence supports.
38
+ 6. Identify contradictions, missing segments and possible sampling bias. Prefer
39
+ an explicit unresolved question over an aggregate score built on missing data.
40
+ 7. Recommend a segment or positioning hypothesis, an alternative and the next
41
+ validation action. Tie the recommendation to sources and state what evidence
42
+ would reverse it.
43
+
44
+ ## Output
45
+
46
+ Write a report with the decision and scope; customer segments and evidence;
47
+ alternatives comparison; market or unit-economics estimate if justified;
48
+ adoption opportunities and barriers; recommendation; open questions; and a
49
+ source ledger. Each material claim links to a source or is labeled an assumption.
50
+ Pricing comparisons include currency, billing basis, tier and observation date.
51
+
52
+ ## Acceptance and continuation
53
+
54
+ The report must explain its coverage and limitations. If current web access is
55
+ unavailable, analyze the supplied evidence and produce a dated partial report;
56
+ do not present it as a completed current-market assessment.
57
+
58
+ On resume, refresh time-sensitive claims and compare new evidence with the
59
+ recorded assumptions. Recalculate estimates when an input changes. Feed
60
+ supported findings into [Product brief](product-brief.md) without treating the
61
+ research recommendation as authorization to change the product.
@@ -1,135 +1,58 @@
1
- ---
1
+ ---
2
2
  name: bmad-prfaq
3
- description: Working Backwards PRFAQ challenge to forge product concepts. Use when the user requests to 'create a PRFAQ', 'work backwards', or 'run the PRFAQ challenge'.
3
+ description: Explore a product concept through a proposed launch narrative and customer and delivery questions.
4
4
  ---
5
5
 
6
- # Working Backwards: The PRFAQ Challenge
7
-
8
- ## Overview
9
-
10
- This skill forges product concepts through Amazon's Working Backwards methodology — the PRFAQ (Press Release / Frequently Asked Questions). Act as a relentless but constructive product coach who stress-tests every claim, challenges vague thinking, and refuses to let weak ideas pass unchallenged. The user walks in with an idea. They walk out with a battle-hardened concept — or the honest realization they need to go deeper. Both are wins.
11
-
12
- The PRFAQ forces customer-first clarity: write the press release announcing the finished product before building it. If you can't write a compelling press release, the product isn't ready. The customer FAQ validates the value proposition from the outside in. The internal FAQ addresses feasibility, risks, and hard trade-offs.
13
-
14
- **This is hardcore mode.** The coaching is direct, the questions are hard, and vague answers get challenged. But when users are stuck, offer concrete suggestions, reframings, and alternatives — tough love, not tough silence. The goal is to strengthen the concept, not to gatekeep it.
15
-
16
- **Args:** Accepts `--headless` / `-H` for autonomous first-draft generation from provided context.
17
-
18
- **Output:** A complete PRFAQ document + PRD distillate for downstream pipeline consumption.
19
-
20
- **Research-grounded.** All competitive, market, and feasibility claims in the output must be verified against current real-world data. Proactively research to fill knowledge gaps — the user deserves a PRFAQ informed by today's landscape, not yesterday's assumptions.
21
-
22
- ## Conventions
23
-
24
- - Bare paths (e.g. `references/press-release.md`) resolve from the skill root.
25
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
26
- - `{project-root}`-prefixed paths resolve from the project working directory.
27
- - `{skill-name}` resolves to the skill directory's basename.
28
-
29
- ## On Activation
30
-
31
- ### Step 1: Resolve the Workflow Block
32
-
33
- <!-- Adapted for BMAD+: original script dependency removed -->
34
-
35
- **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:
36
-
37
- 1. `this skill file` defaults
38
- 2. `{project-root}/custom/{skill-name}.toml` team overrides
39
- 3. `{project-root}/custom/{skill-name}.user.toml` personal overrides
40
-
41
- 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.
42
-
43
- ### Step 2: Execute Prepend Steps
44
-
45
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
46
-
47
- ### Step 3: Load Persistent Facts
48
-
49
- 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.
50
-
51
- ### Step 4: Load Config
52
-
53
- Load config from `{project-root}/project config` and resolve:
54
- - Use `{user_name}` for greeting
55
- - Use `{communication_language}` for all communications
56
- - Use `{document_output_language}` for output documents
57
- - Use `{planning_artifacts}` for output location and artifact scanning
58
- - Use `{project_knowledge}` for additional context scanning
59
-
60
- ### Step 5: Greet the User
61
-
62
- Greet `{user_name}`, speaking in `{communication_language}`. Be warm but efficient — dream builder energy.
63
-
64
- ### Step 6: Execute Append Steps
65
-
66
- Execute each entry in `{workflow.activation_steps_append}` in order.
67
-
68
- Activation is complete. Continue below.
69
-
70
- ## Pre-workflow Setup
71
-
72
- 1. **Resume detection:** Check if `{planning_artifacts}/prfaq-{project_name}.md` already exists. If it does, read only the first 20 lines to extract the frontmatter `stage` field and offer to resume from the next stage. Do not read the full document. If the user confirms, route directly to that stage's reference file.
73
-
74
- 2. **Mode detection:**
75
- - `--headless` / `-H`: Produce complete first-draft PRFAQ from provided inputs without interaction. Validate the input schema only (customer, problem, stakes, solution concept present and non-vague) — do not read any referenced files or documents yourself. If required fields are missing or too vague, return an error with specific guidance on what's needed. Fan out artifact analyzer and web researcher subagents in parallel (see Contextual Gathering below) to process all referenced materials, then create the output document at `{planning_artifacts}/prfaq-{project_name}.md` using `./assets/prfaq-template.md` and route to `./references/press-release.md`.
76
- - Default: Full interactive coaching — the gauntlet.
77
-
78
- **Headless input schema:**
79
- - **Required:** customer (specific persona), problem (concrete), stakes (why it matters), solution (concept)
80
- - **Optional:** competitive context, technical constraints, team/org context, target market, existing research
81
-
82
- **Set the tone immediately.** This isn't a warm, exploratory greeting. Frame it as a challenge — the user is about to stress-test their thinking by writing the press release for a finished product before building anything. Convey that surviving this process means the concept is ready, and failing here saves wasted effort. Be direct and energizing.
83
-
84
- Then briefly ground the user on what a PRFAQ actually is — Amazon's Working Backwards method where you write the finished-product press release first, then answer the hardest customer and stakeholder questions. The point is forcing clarity before committing resources.
85
-
86
- Then proceed to Stage 1 below.
87
-
88
- ## Stage 1: Ignition
89
-
90
- **Goal:** Get the raw concept on the table and immediately establish customer-first thinking. This stage ends when you have enough clarity on the customer, their problem, and the proposed solution to draft a press release headline.
91
-
92
- **Customer-first enforcement:**
93
-
94
- - If the user leads with a solution ("I want to build X"): redirect to the customer's problem. Don't let them skip the pain.
95
- - If the user leads with a technology ("I want to use AI/blockchain/etc"): challenge harder. Technology is a "how", not a "why" — push them to articulate the human problem. Strip away the buzzword and ask whether anyone still cares.
96
- - If the user leads with a customer problem: dig deeper into specifics — how they cope today, what they've tried, why it hasn't been solved.
97
-
98
- When the user gets stuck, offer concrete suggestions based on what they've shared so far. Draft a hypothesis for them to react to rather than repeating the question harder.
99
-
100
- **Concept type detection:** Early in the conversation, identify whether this is a commercial product, internal tool, open-source project, or community/nonprofit initiative. Store this as `{concept_type}` — it calibrates FAQ question generation in Stages 3 and 4. Non-commercial concepts don't have "unit economics" or "first 100 customers" — adapt the framing to stakeholder value, adoption paths, and sustainability instead.
101
-
102
- **Essentials to capture before progressing:**
103
- - Who is the customer/user? (specific persona, not "everyone")
104
- - What is their problem? (concrete and felt, not abstract)
105
- - Why does this matter to them? (stakes and consequences)
106
- - What's the initial concept for a solution? (even rough)
107
-
108
- **Fast-track:** If the user provides all four essentials in their opening message (or via structured input), acknowledge and confirm understanding, then move directly to document creation and Stage 2 without extended discovery.
109
-
110
- **Graceful redirect:** If after 2-3 exchanges the user can't articulate a customer or problem, don't force it — suggest the idea may need more exploration first and recommend they invoke the `bmad-brainstorming` skill to develop it further.
111
-
112
- **Contextual Gathering:** Once you understand the concept, gather external context before drafting begins.
113
-
114
- 1. **Ask about inputs:** Ask the user whether they have existing documents, research, brainstorming, or other materials to inform the PRFAQ. Collect paths for subagent scanning — do not read user-provided files yourself; that's the Artifact Analyzer's job.
115
- 2. **Fan out subagents in parallel:**
116
- - **Artifact Analyzer** (`./agents/artifact-analyzer.md`) — Scans `{planning_artifacts}` and `{project_knowledge}` for relevant documents, plus any user-provided paths. Receives the product intent summary so it knows what's relevant.
117
- - **Web Researcher** (`./agents/web-researcher.md`) — Searches for competitive landscape, market context, and current industry data relevant to the concept. Receives the product intent summary.
118
- 3. **Graceful degradation:** If subagents are unavailable, scan the most relevant 1-2 documents inline and do targeted web searches directly. Never block the workflow.
119
- 4. **Merge findings** with what the user shared. Surface anything surprising that enriches or challenges their assumptions before proceeding.
120
-
121
- **Create the output document** at `{planning_artifacts}/prfaq-{project_name}.md` using `./assets/prfaq-template.md`. Write the frontmatter (populate `inputs` with any source documents used) and any initial content captured during Ignition. This document is the working artifact — update it progressively through all stages.
122
-
123
- **Coaching Notes Capture:** Before moving on, append a `<!-- coaching-notes-stage-1 -->` block to the output document: concept type and rationale, initial assumptions challenged, why this direction over alternatives discussed, key subagent findings that shaped the concept framing, and any user context captured that doesn't fit the PRFAQ itself.
124
-
125
- **When you have enough to draft a press release headline**, route to `./references/press-release.md`.
126
-
127
- ## Stages
128
-
129
- | # | Stage | Purpose | Location |
130
- |---|-------|---------|----------|
131
- | 1 | Ignition | Raw concept, enforce customer-first thinking | SKILL.md (above) |
132
- | 2 | The Press Release | Iterative drafting with hard coaching | `./references/press-release.md` |
133
- | 3 | Customer FAQ | Devil's advocate customer questions | `./references/customer-faq.md` |
134
- | 4 | Internal FAQ | Skeptical stakeholder questions | `./references/internal-faq.md` |
135
- | 5 | The Verdict | Synthesis, strength assessment, final output | `./references/verdict.md` |
6
+ # PRFAQ
7
+
8
+ Load the [execution guide](../../shared/execution.md) and
9
+ [Miriam](analyst-agent.md). Test whether a product promise makes sense to a
10
+ customer and can be supported by a plausible delivery plan.
11
+
12
+ ## Inputs
13
+
14
+ Use the product idea or brief, intended audience, desired outcome, scope and
15
+ known constraints. Read an existing PRFAQ before revising it. Identify which
16
+ claims describe today's product and which describe a possible future release.
17
+
18
+ ## Procedure
19
+
20
+ 1. State the decision this exercise should inform. Extract the customer's task,
21
+ unmet need and current alternative from the supplied evidence.
22
+ 2. Write a short proposed launch narrative: headline, audience, problem, outcome,
23
+ how the first use works and availability assumptions. Label the narrative as
24
+ a proposal. Do not invent a real launch date, shipped feature, customer quote
25
+ or endorsement. Illustrative quotes, if useful, must be identified as such.
26
+ 3. Write the customer FAQ from a skeptical user's perspective: who benefits,
27
+ prerequisites, migration from the current approach, cost assumptions, data
28
+ handling, limits, failure recovery and how to stop using the product. Include
29
+ only topics relevant to the concept.
30
+ 4. Write the delivery FAQ: smallest useful release, dependencies, effort and cost
31
+ uncertainties, operational ownership, adoption obstacles and the strongest
32
+ reason the proposal might fail. Distinguish estimated answers from measured
33
+ evidence and record unresolved decisions.
34
+ 5. Challenge material promises against the evidence. Verify external pricing,
35
+ competitor behavior and feasibility claims using current primary sources
36
+ where possible. Unsupported claims remain hypotheses in the document.
37
+ 6. Revise the promise when the FAQs expose contradictions. Preserve unresolved
38
+ tradeoffs instead of giving every objection an invented answer. Define the
39
+ next observation or experiment that could accept or reject the concept.
40
+ 7. Distill the result into potential requirements and explicit exclusions. Keep
41
+ speculative features distinguishable from requirements supplied by the user.
42
+
43
+ ## Output
44
+
45
+ Produce one report containing the proposed announcement, customer FAQ, delivery
46
+ FAQ, claim-to-evidence table, candidate requirements, exclusions and next
47
+ validation action. The claim table records the claim, its source or assumption,
48
+ confidence limitation and consequence if false.
49
+
50
+ ## Acceptance and continuation
51
+
52
+ The core promise, first-use description and delivery scope must agree. Readers
53
+ must be able to distinguish proposed availability from an actual release.
54
+ This artifact does not authorize publication or customer contact.
55
+
56
+ On resume, compare changed claims and inputs, then revisit affected FAQ answers
57
+ before editing the narrative. A supported concept can feed
58
+ [Product brief](product-brief.md) or [PRD creation](../planning/create-prd.md).