Files
gh-schuyler-duck-soup/skills/implement-feature/references/phase-3-implement.md
2025-11-30 08:54:31 +08:00

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:

  1. Create step todos from the plan
    • Add todos for each implementation step
    • Use descriptive names (no step numbers)
    • Keep max 50 lines per step
  2. Mark current step in_progress
  3. Perform ONLY that step's work (no extras, no unrelated fixes)
  4. Mark step completed
  5. 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

  1. Read template and create IMPLEMENTATION.md

    • Read assets/IMPLEMENTATION.md as a guide
    • Write implementation summary to docs/sessions/YYYYMMDD-HHMM-<slug>/IMPLEMENTATION.md
    • Include: Completed steps, files changed, code comments status, deviations from plan
  2. Offer to add code comments (if appropriate)

  3. Do NOT run tests (Phase 5) or update docs (Phase 6)

  4. 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