--- name: implement-feature description: This skill should be used when implementing non-trivial software features that require planning, review, testing, and documentation. It orchestrates a team of specialized development agents (Groucho, Chico, Zeppo, Harpo) through a rigorous 7-phase workflow to ensure features are properly architected, implemented, reviewed, verified, and documented. Use this skill for multi-file features, new functionality, or any work where quality and thoroughness matter. Do not use for trivial single-line fixes or quick experimental prototypes. --- # Implement Feature ## Core Principles **1. Ambiguity means proceed strictly** When uncertain whether an approval todo applies, that uncertainty is the reason to apply it. The process exists precisely for situations where you're tempted to skip it. **2. Phase boundaries are strict** - IMPLEMENT = write code only - VERIFY = test code only - DOCUMENT = update docs only **3. Step-by-step prevents overwhelm** One logical unit per step (max 50 lines). Wait for confirmation between steps. ## Development Team - **Groucho** - Architectural advisor (Phase 2). Ensures new code aligns with existing patterns. - **Chico** - Code reviewer (Phase 4). Verifies implementation meets requirements. - **Zeppo** - Debugger and tester (Phase 5). Creates testing strategies. - **Harpo** - Documentation specialist (Phase 6). Updates documentation. ## TodoWrite Management **Use TodoWrite to track all workflow progress:** 1. **Initialize phase todos at skill start** - Create todo for each of the 7 phases - Add approval todos between phases - Write initial state to TODO.md 2. **Expand phases just-in-time** - When entering a phase, add its specific subtasks - Use natural list ordering (no step numbers) - Insert new todos at appropriate position as work progresses 3. **Exactly ONE todo in_progress at a time** - Mark current task as in_progress - Complete it before starting next - This prevents skipping steps 4. **Approval todos enforce gates** - "Get user approval to proceed to Phase X" - "Get user approval to consult [Agent]" - Mark in_progress when asking - Complete only after user confirms 5. **Persist state to TODO.md** - Update TODO.md after completing each phase - Update TODO.md when agents add todos - Enables session resumption with exact state 6. **Agent coordination via shared todo list** All agents work on ONE shared todo list for complete visibility: - **Agents create todos for their domain** with [AgentName] prefix - Chico creates: "[Chico] Review error handling" - Zeppo creates: "[Zeppo] Run integration tests" - Harpo creates: "[Harpo] Update API documentation" - **Agents mark their own todos in_progress/completed** - When Chico adds review todos, Chico marks them completed - Main agent sees Chico's findings in shared list - **Main agent creates and completes implementation todos** - No prefix or [Main] for implementation work - Main agent fixes issues identified by other agents - **Exactly ONE in_progress applies globally** - Prevents main agent and subagents from conflicting work - Todo list shows who is working on what in real-time ## Session Structure ``` docs/sessions/YYYYMMDD-HHMM-/ ├── TODO.md (Persistent todo state, updated throughout) ├── REQUIREMENTS.md (Phase 1) ├── PLAN.md (Phase 2) ├── IMPLEMENTATION.md (Phase 3) ├── TESTING.md (Phase 5) └── REFLECTION.md (Phase 7) ``` Initialize: `scripts/init_session.sh ` **TODO.md persistence:** - Write current todo list state to TODO.md after each phase completes - Enables session resumption with exact workflow state - Format: Simple markdown checklist matching TodoWrite state - Main agent and all subagents update same shared TODO.md ## The 7 Phases ### Phase 1: GATHER REQUIREMENTS Understand what the user needs. - Ask clarifying questions - Confirm understanding - Create session directory - Write requirements to REQUIREMENTS.md - Store documentation links for Groucho Load `references/phase-1-gather-requirements.md` for details. --- ### Phase 2: PLAN Create implementation plan aligned with existing patterns. - Get user approval to consult Groucho - Provide: requirements, docs from Phase 1, constraints, preferences - Present complete plan - Write to PLAN.md - Get user approval to proceed to Phase 3 Load `references/phase-2-plan.md` for details. --- ### Phase 3: IMPLEMENT Execute plan step-by-step. - Create todo for each implementation step - One step = one logical unit (max 50 lines) - Complete each todo before starting next - User can confirm or request changes between steps Load `references/phase-3-implement.md` for details. --- ### Phase 4: REVIEW Verify implementation meets requirements. - Get user approval to consult Chico - Have Chico review all Phase 3 code - Chico adds todos for issues found - Fix issues one at a time - Ask if Chico should re-review - Don't claim completion until approved Load `references/phase-4-review.md` for details. --- ### Phase 5: VERIFY Ensure implementation works correctly. - Get user approval to consult Zeppo - Get testing strategy from Zeppo - Zeppo adds todos for test tasks - Write verification plan to TESTING.md - Execute tests - Don't close until tests pass Load `references/phase-5-verify.md` for details. --- ### Phase 6: DOCUMENT Update documentation. - Get user approval to consult Harpo - Have Harpo update relevant docs - Harpo adds todos for documentation tasks - Ensure docs reflect changes Load `references/phase-6-document.md` for details. --- ### Phase 7: REFLECT Record learnings. - Get user approval to proceed to Phase 7 - Create REFLECTION.md - Document: task summary, user corrections, preferences, todos completed - Ask about cleaning up session files Load `references/phase-7-reflect.md` for details. --- ## TodoWrite State Recovery If todo state becomes out of sync: 1. Review current progress honestly 2. Update TodoWrite to reflect actual state 3. Continue from correct position 4. TodoWrite state is the source of truth ## Resources **scripts/** - `init_session.sh` - Create session directory **references/** - `phase-1-gather-requirements.md` - `phase-2-plan.md` - `phase-3-implement.md` - `phase-4-review.md` - `phase-5-verify.md` - `phase-6-document.md` - `phase-7-reflect.md` - `session-resumption.md` **assets/** - Templates for session phase files Load phase references only when entering that phase. ## Starting a Task **If user provides session slug to resume:** 1. Read `docs/sessions//TODO.md` to reconstruct workflow state 2. Load TodoWrite with state from TODO.md 3. Identify first incomplete todo 4. Mark that todo as in_progress 5. Continue from that point in workflow **If user requests new feature implementation:** 1. **Do not attempt to solve problems yet** 2. Acknowledge you'll use the 7-phase workflow 3. List all 7 phases 4. **Initialize TodoWrite with phase structure**: - Create todo for each of the 7 phases - Add approval todos between phases - Mark "Phase 1: Gather requirements" as in_progress - Write initial state to TODO.md 5. Begin Phase 1