adv elicitation project updated to hopefully not be skipped as optional anymore. further workflow updates.

This commit is contained in:
Brian Madison
2025-10-13 00:33:06 -05:00
parent 36bf506241
commit f1965810a6
23 changed files with 113 additions and 64 deletions

View File

@@ -126,7 +126,7 @@ convert-legacy/
**Template-to-Workflow Conversion (5c)**
- Converts YAML template sections to workflow steps
- Maps `elicit: true` flags to `<elicit-required/>` tags
- Maps `elicit: true` flags to `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tags
- Transforms conditional sections to flow control
- Creates proper template.md from content structure
- Integrates v4 create-doc.md task patterns

View File

@@ -48,7 +48,7 @@
- [ ] All sections converted to workflow steps
- [ ] Section hierarchy maintained in instructions
- [ ] Variables ({{var}}) preserved in template.md
- [ ] Elicitation points (elicit: true) converted to <elicit-required/>
- [ ] Elicitation points (elicit: true) converted to <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- [ ] Conditional sections preserved with if="" attributes
- [ ] Repeatable sections converted to repeat="" attributes

View File

@@ -190,7 +190,7 @@ For Modules:
2. Convert template sections to instructions.md:
- Each YAML section → workflow step
- `elicit: true``<elicit-required/>` tag
- `elicit: true``<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tag
- Conditional sections → `if="condition"` attribute
- Repeatable sections → `repeat="for-each"` attribute
- Section instructions → step content
@@ -258,7 +258,7 @@ For Modules:
- Preserve execution logic
4. Handle special v4 patterns:
- 1-9 elicitation menus → v5 <elicit-required/>
- 1-9 elicitation menus → v5 <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- Agent permissions → note in instructions
- YOLO mode → autonomous flag or optional steps
- Critical notices → workflow.yaml comments

View File

@@ -148,7 +148,7 @@ Generate the instructions.md file following the workflow creation guide:
4. Use proper XML tags from guide:
- Execution: <action>, <check>, <ask>, <goto>, <invoke-workflow>
- Output: <template-output>, <elicit-required/>, <critical>, <example>
- Output: <template-output>, <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>, <critical>, <example>
- Flow: <loop>, <break>, <continue>
5. Best practices from guide:

View File

@@ -317,7 +317,7 @@ _Generated on {{date}}_
**Output:**
- `<template-output>` - Save checkpoint
- `<elicit-required/>` - Trigger AI enhancement
- `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` - Trigger AI enhancement
- `<critical>` - Important info
- `<example>` - Show example
@@ -366,7 +366,7 @@ Load existing documents and understand project scope.
<step n="2" goal="Define requirements">
Create functional and non-functional requirements.
<template-output>requirements</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
<step n="3" goal="Validate">

View File

@@ -250,7 +250,7 @@ Analyze the session to identify deeper patterns:
2. **Surface key insights** - What realizations emerged during the process? -> insights_learnings
3. **Note surprising connections** - What unexpected relationships were discovered? -> insights_learnings
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>key_themes, insights_learnings</template-output>

View File

@@ -250,7 +250,7 @@ Analyze the session to identify deeper patterns:
2. **Surface key insights** - What realizations emerged during the process? -> insights_learnings
3. **Note surprising connections** - What unexpected relationships were discovered? -> insights_learnings
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>key_themes, insights_learnings</template-output>

View File

@@ -126,7 +126,7 @@ convert-legacy/
**Template-to-Workflow Conversion (5c)**
- Converts YAML template sections to workflow steps
- Maps `elicit: true` flags to `<elicit-required/>` tags
- Maps `elicit: true` flags to `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tags
- Transforms conditional sections to flow control
- Creates proper template.md from content structure
- Integrates v4 create-doc.md task patterns

View File

@@ -48,7 +48,7 @@
- [ ] All sections converted to workflow steps
- [ ] Section hierarchy maintained in instructions
- [ ] Variables ({{var}}) preserved in template.md
- [ ] Elicitation points (elicit: true) converted to <elicit-required/>
- [ ] Elicitation points (elicit: true) converted to <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- [ ] Conditional sections preserved with if="" attributes
- [ ] Repeatable sections converted to repeat="" attributes

View File

@@ -190,7 +190,7 @@ For Modules:
2. Convert template sections to instructions.md:
- Each YAML section → workflow step
- `elicit: true``<elicit-required/>` tag
- `elicit: true``<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tag
- Conditional sections → `if="condition"` attribute
- Repeatable sections → `repeat="for-each"` attribute
- Section instructions → step content
@@ -258,7 +258,7 @@ For Modules:
- Preserve execution logic
4. Handle special v4 patterns:
- 1-9 elicitation menus → v5 <elicit-required/>
- 1-9 elicitation menus → v5 <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- Agent permissions → note in instructions
- YOLO mode → autonomous flag or optional steps
- Critical notices → workflow.yaml comments

View File

@@ -148,7 +148,7 @@ Generate the instructions.md file following the workflow creation guide:
4. Use proper XML tags from guide:
- Execution: <action>, <check>, <ask>, <goto>, <invoke-workflow>
- Output: <template-output>, <elicit-required/>, <critical>, <example>
- Output: <template-output>, <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>, <critical>, <example>
- Flow: <loop>, <break>, <continue>
5. Best practices from guide:

View File

@@ -317,7 +317,7 @@ _Generated on {{date}}_
**Output:**
- `<template-output>` - Save checkpoint
- `<elicit-required/>` - Trigger AI enhancement
- `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` - Trigger AI enhancement
- `<critical>` - Important info
- `<example>` - Show example
@@ -366,7 +366,7 @@ Load existing documents and understand project scope.
<step n="2" goal="Define requirements">
Create functional and non-functional requirements.
<template-output>requirements</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
<step n="3" goal="Validate">

View File

@@ -195,7 +195,7 @@ Examples:
<template-output>special_requirements</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>

View File

@@ -80,7 +80,7 @@ Search queries to execute:
- "[market_category] market growth rate CAGR forecast"
- "[market_category] market trends [current_year]"
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
<step n="3b" title="Regulatory and Government Data">
@@ -204,8 +204,8 @@ For each major segment, research and define:
- Purchasing frequency
- Budget allocation
<elicit-required/>
<template-output>segment_profile_{{segment_number}}</template-output>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>segment*profile*{{segment_number}}</template-output>
</step>
<step n="5b" title="Jobs-to-be-Done Framework">
@@ -280,8 +280,8 @@ Gather intelligence on:
- Team and leadership
- Customer reviews and sentiment
<elicit-required/>
<template-output>competitor_analysis_{{competitor_number}}</template-output>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>competitor*analysis*{{competitor_number}}</template-output>
</step>
<step n="6c" title="Competitive Positioning Map">
@@ -404,7 +404,7 @@ For each opportunity:
- Risk assessment
- Success criteria
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>market_opportunities</template-output>
</step>

View File

@@ -101,7 +101,7 @@ If you have specific options, list them. Otherwise, I'll research current leadin
- "State of [technical_category] 2025"
</action>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<action>Present discovered options (typically 3-5 main candidates)</action>
<template-output>technology_options</template-output>
@@ -173,8 +173,8 @@ Research and document:
- Training costs
- Total cost of ownership estimate
<elicit-required/>
<template-output>tech_profile_{{option_number}}</template-output>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>tech*profile*{{option_number}}</template-output>
</step>
@@ -344,7 +344,7 @@ Research and document:
- Contingency options if primary choice doesn't work
- Exit strategy considerations
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>recommendations</template-output>

View File

@@ -252,7 +252,31 @@ Your choice (1-12):</ask>
<action>Set project_type = mapped project_type_id</action>
<output>**Step 4: Understanding Your Workflow**
<ask>**Step 4: User Interface Components**
Does your project involve user-facing UI components?
a. **Yes** - Project has user interface elements (web pages, mobile screens, desktop UI, game UI)
b. **No** - Backend-only, API, CLI, or no visual interface
Your choice (a/b):</ask>
<action>Capture has_ui_components</action>
<check if='has_ui_components == "a"'>
<action>Set needs_ux_workflow = true</action>
<output>**✅ UX Workflow Detected**
Since your project has UI components, we'll include the UX specification workflow in Phase 2.
This ensures proper UX/UI design happens between PRD and architecture/implementation.
</output>
</check>
<check if='has_ui_components == "b"'>
<action>Set needs_ux_workflow = false</action>
</check>
<output>**Step 5: Understanding Your Workflow**
Before we plan your workflow, let's determine the scope and complexity of your project.
@@ -267,7 +291,9 @@ The BMad Method uses 5 project levels (0-4) that determine which phases you'll n
**Optional Phase 1 (Analysis):** Brainstorming, research, and brief creation can precede any level.
</output>
<ask>**Do you already know your project's approximate size/scope?**
<ask>**Step 6: Project Scope Assessment**
Do you already know your project's approximate size/scope?
a. **Yes** - I can describe the general scope
b. **No** - Not sure yet, need help determining it
@@ -309,7 +335,7 @@ We'll determine your project level during Phase 2 (Planning).
<action>Set estimated_level = "TBD"</action>
</check>
<ask>**Step 5: Choose Your Starting Point**
<ask>**Step 7: Choose Your Starting Point**
Now let's determine where you want to begin:
@@ -406,6 +432,16 @@ Based on your responses, here's your complete workflow journey:
- Description: "Create PRD/GDD/Tech-Spec (determines final level)"
- Status: "Planned"
<check if='needs_ux_workflow == true'>
<action>Add UX workflow to Phase 2 planning (runs after PRD, before Phase 3)</action>
- Phase: "2-Plan"
- Step: "ux-spec"
- Agent: "PM"
- Description: "UX/UI specification (user flows, wireframes, components)"
- Status: "Planned"
- Note: "Required for projects with UI components"
</check>
<check if='level_known == true AND estimated_level >= 3'>
<action>Add Phase 3 (required for Level 3-4)</action>
- Phase: "3-Solutioning"
@@ -609,6 +645,7 @@ Which phase? (1-4)</ask>
**Phase 2: Planning (Required)**
- `plan-project` - Scale-adaptive planning (PRD, GDD, or Tech-Spec)
- `ux-spec` - UX/UI specification (for projects with UI components)
**Phase 3: Solutioning (Level 3-4 Only)**

View File

@@ -151,7 +151,7 @@ Your gameplay loop:</ask>
Define the primary game mechanics.
<template-output>primary_mechanics</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<ask>Describe the control scheme and input method:
@@ -176,7 +176,7 @@ For each {{placeholder}} in the fragment, elicit and capture that information.
<template-output file="GDD.md">GAME_TYPE_SPECIFIC_SECTIONS</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -312,7 +312,7 @@ Asset requirements:</ask>
- Level 4: 5+ epics with 40+ stories
<template-output>epics</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -336,7 +336,7 @@ Generate all stories with:
- Technical notes (high-level only)
<template-output file="epics.md">epic\_{{epic_number}}\_details</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</for-each>

View File

@@ -105,7 +105,7 @@ For 3-Act:
Describe each act/section for your game:</ask>
<template-output>act_breakdown</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -124,7 +124,7 @@ Format:
Your story beats:</ask>
<template-output>story_beats</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<ask>Describe the pacing and flow of your narrative.
@@ -157,7 +157,7 @@ For each protagonist include:
Your protagonist(s):</ask>
<template-output>protagonists</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -195,7 +195,7 @@ For each character include:
Your supporting characters:</ask>
<template-output>supporting_characters</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -243,7 +243,7 @@ Your world:</ask>
Your history:</ask>
<template-output>history_backstory</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>

View File

@@ -68,7 +68,7 @@ Each goal should be measurable and outcome-focused.
1-2 paragraphs on problem, current situation, why now.
<template-output>context</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -82,7 +82,7 @@ Each goal should be measurable and outcome-focused.
Group related features logically.
<template-output>functional_requirements</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -104,7 +104,7 @@ Match NFRs to deployment intent (8-12 NFRs)
Map complete user flows with decision points.
<template-output>user_journeys</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -126,7 +126,7 @@ Map complete user flows with decision points.
Each epic delivers significant value.
<template-output>epics</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -150,7 +150,7 @@ Generate all stories with:
- Technical notes (high-level only)
<template-output file="epics.md">epic\_{{epic_number}}\_details</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</for-each>
@@ -205,6 +205,12 @@ Since this is a Level {{project_level}} project, you need architecture before st
<check if="project has significant UX/UI components (Level 3-4 typically does)">
- [ ] **Run UX specification workflow** (HIGHLY RECOMMENDED for user-facing systems) - Command: `workflow plan-project` then select "UX specification" - Or continue within this workflow if UI-heavy - Input: PRD.md, epics.md, solution-architecture.md (once available) - Output: ux-specification.md - Optional: AI Frontend Prompt for rapid prototyping - Note: Creates comprehensive UX/UI spec including IA, user flows, components
<action>Update workflow status file to mark ux-spec as next step</action>
<action>In status file, set next_action: "Run UX specification workflow"</action>
<action>In status file, set next_command: "ux-spec"</action>
<action>In status file, set next_agent: "PM"</action>
<action>Add to decisions log: "PRD complete. UX workflow required due to UI components."</action>
</check>
### Phase 2: Detailed Planning

View File

@@ -75,7 +75,7 @@
**Format**: `FR001: [user capability]`
<template-output>functional_requirements</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -119,7 +119,7 @@ Create simple epic list with story titles.
Generate epic-stories.md with basic story structure.
<template-output file="epic-stories.md">epic_stories</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -200,6 +200,12 @@ Since this is a Level {{project_level}} project, you need solutioning before imp
<check if="project has significant UX/UI components (Level 1-2 with UI)">
- [ ] **Run UX specification workflow** (HIGHLY RECOMMENDED for user-facing systems) - Command: `workflow plan-project` then select "UX specification" - Or continue within this workflow if UI-heavy - Input: PRD.md, epic-stories.md, solution-architecture.md (once available) - Output: ux-specification.md - Optional: AI Frontend Prompt for rapid prototyping - Note: Creates comprehensive UX/UI spec including IA, user flows, components
<action>Update workflow status file to mark ux-spec as next step</action>
<action>In status file, set next_action: "Run UX specification workflow"</action>
<action>In status file, set next_command: "ux-spec"</action>
<action>In status file, set next_agent: "PM"</action>
<action>Add to decisions log: "PRD complete. UX workflow required due to UI components."</action>
</check>
### Phase 2: Detailed Planning

View File

@@ -76,7 +76,7 @@
**Deployment Strategy**: How to deploy the change
<template-output file="tech-spec.md">deployment_strategy</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>

View File

@@ -81,7 +81,7 @@ What will guide all design decisions?
<template-output>usability_goals</template-output>
<template-output>design_principles</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -106,7 +106,7 @@ What will guide all design decisions?
<template-output>navigation_structure</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -133,7 +133,7 @@ Create Mermaid diagram showing complete flow.
</for-each>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
@@ -193,7 +193,7 @@ Do you have existing brand guidelines to follow? (y/n)
<template-output>spacing_layout</template-output>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>

View File

@@ -282,7 +282,7 @@ Based on your requirements, I need to determine the architecture pattern:
{{project_type_specific_questions}}
</ask>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>architecture_pattern</template-output>
</step>
@@ -335,7 +335,7 @@ NOTE: For hybrid projects (e.g., "web + mobile"), load multiple question files
{{project_type_specific_questions}}
</ask>
<elicit-required/>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
<template-output>architecture_decisions</template-output>
</step>
@@ -708,7 +708,7 @@ In "### Implementation Progress (Phase 4 Only)" section:
Populate table with ALL stories:
| Epic | Story | ID | Title | File |
|------|-------|----|-------|------|
| ---- | ----- | --- | --------------- | ------------ |
| 1 | 1 | 1.1 | {{story_title}} | story-1.1.md |
| 1 | 2 | 1.2 | {{story_title}} | story-1.2.md |
| 1 | 3 | 1.3 | {{story_title}} | story-1.3.md |
@@ -738,7 +738,7 @@ Leave empty initially:
Initialize empty table:
| Story ID | File | Completed Date | Points |
|----------|------|----------------|--------|
| ---------- | ---- | -------------- | ------ |
| (none yet) | | | |
**Total completed:** 0 stories