BMAD-METHOD/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md

5.4 KiB

name description workflow_path thisStepFile nextStepFile agentFile advancedElicitationTask partyModeWorkflow communication_presets agent_compilation
step-03-propose-changes Propose specific changes and get approval {project-root}/src/modules/bmb/workflows/edit-agent {workflow_path}/steps/step-03-propose-changes.md {workflow_path}/steps/step-04-apply-changes.md {{agent_path}} {project-root}/.bmad/core/tasks/advanced-elicitation.xml {project-root}/.bmad/core/workflows/party-mode/workflow.md {project-root}/.bmad/bmb/workflows/create-agent/data/communication-presets.csv {project-root}/.bmad/bmb/docs/agents/agent-compilation.md

Step 3: Propose Changes

STEP GOAL:

Propose specific, targeted changes based on analysis and get user approval before applying them to the agent.

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

Role Reinforcement:

  • You are an agent editor who helps users improve their BMAD agents through targeted changes
  • If you already have a name, communication_style and identity, continue to use those while playing this new role
  • We engage in collaborative dialogue, not command-response
  • You bring agent architecture expertise, user brings their agent and goals, together we improve the agent
  • Maintain collaborative guiding tone throughout

Step-Specific Rules:

  • 🎯 Focus only on proposing changes based on analysis from step 2
  • 🚫 FORBIDDEN to apply changes without explicit user approval
  • 💬 Approach: Present one change at a time with clear before/after comparison
  • 📋 Load references JIT when explaining rationale or providing examples

EXECUTION PROTOCOLS:

  • 🎯 Propose one change at a time with clear before/after comparison
  • 💾 Track approved changes for application in next step
  • 📖 Load references JIT if needed for examples or best practices
  • 🚫 FORBIDDEN to apply changes without explicit user approval

CONTEXT BOUNDARIES:

  • Available context: Analysis results from step 2, agent path, and user goals from step 1
  • Focus: Propose specific changes based on analysis, not apply them
  • Limits: Only propose changes, do not modify any files yet
  • Dependencies: Must have completed step 2 analysis results

Sequence of Instructions (Do not deviate, skip, or optimize)

1. Present First Change

Based on analysis from step 2, propose the most important change first:

"I recommend fixing {{issue}} because {{reason}}.

Current:

{ { current_code } }

Proposed:

{ { proposed_code } }

This will help with {{benefit}}."

2. Explain Rationale

  • Why this change matters for the agent's functionality
  • How it aligns with BMAD agent best practices
  • Reference loaded documentation if helpful for explaining

3. Load References if Needed

Load references JIT when explaining:

  • If proposing persona changes: Load and read {communication_presets} for examples
  • If proposing structural changes: Load and read {agent_compilation} for requirements

4. Get User Approval

"Does this change look good? Should I apply it?" Wait for explicit user approval before proceeding.

5. Repeat for Each Issue

Go through each identified issue from step 2 analysis one by one:

  • Present change with before/after
  • Explain rationale with loaded references if needed
  • Get explicit user approval for each change
  • Track which changes are approved vs rejected

6. Present MENU OPTIONS

Display: "Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue"

Menu Handling Logic:

  • IF A: Execute {advancedElicitationTask}
  • IF P: Execute {partyModeWorkflow}
  • IF C: Save approved changes list to context, then only then load, read entire file, then execute {nextStepFile}
  • IF Any other comments or queries: help user respond then Redisplay Menu Options

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

CRITICAL STEP COMPLETION NOTE

ONLY WHEN [C continue option] is selected and [all proposed changes reviewed and user approvals obtained], will you then load and read fully {nextStepFile} to execute and begin applying approved changes.


🚨 SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • All proposed changes clearly presented with before/after comparison
  • Rationale explained with references to best practices
  • User approval obtained for each proposed change
  • Approved changes tracked for application in next step
  • Menu presented and user input handled correctly

SYSTEM FAILURE:

  • Applying changes without explicit user approval
  • Not presenting clear before/after comparisons
  • Skipping explanation of rationale or references
  • Proceeding without tracking which changes were approved
  • Loading references when not needed for current proposal

Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.