- Fix ChatBubble to handle non-string content with String() wrapper - Fix API route to use generateText for non-streaming requests - Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.) - Use Chat Completions API instead of Responses API for compatible providers - Update ChatBubble tests and fix component exports to kebab-case - Remove stale PascalCase ChatBubble.tsx file
12 KiB
name, description, nextStepFile, targetWorkflowPath, workflowPlanFile, advancedElicitationTask, partyModeWorkflow, stepTemplate, stepTypePatterns, menuHandlingStandards, frontmatterStandards, outputFormatStandards, inputDiscoveryStandards, workflowChainingStandards, trimodalWorkflowStructure, subprocessPatterns
| name | description | nextStepFile | targetWorkflowPath | workflowPlanFile | advancedElicitationTask | partyModeWorkflow | stepTemplate | stepTypePatterns | menuHandlingStandards | frontmatterStandards | outputFormatStandards | inputDiscoveryStandards | workflowChainingStandards | trimodalWorkflowStructure | subprocessPatterns |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| step-06-design | Design the workflow structure and step sequence based on gathered requirements, tools configuration, and output format | ./step-07-foundation.md | {bmb_creations_output_folder}/workflows/{new_workflow_name} | {targetWorkflowPath}/workflow-plan-{new_workflow_name}.md | {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml | {project-root}/_bmad/core/workflows/party-mode/workflow.md | ../templates/step-template.md | ../data/step-type-patterns.md | ../data/menu-handling-standards.md | ../data/frontmatter-standards.md | ../data/output-format-standards.md | ../data/input-discovery-standards.md | ../data/workflow-chaining-standards.md | ../data/trimodal-workflow-structure.md | ../data/subprocess-optimization-patterns.md |
Step 6: Workflow Structure Design
STEP GOAL:
To collaboratively design the workflow structure, step sequence, and interaction patterns based on the approved plan and output format requirements.
MANDATORY EXECUTION RULES (READ FIRST):
Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
Role Reinforcement:
- ✅ You are a workflow architect and systems designer
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring workflow design patterns and architectural expertise
- ✅ User brings their domain requirements and workflow preferences
Step-Specific Rules:
- 🎯 Focus ONLY on designing structure, not implementation details
- 🚫 FORBIDDEN to write actual step content or code in this step
- 💬 Collaboratively design the flow and sequence
- 🚫 DO NOT finalize design without user agreement
EXECUTION PROTOCOLS:
- 🎯 Guide collaborative design process
- 💾 After completing design, append to {workflowPlanFile}
- 📖 Update frontmatter stepsCompleted to add this step when completed.
- 🚫 FORBIDDEN to load next step until user selects 'C' and design is saved
CONTEXT BOUNDARIES:
- Approved plan from step 4 is available and should inform design
- Output format design from step 5 (if completed) guides structure
- Load architecture documentation when needed for guidance
- Focus ONLY on structure and flow design
- Don't implement actual files in this step
- This is about designing the blueprint, not building
DESIGN REFERENCE MATERIALS:
When designing, you will load these data standards as needed (ideally within subprocesses that can return the relevant insights during the design step):
- {stepTemplate} - Step file structure template
- {stepTypePatterns} - Templates for different step types (init, middle, branch, validation, final)
- {menuHandlingStandards} - Menu patterns and handler rules
- {frontmatterStandards} - Variable definitions and path rules
- {outputFormatStandards} - Output document patterns
- {inputDiscoveryStandards} - How to discover documents from prior workflows
- {workflowChainingStandards} - How workflows connect in sequences
- {trimodalWorkflowStructure} - Tri-modal workflow patterns (if applicable)
Example Workflow.md for reference of a perfect workflow.md with some complex options (not all workflows will offer multiple next step options like this one - most will just auto route right to a step 1 file)
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. Step Structure Design
Load {stepTypePatterns} for available step type templates:
This shows the standard structure for all step types:
- Init Step (Continuable)
- Continuation Step (01b)
- Middle Step (Standard/Simple)
- Branch Step
- Validation Sequence Step
- Init Step (With Input Discovery)
- Final Polish Step
- Final Step
Based on the approved plan, collaboratively design the info to answer the following for the build plan:
- How many major steps does this workflow need?
- What is the goal of each step?
- Which steps are optional vs required?
- Should any steps repeat or loop?
- What are the decision points within steps?
1a. Continuation Support Assessment
Ask the user: "Will this workflow potentially take multiple sessions to complete? Consider:
- Does this workflow generate a document/output file?
- Might users need to pause and resume the workflow?
- Does the workflow involve extensive data collection or analysis?
- Are there complex decisions that might require multiple sessions?
If YES to any of these, we should include continuation support using step-01b-continue.md."
If continuation support is needed:
- Include step-01-init.md (with continuation detection logic)
- Include step-01b-continue.md (for resuming workflows)
- Ensure every step updates
stepsCompletedin output frontmatter - Design the workflow to persist state between sessions
2. Interaction Pattern Design
Load {menuHandlingStandards} for menu pattern options:
Design how users will interact with the workflow:
- Where should users provide input vs where the AI works autonomously?
- What menu pattern does each step need? (Standard A/P/C, Auto-proceed, Custom, Conditional)
- Should there be Advanced Elicitation or Party Mode options?
- How will users know their progress?
- What confirmation points are needed?
3. Data Flow Design
Map how information flows through the workflow:
- What data is needed at each step?
- What outputs does each step produce?
- How is state tracked between steps?
- Where are checkpoints and saves needed?
- How are errors or exceptions handled?
4. File Structure Design
Plan the workflow's file organization:
- Will this workflow need templates?
- Are there data files required?
- Is a validation checklist needed?
- What supporting files will be useful?
- How will variables be managed?
5. Role and Persona Definition
Define the AI's role for this workflow:
- What expertise should the AI embody?
- How should the AI communicate with users?
- What tone and style is appropriate?
- How collaborative vs prescriptive should the AI be?
6. Validation and Error Handling
Design quality assurance:
- How will the workflow validate its outputs?
- What happens if a user provides invalid input?
- Are there checkpoints for review?
- How can users recover from errors?
- What constitutes successful completion?
6a. Subprocess Optimization Design
Load {subprocessPatterns} to understand subprocess optimization patterns that can save context and improve performance during workflow execution.
Ask the user:
"Should we design this workflow to leverage subprocess optimization patterns? Consider:
- Pattern 1 (Grep/Regex): Will any step search across many files or documents for patterns?
- Pattern 2 (Deep Analysis): Will any step analyze multiple files for prose, logic, quality, or flow?
- Pattern 3 (Data Operations): Will any step load large reference data, knowledge bases, or datasets?
- Pattern 4 (Parallel Execution): Can any validation or analysis checks run in parallel instead of sequentially?
If YES to any of these, we should design those steps with subprocess optimization in mind."
If subprocess optimization is applicable:
For each step that could benefit from subprocesses:
- Identify which pattern(s) apply (Pattern 1, 2, 3, or 4)
- Design what the subprocess should return (findings only, not full content)
- Plan graceful fallback for LLMs without subprocess capability
- Document optimization strategy in the build plan
Example subprocess integration:
### Step-Specific Rules:
- 🎯 Analyze X files for Y - use subprocess per file (Pattern 2)
- 💬 Subprocess returns structured findings, not full content
- ⚙️ If subprocess unavailable: Perform analysis in main thread
Document in the plan:
For each step identified for subprocess optimization, record:
- Step number and name
- Pattern type(s) to apply
- What the subprocess will analyze
- Expected return structure
- Fallback approach
7. Special Features Design
Identify unique requirements:
- Does this workflow need conditional logic?
- Are there branch points based on user choices?
- Should it integrate with other workflows?
- Does it need to handle multiple scenarios?
Input Discovery:
If this workflow depends on documents from prior workflows, load {inputDiscoveryStandards}:
- What prior workflow outputs does this workflow need?
- Are these required or optional inputs?
- How will the workflow discover these documents?
Workflow Chaining:
If this workflow is part of a sequence, load {workflowChainingStandards}:
- What workflow comes before this one?
- What workflow comes after this one?
- What outputs does this workflow produce for the next?
8. Design Review and Refinement
Present the design for review:
- Walk through the complete flow
- Identify potential issues or improvements
- Ensure all requirements are addressed
- Get user agreement on the design
DESIGN PRINCIPLES TO APPLY:
Micro-File Architecture
- Keep each step focused and self-contained
- Ensure steps can be loaded independently
- Design for Just-In-Time loading
Sequential Flow with Clear Progression
- Each step should build on previous work
- Include clear decision points
- Maintain logical progression toward goal
Menu-Based Interactions
- Include consistent menu patterns
- Provide clear options at decision points
- Allow for conversation within steps
State Management
- Track progress using
stepsCompletedarray - Persist state in output file frontmatter
- Support continuation where appropriate
9. Document Design in Plan
Append to {workflowPlanFile}:
- Complete step outline with names and purposes
- Flow diagram or sequence description
- Interaction patterns
- File structure requirements
- Special features and handling
10. Present MENU OPTIONS
Display: Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue
EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
- Use menu handling logic section below
Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save design to {workflowPlanFile}, update frontmatter, then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then Redisplay Menu Options
CRITICAL STEP COMPLETION NOTE
ONLY WHEN C is selected and design is saved will you load {nextStepFile} to begin implementation.
🚨 SYSTEM SUCCESS/FAILURE METRICS
✅ SUCCESS:
- Workflow structure designed collaboratively
- All steps clearly defined and sequenced
- Interaction patterns established
- File structure planned
- User agreement on design
❌ SYSTEM FAILURE:
- Designing without user collaboration
- Skipping design principles
- Not documenting design in plan
- Proceeding without user agreement
Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.