2.5 KiB
2.5 KiB
Phase 3: IMPLEMENT
Objective
Execute plan step-by-step with reviewable increments.
Why This Exists
Step-by-step prevents: context overload, no course correction opportunity, overwhelming changes, "while I'm here" scope creep.
Step Boundaries
- One step = one logical unit (function, model, endpoint, file section, config change)
- Maximum 50 lines per step
- No "while I'm here" additions
- Break down plan before starting
Step Execution Protocol with TodoWrite
MANDATORY for every step:
- Create step todos from the plan
- Add todos for each implementation step
- Use descriptive names (no step numbers)
- Keep max 50 lines per step
- Mark current step in_progress
- Perform ONLY that step's work (no extras, no unrelated fixes)
- Mark step completed
- User can confirm or request changes before next step
Never write entire files in one response unless explicitly instructed.
Granularity Examples
❌ BAD - Too coarse:
Step 1: Implement the authentication system
✅ GOOD - Right granularity:
Step 1: Create User model with email/password fields (~25 lines)
Step 2: Add password hashing function using bcrypt (~30 lines)
Step 3: Add password comparison function (~20 lines)
Step 4: Create login endpoint that validates credentials (~35 lines)
Step 5: Add JWT token generation function (~40 lines)
After All Steps Complete
-
Read template and create IMPLEMENTATION.md
- Read
assets/IMPLEMENTATION.mdas a guide - Write implementation summary to
docs/sessions/YYYYMMDD-HHMM-<slug>/IMPLEMENTATION.md - Include: Completed steps, files changed, code comments status, deviations from plan
- Read
-
Offer to add code comments (if appropriate)
-
Do NOT run tests (Phase 5) or update docs (Phase 6)
-
Complete Phase 3
- Mark "Phase 3: Implement" as completed
- Mark "Get user approval to consult Chico" as in_progress
- Ask: "May I consult Chico to review this implementation?"
- Wait for user confirmation
Critical Anti-Patterns
❌ "Batching multiple steps"
One step at a time. ONLY batch if user explicitly instructs: "Do all remaining steps without asking."
❌ "While I'm here" additions
Stay focused on current step. If you notice something else, propose it as a separate step.
Key Takeaways
- One step = one logical unit (max 50 lines)
- Always mark in_progress, perform, mark completed, wait for confirmation
- No "while I'm here" additions
- Break down plan before starting
- Phase boundaries: code only, no testing or docs