bmad-method 6.2.1-next.16 → 6.2.1-next.18

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 (37) hide show
  1. package/package.json +1 -1
  2. package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/SKILL.md +2 -3
  3. package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +1 -1
  4. package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +1 -1
  5. package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +1 -1
  6. package/src/bmm-skills/module-help.csv +1 -1
  7. package/tools/cli/installers/lib/core/manifest-generator.js +45 -21
  8. package/tools/cli/installers/lib/ide/_config-driven.js +1 -1
  9. package/src/bmm-skills/1-analysis/bmad-create-product-brief/SKILL.md +0 -6
  10. package/src/bmm-skills/1-analysis/bmad-create-product-brief/product-brief.template.md +0 -10
  11. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-01-init.md +0 -170
  12. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +0 -158
  13. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +0 -193
  14. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-03-users.md +0 -196
  15. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +0 -199
  16. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +0 -213
  17. package/src/bmm-skills/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +0 -159
  18. package/src/bmm-skills/1-analysis/bmad-create-product-brief/workflow.md +0 -55
  19. package/src/bmm-skills/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +0 -1
  20. package/src/bmm-skills/1-analysis/research/market-steps/step-01-init.md +0 -182
  21. package/src/bmm-skills/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  22. package/src/bmm-skills/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  23. package/src/bmm-skills/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  24. package/src/bmm-skills/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  25. package/src/bmm-skills/1-analysis/research/market-steps/step-06-research-completion.md +0 -476
  26. package/src/bmm-skills/1-analysis/research/research.template.md +0 -29
  27. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/agents/artifact-analyzer.md +0 -0
  28. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/agents/opportunity-reviewer.md +0 -0
  29. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/agents/skeptic-reviewer.md +0 -0
  30. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/agents/web-researcher.md +0 -0
  31. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/bmad-manifest.json +0 -0
  32. /package/src/bmm-skills/1-analysis/{bmad-create-product-brief → bmad-product-brief}/bmad-skill-manifest.yaml +0 -0
  33. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/prompts/contextual-discovery.md +0 -0
  34. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/prompts/draft-and-review.md +0 -0
  35. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/prompts/finalize.md +0 -0
  36. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/prompts/guided-elicitation.md +0 -0
  37. /package/src/bmm-skills/1-analysis/{bmad-product-brief-preview → bmad-product-brief}/resources/brief-template.md +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.2.1-next.16",
4
+ "version": "6.2.1-next.18",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -1,7 +1,6 @@
1
1
  ---
2
- name: bmad-product-brief-preview
3
- description: Create or update product briefs through guided or autonomous discovery. Use when the user requests to 'create a product brief', 'help me create a project brief', or 'update my product brief'.
4
- argument-hint: "[optional --create, --edit, --optimize, --distillate, --inputs, --headless] [brief idea]"
2
+ name: bmad-product-brief
3
+ description: Create or update product briefs through guided or autonomous discovery. Use when the user requests to create or update a Product Brief.
5
4
  ---
6
5
 
7
6
  # Create Product Brief
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-domain-research
3
- description: 'Conduct domain and industry research. Use when the user says "lets create a research report on [domain or industry]"'
3
+ description: 'Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry'
4
4
  ---
5
5
 
6
6
  Follow the instructions in ./workflow.md.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-market-research
3
- description: 'Conduct market research on competition and customers. Use when the user says "create a market research report about [business idea]".'
3
+ description: 'Conduct market research on competition and customers. Use when the user says they need market research'
4
4
  ---
5
5
 
6
6
  Follow the instructions in ./workflow.md.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bmad-technical-research
3
- description: 'Conduct technical research on technologies and architecture. Use when the user says "create a technical research report on [topic]".'
3
+ description: 'Conduct technical research on technologies and architecture. Use when the user says they would like to do or produce a technical research report'
4
4
  ---
5
5
 
6
6
  Follow the instructions in ./workflow.md.
@@ -12,7 +12,7 @@ bmm,1-analysis,Brainstorm Project,BP,10,skill:bmad-brainstorming,bmad-brainstorm
12
12
  bmm,1-analysis,Market Research,MR,20,skill:bmad-market-research,bmad-bmm-market-research,false,analyst,Create Mode,"Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents",
13
13
  bmm,1-analysis,Domain Research,DR,21,skill:bmad-domain-research,bmad-bmm-domain-research,false,analyst,Create Mode,"Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project_knowledge","research documents",
14
14
  bmm,1-analysis,Technical Research,TR,22,skill:bmad-technical-research,bmad-bmm-technical-research,false,analyst,Create Mode,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project_knowledge","research documents",
15
- bmm,1-analysis,Create Brief,CB,30,skill:bmad-create-product-brief,bmad-bmm-create-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief",
15
+ bmm,1-analysis,Create Brief,CB,30,skill:bmad-product-brief,bmad-bmm-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief",
16
16
  bmm,2-planning,Create PRD,CP,10,skill:bmad-create-prd,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd,
17
17
  bmm,2-planning,Validate PRD,VP,20,skill:bmad-validate-prd,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report",
18
18
  bmm,2-planning,Edit PRD,EP,25,skill:bmad-edit-prd,bmad-bmm-edit-prd,false,pm,Edit Mode,"Improve and enhance an existing PRD",planning_artifacts,"updated prd",
@@ -50,6 +50,29 @@ class ManifestGenerator {
50
50
  return getInstallToBmadShared(manifest, filename);
51
51
  }
52
52
 
53
+ /**
54
+ * Native SKILL.md entrypoints can be packaged as either skills or agents.
55
+ * Both need verbatim installation for skill-format IDEs.
56
+ * @param {string|null} artifactType - Manifest type resolved for SKILL.md
57
+ * @returns {boolean} True when the directory should be installed verbatim
58
+ */
59
+ isNativeSkillDirType(artifactType) {
60
+ return artifactType === 'skill' || artifactType === 'agent';
61
+ }
62
+
63
+ /**
64
+ * Check whether a loaded bmad-skill-manifest.yaml declares a native
65
+ * SKILL.md entrypoint, either as a single-entry manifest or a multi-entry map.
66
+ * @param {Object|null} manifest - Loaded manifest
67
+ * @returns {boolean} True when the manifest contains a native skill/agent entrypoint
68
+ */
69
+ hasNativeSkillManifest(manifest) {
70
+ if (!manifest) return false;
71
+ if (manifest.__single) return this.isNativeSkillDirType(manifest.__single.type);
72
+
73
+ return Object.values(manifest).some((entry) => this.isNativeSkillDirType(entry?.type));
74
+ }
75
+
53
76
  /**
54
77
  * Clean text for CSV output by normalizing whitespace.
55
78
  * Note: Quote escaping is handled by escapeCsv() at write time.
@@ -146,9 +169,10 @@ class ManifestGenerator {
146
169
  }
147
170
 
148
171
  /**
149
- * Recursively walk a module directory tree, collecting skill directories.
150
- * A skill directory is one that contains both a bmad-skill-manifest.yaml with
151
- * type: skill AND a SKILL.md file with name/description frontmatter.
172
+ * Recursively walk a module directory tree, collecting native SKILL.md entrypoints.
173
+ * A native entrypoint directory is one that contains both a
174
+ * bmad-skill-manifest.yaml with type: skill or type: agent AND a SKILL.md file
175
+ * with name/description frontmatter.
152
176
  * Populates this.skills[] and this.skillClaimedDirs (Set of absolute paths).
153
177
  */
154
178
  async collectSkills() {
@@ -172,11 +196,11 @@ class ManifestGenerator {
172
196
  // Check this directory for skill manifest
173
197
  const manifest = await this.loadSkillManifest(dir);
174
198
 
175
- // Determine if this directory is a skill (type: skill in manifest)
199
+ // Determine if this directory is a native SKILL.md entrypoint
176
200
  const skillFile = 'SKILL.md';
177
201
  const artifactType = this.getArtifactType(manifest, skillFile);
178
202
 
179
- if (artifactType === 'skill' || artifactType === 'agent') {
203
+ if (this.isNativeSkillDirType(artifactType)) {
180
204
  const skillMdPath = path.join(dir, 'SKILL.md');
181
205
  const dirName = path.basename(dir);
182
206
 
@@ -190,11 +214,12 @@ class ManifestGenerator {
190
214
  ? `${this.bmadFolderName}/${moduleName}/${relativePath}/${skillFile}`
191
215
  : `${this.bmadFolderName}/${moduleName}/${skillFile}`;
192
216
 
193
- // Skills derive canonicalId from directory name — never from manifest
194
- // (agent-type skills legitimately use canonicalId for agent-manifest mapping, so skip warning)
217
+ // Native SKILL.md entrypoints derive canonicalId from directory name.
218
+ // Agent entrypoints may keep canonicalId metadata for compatibility, so
219
+ // only warn for non-agent SKILL.md directories.
195
220
  if (manifest && manifest.__single && manifest.__single.canonicalId && artifactType !== 'agent') {
196
221
  console.warn(
197
- `Warning: Skill manifest at ${dir}/bmad-skill-manifest.yaml contains canonicalId — this field is ignored for skills (directory name is the canonical ID)`,
222
+ `Warning: Native entrypoint manifest at ${dir}/bmad-skill-manifest.yaml contains canonicalId — this field is ignored for SKILL.md directories (directory name is the canonical ID)`,
198
223
  );
199
224
  }
200
225
  const canonicalId = dirName;
@@ -224,21 +249,21 @@ class ManifestGenerator {
224
249
  }
225
250
  }
226
251
 
227
- // Warn if manifest says type:skill but directory was not claimed
252
+ // Warn if manifest says this is a native entrypoint but the directory was not claimed
228
253
  if (manifest && !this.skillClaimedDirs.has(dir)) {
229
- let hasSkillType = false;
254
+ let hasNativeSkillType = false;
230
255
  if (manifest.__single) {
231
- hasSkillType = manifest.__single.type === 'skill' || manifest.__single.type === 'agent';
256
+ hasNativeSkillType = this.isNativeSkillDirType(manifest.__single.type);
232
257
  } else {
233
258
  for (const key of Object.keys(manifest)) {
234
- if (manifest[key]?.type === 'skill' || manifest[key]?.type === 'agent') {
235
- hasSkillType = true;
259
+ if (this.isNativeSkillDirType(manifest[key]?.type)) {
260
+ hasNativeSkillType = true;
236
261
  break;
237
262
  }
238
263
  }
239
264
  }
240
- if (hasSkillType && debug) {
241
- console.log(`[DEBUG] collectSkills: dir has type:skill manifest but failed validation: ${dir}`);
265
+ if (hasNativeSkillType && debug) {
266
+ console.log(`[DEBUG] collectSkills: dir has native SKILL.md manifest but failed validation: ${dir}`);
242
267
  }
243
268
  }
244
269
 
@@ -1359,7 +1384,8 @@ class ManifestGenerator {
1359
1384
  const hasTasks = await fs.pathExists(path.join(modulePath, 'tasks'));
1360
1385
  const hasTools = await fs.pathExists(path.join(modulePath, 'tools'));
1361
1386
 
1362
- // Check for skill-only modules: recursive scan for bmad-skill-manifest.yaml with type: skill
1387
+ // Check for native-entrypoint-only modules: recursive scan for
1388
+ // bmad-skill-manifest.yaml with type: skill or type: agent
1363
1389
  let hasSkills = false;
1364
1390
  if (!hasAgents && !hasWorkflows && !hasTasks && !hasTools) {
1365
1391
  hasSkills = await this._hasSkillManifestRecursive(modulePath);
@@ -1378,7 +1404,8 @@ class ManifestGenerator {
1378
1404
  }
1379
1405
 
1380
1406
  /**
1381
- * Recursively check if a directory tree contains a bmad-skill-manifest.yaml with type: skill.
1407
+ * Recursively check if a directory tree contains a bmad-skill-manifest.yaml that
1408
+ * declares a native SKILL.md entrypoint (type: skill or type: agent).
1382
1409
  * Skips directories starting with . or _.
1383
1410
  * @param {string} dir - Directory to search
1384
1411
  * @returns {boolean} True if a skill manifest is found
@@ -1393,10 +1420,7 @@ class ManifestGenerator {
1393
1420
 
1394
1421
  // Check for manifest in this directory
1395
1422
  const manifest = await this.loadSkillManifest(dir);
1396
- if (manifest) {
1397
- const type = this.getArtifactType(manifest, 'workflow.md');
1398
- if (type === 'skill') return true;
1399
- }
1423
+ if (this.hasNativeSkillManifest(manifest)) return true;
1400
1424
 
1401
1425
  // Recurse into subdirectories
1402
1426
  for (const entry of entries) {
@@ -630,7 +630,7 @@ LOAD and execute from: {project-root}/{{bmadFolderName}}/{{path}}
630
630
  }
631
631
 
632
632
  /**
633
- * Install verbatim skill directories (type: skill entries from skill-manifest.csv).
633
+ * Install verbatim native SKILL.md directories from skill-manifest.csv.
634
634
  * Copies the entire source directory as-is into the IDE skill directory.
635
635
  * The source SKILL.md is used directly — no frontmatter transformation or file generation.
636
636
  * @param {string} projectDir - Project directory
@@ -1,6 +0,0 @@
1
- ---
2
- name: bmad-create-product-brief
3
- description: 'Create product brief through collaborative discovery. Use when the user says "lets create a product brief" or "help me create a project brief"'
4
- ---
5
-
6
- Follow the instructions in ./workflow.md.
@@ -1,10 +0,0 @@
1
- ---
2
- stepsCompleted: []
3
- inputDocuments: []
4
- date: {{system-date}}
5
- author: {{user_name}}
6
- ---
7
-
8
- # Product Brief: {{project_name}}
9
-
10
- <!-- Content will be appended sequentially through collaborative workflow steps -->
@@ -1,170 +0,0 @@
1
- ---
2
- # File References
3
- outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md'
4
- ---
5
-
6
- # Step 1: Product Brief Initialization
7
-
8
- ## STEP GOAL:
9
-
10
- Initialize the product brief workflow by detecting continuation state and setting up the document structure for collaborative product discovery.
11
-
12
- ## MANDATORY EXECUTION RULES (READ FIRST):
13
-
14
- ### Universal Rules:
15
-
16
- - 🛑 NEVER generate content without user input
17
- - 📖 CRITICAL: Read the complete step file before taking any action
18
- - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
19
- - 📋 YOU ARE A FACILITATOR, not a content generator
20
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
21
-
22
- ### Role Reinforcement:
23
-
24
- - ✅ You are a product-focused Business Analyst facilitator
25
- - ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
26
- - ✅ We engage in collaborative dialogue, not command-response
27
- - ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
28
- - ✅ Maintain collaborative discovery tone throughout
29
-
30
- ### Step-Specific Rules:
31
-
32
- - 🎯 Focus only on initialization and setup - no content generation yet
33
- - 🚫 FORBIDDEN to look ahead to future steps or assume knowledge from them
34
- - 💬 Approach: Systematic setup with clear reporting to user
35
- - 📋 Detect existing workflow state and handle continuation properly
36
-
37
- ## EXECUTION PROTOCOLS:
38
-
39
- - 🎯 Show your analysis of current state before taking any action
40
- - 💾 Initialize document structure and update frontmatter appropriately
41
- - 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
42
- - 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
43
-
44
- ## CONTEXT BOUNDARIES:
45
-
46
- - Available context: Variables from workflow.md are available in memory
47
- - Focus: Workflow initialization and document setup only
48
- - Limits: Don't assume knowledge from other steps or create content yet
49
- - Dependencies: Configuration loaded from workflow.md initialization
50
-
51
- ## Sequence of Instructions (Do not deviate, skip, or optimize)
52
-
53
- ### 1. Check for Existing Workflow State
54
-
55
- First, check if the output document already exists:
56
-
57
- **Workflow State Detection:**
58
-
59
- - Look for file `{outputFile}`
60
- - If exists, read the complete file including frontmatter
61
- - If not exists, this is a fresh workflow
62
-
63
- ### 2. Handle Continuation (If Document Exists)
64
-
65
- If the document exists and has frontmatter with `stepsCompleted`:
66
-
67
- **Continuation Protocol:**
68
-
69
- - **STOP immediately** and load `./step-01b-continue.md`
70
- - Do not proceed with any initialization tasks
71
- - Let step-01b handle all continuation logic
72
- - This is an auto-proceed situation - no user choice needed
73
-
74
- ### 3. Fresh Workflow Setup (If No Document)
75
-
76
- If no document exists or no `stepsCompleted` in frontmatter:
77
-
78
- #### A. Input Document Discovery
79
-
80
- load context documents using smart discovery. Documents can be in the following locations:
81
- - {planning_artifacts}/**
82
- - {output_folder}/**
83
- - {product_knowledge}/**
84
- - {project-root}/docs/**
85
-
86
- Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
87
-
88
- Try to discover the following:
89
- - Brainstorming Reports (`*brainstorming*.md`)
90
- - Research Documents (`*research*.md`)
91
- - Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
92
- - Project Context (`**/project-context.md`)
93
-
94
- <critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
95
-
96
- **Loading Rules:**
97
-
98
- - Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
99
- - If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
100
- - For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
101
- - index.md is a guide to what's relevant whenever available
102
- - Track all successfully loaded files in frontmatter `inputDocuments` array
103
-
104
- #### B. Create Initial Document
105
-
106
- **Document Setup:**
107
-
108
- - Copy the template from `../product-brief.template.md` to `{outputFile}`, and update the frontmatter fields
109
-
110
- #### C. Present Initialization Results
111
-
112
- **Setup Report to User:**
113
- "Welcome {{user_name}}! I've set up your product brief workspace for {{project_name}}.
114
-
115
- **Document Setup:**
116
-
117
- - Created: `{outputFile}` from template
118
- - Initialized frontmatter with workflow state
119
-
120
- **Input Documents Discovered:**
121
-
122
- - Research: {number of research files loaded or "None found"}
123
- - Brainstorming: {number of brainstorming files loaded or "None found"}
124
- - Project docs: {number of project files loaded or "None found"}
125
- - Project Context: {number of project context files loaded or "None found"}
126
-
127
- **Files loaded:** {list of specific file names or "No additional documents found"}
128
-
129
- Do you have any other documents you'd like me to include, or shall we continue to the next step?"
130
-
131
- ### 4. Present MENU OPTIONS
132
-
133
- Display: "**Proceeding to product vision discovery...**"
134
-
135
- #### Menu Handling Logic:
136
-
137
- - After setup report is presented, without delay, read fully and follow: ./step-02-vision.md
138
-
139
- #### EXECUTION RULES:
140
-
141
- - This is an initialization step with auto-proceed after setup completion
142
- - Proceed directly to next step after document setup and reporting
143
-
144
- ## CRITICAL STEP COMPLETION NOTE
145
-
146
- ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then read fully and follow: `./step-02-vision.md` to begin product vision discovery.
147
-
148
- ---
149
-
150
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
151
-
152
- ### ✅ SUCCESS:
153
-
154
- - Existing workflow detected and properly handed off to step-01b
155
- - Fresh workflow initialized with template and proper frontmatter
156
- - Input documents discovered and loaded using sharded-first logic
157
- - All discovered files tracked in frontmatter `inputDocuments`
158
- - Menu presented and user input handled correctly
159
- - Frontmatter updated with `stepsCompleted: [1]` before proceeding
160
-
161
- ### ❌ SYSTEM FAILURE:
162
-
163
- - Proceeding with fresh initialization when existing workflow exists
164
- - Not updating frontmatter with discovered input documents
165
- - Creating document without proper template structure
166
- - Not checking sharded folders first before whole files
167
- - Not reporting discovered documents to user clearly
168
- - Proceeding without user selecting 'C' (Continue)
169
-
170
- **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -1,158 +0,0 @@
1
- ---
2
- # File References
3
- outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md'
4
- ---
5
-
6
- # Step 1B: Product Brief Continuation
7
-
8
- ## STEP GOAL:
9
-
10
- Resume the product brief workflow from where it was left off, ensuring smooth continuation with full context restoration.
11
-
12
- ## MANDATORY EXECUTION RULES (READ FIRST):
13
-
14
- ### Universal Rules:
15
-
16
- - 🛑 NEVER generate content without user input
17
- - 📖 CRITICAL: Read the complete step file before taking any action
18
- - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
19
- - 📋 YOU ARE A FACILITATOR, not a content generator
20
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
21
-
22
- ### Role Reinforcement:
23
-
24
- - ✅ You are a product-focused Business Analyst facilitator
25
- - ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
26
- - ✅ We engage in collaborative dialogue, not command-response
27
- - ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
28
- - ✅ Maintain collaborative continuation tone throughout
29
-
30
- ### Step-Specific Rules:
31
-
32
- - 🎯 Focus only on understanding where we left off and continuing appropriately
33
- - 🚫 FORBIDDEN to modify content completed in previous steps
34
- - 💬 Approach: Systematic state analysis with clear progress reporting
35
- - 📋 Resume workflow from exact point where it was interrupted
36
-
37
- ## EXECUTION PROTOCOLS:
38
-
39
- - 🎯 Show your analysis of current state before taking any action
40
- - 💾 Keep existing frontmatter `stepsCompleted` values
41
- - 📖 Only load documents that were already tracked in `inputDocuments`
42
- - 🚫 FORBIDDEN to discover new input documents during continuation
43
-
44
- ## CONTEXT BOUNDARIES:
45
-
46
- - Available context: Current document and frontmatter are already loaded
47
- - Focus: Workflow state analysis and continuation logic only
48
- - Limits: Don't assume knowledge beyond what's in the document
49
- - Dependencies: Existing workflow state from previous session
50
-
51
- ## Sequence of Instructions (Do not deviate, skip, or optimize)
52
-
53
- ### 1. Analyze Current State
54
-
55
- **State Assessment:**
56
- Review the frontmatter to understand:
57
-
58
- - `stepsCompleted`: Which steps are already done
59
- - `lastStep`: The most recently completed step number
60
- - `inputDocuments`: What context was already loaded
61
- - All other frontmatter variables
62
-
63
- ### 2. Restore Context Documents
64
-
65
- **Context Reloading:**
66
-
67
- - For each document in `inputDocuments`, load the complete file
68
- - This ensures you have full context for continuation
69
- - Don't discover new documents - only reload what was previously processed
70
- - Maintain the same context as when workflow was interrupted
71
-
72
- ### 3. Present Current Progress
73
-
74
- **Progress Report to User:**
75
- "Welcome back {{user_name}}! I'm resuming our product brief collaboration for {{project_name}}.
76
-
77
- **Current Progress:**
78
-
79
- - Steps completed: {stepsCompleted}
80
- - Last worked on: Step {lastStep}
81
- - Context documents available: {len(inputDocuments)} files
82
-
83
- **Document Status:**
84
-
85
- - Current product brief is ready with all completed sections
86
- - Ready to continue from where we left off
87
-
88
- Does this look right, or do you want to make any adjustments before we proceed?"
89
-
90
- ### 4. Determine Continuation Path
91
-
92
- **Next Step Logic:**
93
- Based on `lastStep` value, determine which step to load next:
94
-
95
- - If `lastStep = 1` → Load `./step-02-vision.md`
96
- - If `lastStep = 2` → Load `./step-03-users.md`
97
- - If `lastStep = 3` → Load `./step-04-metrics.md`
98
- - Continue this pattern for all steps
99
- - If `lastStep = 6` → Workflow already complete
100
-
101
- ### 5. Handle Workflow Completion
102
-
103
- **If workflow already complete (`lastStep = 6`):**
104
- "Great news! It looks like we've already completed the product brief workflow for {{project_name}}.
105
-
106
- The final document is ready at `{outputFile}` with all sections completed through step 6.
107
-
108
- Would you like me to:
109
-
110
- - Review the completed product brief with you
111
- - Suggest next workflow steps (like PRD creation)
112
- - Start a new product brief revision
113
-
114
- What would be most helpful?"
115
-
116
- ### 6. Present MENU OPTIONS
117
-
118
- **If workflow not complete:**
119
- Display: "Ready to continue with Step {nextStepNumber}: {nextStepTitle}?
120
-
121
- **Select an Option:** [C] Continue to Step {nextStepNumber}"
122
-
123
- #### Menu Handling Logic:
124
-
125
- - IF C: Read fully and follow the appropriate next step file based on `lastStep`
126
- - IF Any other comments or queries: respond and redisplay menu
127
-
128
- #### EXECUTION RULES:
129
-
130
- - ALWAYS halt and wait for user input after presenting menu
131
- - ONLY proceed to next step when user selects 'C'
132
- - User can chat or ask questions about current progress
133
-
134
- ## CRITICAL STEP COMPLETION NOTE
135
-
136
- ONLY WHEN [C continue option] is selected and [current state confirmed], will you then read fully and follow the appropriate next step file to resume the workflow.
137
-
138
- ---
139
-
140
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
141
-
142
- ### ✅ SUCCESS:
143
-
144
- - All previous input documents successfully reloaded
145
- - Current workflow state accurately analyzed and presented
146
- - User confirms understanding of progress before continuation
147
- - Correct next step identified and prepared for loading
148
- - Proper continuation path determined based on `lastStep`
149
-
150
- ### ❌ SYSTEM FAILURE:
151
-
152
- - Discovering new input documents instead of reloading existing ones
153
- - Modifying content from already completed steps
154
- - Loading wrong next step based on `lastStep` value
155
- - Proceeding without user confirmation of current state
156
- - Not maintaining context consistency from previous session
157
-
158
- **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.