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.
- package/CHANGELOG.md +47 -0
- package/README.md +96 -461
- package/package.json +12 -5
- package/readme-international/README.de.md +42 -9
- package/readme-international/README.es.md +43 -10
- package/readme-international/README.fr.md +42 -9
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +5 -3
- package/src/bmad-plus/module.yaml +270 -220
- package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
- package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +52 -426
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +22 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +60 -482
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
- package/src/bmad-plus/packs/pack-memory/README.md +6 -0
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +12 -5
- package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
- package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +8 -8
- package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +1 -2
- package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +0 -1
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +4 -4
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +5 -3
- package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
- package/tools/bmad-plus-npx.js +4 -2
- package/tools/build/adapters.config.js +60 -51
- package/tools/build/check-counts.js +52 -54
- package/tools/build/check-install-contract.js +450 -0
- package/tools/build/generate-adapters.js +252 -56
- package/tools/build/generate.js +364 -14
- package/tools/build/generated-adapters/.codex/AGENTS.md +20 -7
- package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +20 -7
- package/tools/build/generated-adapters/.opencode/AGENTS.md +20 -7
- package/tools/build/generated-adapters/AGENTS.md +20 -7
- package/tools/build/generated-adapters/CLAUDE.md +20 -7
- package/tools/build/generated-adapters/CONVENTIONS.md +20 -7
- package/tools/build/generated-adapters/GEMINI.md +20 -7
- package/tools/build/module.template.yaml +82 -0
- package/tools/build/pack-delivery.js +78 -0
- package/tools/cli/bmad-plus-cli.js +16 -1
- package/tools/cli/commands/doctor.js +49 -217
- package/tools/cli/commands/install.js +109 -164
- package/tools/cli/commands/studio.js +68 -0
- package/tools/cli/commands/uninstall.js +173 -65
- package/tools/cli/commands/update-check.js +31 -0
- package/tools/cli/commands/update-policy.js +39 -0
- package/tools/cli/commands/update.js +102 -113
- package/tools/cli/i18n.js +60 -0
- package/tools/cli/lib/ide-config.js +4 -261
- package/tools/cli/lib/install-manifest.js +17 -0
- package/tools/cli/lib/installation-health.js +360 -0
- package/tools/cli/lib/installed-adapters.js +89 -0
- package/tools/cli/lib/npm-runner.js +177 -0
- package/tools/cli/lib/pack-copy.js +62 -66
- package/tools/cli/lib/packs.js +546 -3
- package/tools/cli/lib/python-health.js +233 -0
- package/tools/cli/lib/python-provision.js +2 -2
- package/tools/cli/lib/studio.js +310 -0
- package/tools/cli/lib/update-check.js +153 -0
- package/tools/cli/lib/update-dispatch.js +182 -0
- package/tools/cli/lib/update-policy.js +90 -0
- package/tools/cli/lib/update-transaction.js +334 -0
- package/tools/release/publication-content.js +901 -0
|
@@ -1,96 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
2
|
name: bmad-domain-research
|
|
3
|
-
description:
|
|
3
|
+
description: Map a domain's actors, operating processes, vocabulary and evidence-backed constraints.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Domain
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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:
|
|
3
|
+
description: Research customer segments, alternatives and market assumptions for a specific product decision.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Market
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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:
|
|
3
|
+
description: Explore a product concept through a proposed launch narrative and customer and delivery questions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
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).
|