name: 'step-03-execute'
description: 'Execute implementation - iterate through tasks, write code, run tests'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: './step-03-execute.md'
nextStepFile: './step-04-self-check.md'
Step 3: Execute Implementation
Goal: Implement all tasks, write tests, follow patterns, handle errors.
Critical: Continue through ALL tasks without stopping for milestones.
AVAILABLE STATE
From previous steps:
{baseline_commit} - Git HEAD at workflow start
{execution_mode} - "tech-spec" or "direct"
{tech_spec_path} - Tech-spec file (if Mode A)
{project_context} - Project patterns (if exists)
From context:
- Mode A: Tasks and AC extracted from tech-spec
- Mode B: Tasks and AC from step-02 mental plan
EXECUTION LOOP
For each task:
1. Load Context
- Read files relevant to this task
- Review patterns from project-context or observed code
- Understand dependencies
2. Implement
- Write code following existing patterns
- Handle errors appropriately
- Follow conventions observed in codebase
- Add appropriate comments where non-obvious
3. Test
- Write tests if appropriate for the change
- Run existing tests to catch regressions
- Verify the specific AC for this task
4. Mark Complete
- Check off task:
- [x] Task N
- Continue to next task immediately
HALT CONDITIONS
HALT and request guidance if:
- 3 consecutive failures on same task
- Tests fail and fix is not obvious
- Blocking dependency discovered
- Ambiguity that requires user decision
Do NOT halt for:
- Minor issues that can be noted and continued
- Warnings that don't block functionality
- Style preferences (follow existing patterns)
CONTINUOUS EXECUTION
Critical: Do not stop between tasks for approval.
- Execute all tasks in sequence
- Only halt for blocking issues
- Tests failing = fix before continuing
- Track all completed work for self-check
NEXT STEP
When ALL tasks are complete (or halted on blocker), load step-04-self-check.md.
SUCCESS METRICS
- All tasks attempted
- Code follows existing patterns
- Error handling appropriate
- Tests written where appropriate
- Tests passing
- No unnecessary halts
FAILURE MODES
- Stopping for approval between tasks
- Ignoring existing patterns
- Not running tests after changes
- Giving up after first failure
- Not following project-context rules (if exists)