# Plan Feature Add a new feature to an existing project by generating new phases and integrating them into IMPLEMENTATION_PHASES.md and SESSION.md. --- ## Your Task Follow these steps to plan and integrate a new feature into an existing project. ### 1. Check Prerequisites Check that planning docs exist: ```bash ls SESSION.md docs/IMPLEMENTATION_PHASES.md ``` **If SESSION.md doesn't exist:** - Output: "❌ No SESSION.md found. This command is for existing projects." - Suggest: "For new projects, use /plan-project instead." - Stop **If IMPLEMENTATION_PHASES.md doesn't exist:** - Output: "❌ No IMPLEMENTATION_PHASES.md found." - Suggest: "Create baseline planning with /plan-project first." - Stop Read SESSION.md to extract: - Current phase number and name - Current phase status (πŸ”„ in progress, βœ… complete, ⏸️ pending) - Current stage (Implementation/Verification/Debugging) Read IMPLEMENTATION_PHASES.md to extract: - All existing phases - Last phase number - Project tech stack ### 2. Check Current Phase Status **If current phase is in progress (πŸ”„):** Output warning: ``` ⚠️ WARNING: Phase [N] - [Name] is in progress. Current phase status: [Stage] Progress: [Show task completion from SESSION.md] Adding a new feature now may cause confusion. Options: 1. Finish current phase first (recommended) 2. Add feature anyway (will append after current phases) 3. Cancel and come back later Your choice (1/2/3): ``` **If choice 1 (Finish current phase):** - Output: "Complete Phase [N] first, then run /plan-feature again." - Stop **If choice 2 (Add anyway):** - Output: "⚠️ Adding feature. New phases will start after Phase [last phase number]." - Continue **If choice 3 (Cancel):** - Output: "Cancelled. Run /plan-feature when current phase is complete." - Stop **If current phase is complete (βœ…) or paused (⏸️):** - Continue normally ### 3. Gather Feature Requirements Ask clarifying questions about the feature: ``` I'll help plan this feature. A few questions: 1. Feature Description: What does this feature do? (Be specific: "Add user profiles with avatar upload" vs "Add profiles") 2. Scope: Is this feature... - Small (1-2 phases, ~2-4 hours) - Medium (3-4 phases, ~6-10 hours) - Large (5+ phases, ~12+ hours) 3. Dependencies: Does this feature require... - New database tables/columns? - New API endpoints? - New UI components? - Third-party integrations? - All of the above? 4. Priority: When should this feature be built? - Immediately after current phase - After specific phase: [specify phase number] - At the end (append to existing phases) 5. Integration: Does this feature... - Modify existing functionality (may require changes to existing phases)? - Add completely new functionality (independent phases)? ``` Wait for user answers. ### 4. Generate Feature Phases **Invoke project-planning skill** to generate phases for this feature: - Provide feature description + requirements from user - Provide context of existing project (tech stack from IMPLEMENTATION_PHASES.md) - Request specific phase types needed (Database, API, UI, Integration) - Skill generates new phases following validation rules **Skill output**: New phases in IMPLEMENTATION_PHASES.md format **Verify phases generated:** - Check that phases follow context-safe sizing (≀8 files, 2-4 hours) - Check that phases have verification criteria - Check that phases have concrete tasks ### 5. Integrate into IMPLEMENTATION_PHASES.md **Read existing IMPLEMENTATION_PHASES.md** completely. **Determine insertion point** based on user's priority answer: - **Immediately after current**: Insert after current phase number - **After specific phase**: Insert after specified phase number - **At the end**: Append to end of document **If inserting mid-document:** - Renumber all subsequent phases (e.g., if inserting after Phase 3, old Phase 4 becomes Phase 7 if adding 3 phases) - Update any cross-phase references **Add feature separator** before new phases: ```markdown --- ## Feature: [Feature Name] (Added [YYYY-MM-DD]) [Feature description from user] --- ``` **Insert new phases** with proper formatting: - Match existing document style - Include all required sections (Type, Estimated Time, Files, Tasks, Verification Criteria, Exit Criteria) - Include file maps if phases are API/UI/Integration type - Number phases correctly **Write updated IMPLEMENTATION_PHASES.md** ### 6. Update SESSION.md **Read current SESSION.md** completely. **Determine where to insert new phases** (matching IMPLEMENTATION_PHASES.md): - Same position as in IMPLEMENTATION_PHASES.md - Maintain phase number consistency **Add new phases** to SESSION.md: - Set status as ⏸️ (pending) for all new phases - Use collapsed format (just header + spec reference) - Renumber existing phases if inserted mid-document **Example insertion**: ```markdown ## Phase 3: Tasks API βœ… **Completed**: 2025-11-07 | **Checkpoint**: abc1234 **Summary**: CRUD endpoints with validation ## Phase 4: User Profiles Database ⏸️ **Type**: Database | **Added**: 2025-11-07 **Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-4` ## Phase 5: User Profiles API ⏸️ **Type**: API | **Added**: 2025-11-07 **Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-5` ## Phase 6: User Profiles UI ⏸️ **Type**: UI | **Added**: 2025-11-07 **Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-6` ## Phase 7: Task UI ⏸️ **Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-7` [... existing phase, renumbered from Phase 4 ...] ``` **Update "Next Action" if feature is immediate priority:** - If user chose "Immediately after current" and current phase is complete - Update Next Action to first task of first feature phase **Write updated SESSION.md** ### 7. Update Related Docs (If Applicable) **Check if feature requires doc updates:** **If feature adds database tables:** - Ask: "Should I update DATABASE_SCHEMA.md with new tables? (y/n)" - If yes: Read DATABASE_SCHEMA.md, add schema definitions for new tables, write updated file **If feature adds API endpoints:** - Ask: "Should I update API_ENDPOINTS.md with new routes? (y/n)" - If yes: Read API_ENDPOINTS.md, add endpoint documentation, write updated file **If feature changes architecture:** - Ask: "Should I update ARCHITECTURE.md with new data flows? (y/n)" - If yes: Read ARCHITECTURE.md, update architecture diagrams/descriptions, write updated file **If feature adds UI components:** - Ask: "Should I update UI_COMPONENTS.md with new components? (y/n)" - If yes: Read UI_COMPONENTS.md, add component documentation, write updated file ### 8. Create Git Commit for Feature Planning **Stage changes:** ```bash git add docs/IMPLEMENTATION_PHASES.md SESSION.md ``` **If other docs were updated:** ```bash git add docs/DATABASE_SCHEMA.md docs/API_ENDPOINTS.md docs/ARCHITECTURE.md docs/UI_COMPONENTS.md ``` **Create structured commit:** Extract from generated phases: - Number of new phases - Phase names and types - Total estimated hours ```bash git commit -m "$(cat <<'EOF' Add feature: [Feature Name] Added [N] new phases for [feature description]: - Phase [X]: [Name] ([Type], [Y] hours) - Phase [X+1]: [Name] ([Type], [Y] hours) [... list all new phases ...] Integration point: [After Phase N / End of plan] Estimated: [X] hours (~[Y] minutes human time) Docs updated: - IMPLEMENTATION_PHASES.md (added phases) - SESSION.md (added pending phases) [- DATABASE_SCHEMA.md] (if updated) [- API_ENDPOINTS.md] (if updated) [- ARCHITECTURE.md] (if updated) πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude EOF )" ``` ### 9. Output Feature Planning Summary Display formatted summary: ``` ═══════════════════════════════════════════════ FEATURE PLANNING COMPLETE ═══════════════════════════════════════════════ ✨ Feature: [Feature Name] πŸ“¦ Scope: [Small/Medium/Large] ([N] phases, [X] hours) ─────────────────────────────────────────────── NEW PHASES ADDED: ─────────────────────────────────────────────── Phase [X]: [Name] ([Type], [X] hours) ⏸️ Phase [Y]: [Name] ([Type], [X] hours) ⏸️ Phase [Z]: [Name] ([Type], [X] hours) ⏸️ [... list all new phases ...] ─────────────────────────────────────────────── INTEGRATION: ─────────────────────────────────────────────── β€’ Inserted: [After Phase N / End of plan] β€’ Existing phases: [Renumbered from Phase X / Unchanged] β€’ Total project phases: [N] ─────────────────────────────────────────────── UPDATED DOCS: ─────────────────────────────────────────────── βœ… IMPLEMENTATION_PHASES.md βœ… SESSION.md [βœ… DATABASE_SCHEMA.md] (if updated) [βœ… API_ENDPOINTS.md] (if updated) [βœ… ARCHITECTURE.md] (if updated) [βœ… UI_COMPONENTS.md] (if updated) ─────────────────────────────────────────────── CURRENT STATUS: ─────────────────────────────────────────────── Current Phase: Phase [N] - [Name] ([Status emoji]) New feature phases: ⏸️ (pending) Next Action: [Current Next Action from SESSION.md] ═══════════════════════════════════════════════ ``` ### 10. Ask About Next Steps Ask user: ``` Feature planning complete. What would you like to do? Options: 1. Continue with current phase (recommended if in progress) 2. Start new feature immediately (skip ahead to feature phases) 3. Review feature phases first 4. Push to remote Your choice (1/2/3/4): ``` **If choice 1 (Continue current):** - Output: "Continuing with current work. Feature will be built later." - No action needed **If choice 2 (Start feature immediately):** - Output: "⚠️ Skipping ahead to feature phases." - Ask: "Update SESSION.md to mark current phase as paused (⏸️) and start feature? (y/n)" - If yes: - Update SESSION.md: Change current phase to ⏸️, change first feature phase to πŸ”„ - Expand first feature phase with task checklist - Set "Next Action" to first task of first feature phase - Output: "βœ… SESSION.md updated. Starting [First Feature Phase Name]" **If choice 3 (Review first):** - Output: "Review new phases in docs/IMPLEMENTATION_PHASES.md. Run /continue-session when ready." - Wait for user **If choice 4 (Push to remote):** ```bash git push ``` - Output: "βœ… Feature planning pushed to remote" (if success) - Output: "❌ Push failed. Run `git push` manually when ready." (if failed) --- ## Error Handling **SESSION.md doesn't exist:** - Output: "❌ No SESSION.md found. This command is for existing projects." - Suggest: "Use /plan-project for new projects." - Stop **IMPLEMENTATION_PHASES.md doesn't exist:** - Output: "❌ No IMPLEMENTATION_PHASES.md found." - Suggest: "Run /plan-project to create baseline planning." - Stop **Current phase is in progress and user cancels:** - Output: "Cancelled. Finish current phase first, then run /plan-feature." - Stop **Feature description is vague:** - Output: "❌ Feature description unclear." - Ask: "Please describe what this feature does in 1-2 sentences." - Wait for clarification **project-planning skill fails:** - Output: "❌ Failed to generate feature phases." - Suggest: "Describe phases manually and I'll integrate them." - Wait for user input **Phase numbering conflict:** - Output: "⚠️ Phase numbering conflict detected." - Output: "Renumbering all phases to maintain sequence." - Show old β†’ new phase number mapping - Continue with renumbering **File conflict with existing phases:** - Output: "⚠️ Warning: Feature phase [N] modifies files used in existing Phase [X]." - Output: "Files: [list conflicting files]" - Output: "This may require refactoring. Review carefully." - Ask: "Continue anyway? (y/n)" **Git commit fails:** - Output: "⚠️ Git commit failed: [error message]" - Output: "Fix git issue and commit manually." - Ask: "Continue without commit? (y/n)" **Git push fails:** - Output: "⚠️ Push failed: [error message]" - Output: "You can run `git push` manually later." - Continue (not critical) **Related doc doesn't exist:** - Output: "⚠️ [Doc name] not found. Skipping update." - Continue with other docs --- ## Success Criteria βœ… Existing planning docs verified βœ… Current phase status checked βœ… Feature requirements gathered (5 questions answered) βœ… New phases generated with validation βœ… IMPLEMENTATION_PHASES.md updated with new phases βœ… SESSION.md updated with new pending phases βœ… Phase numbering consistent across all docs βœ… Related docs updated (if applicable) βœ… Git commit created for feature planning βœ… User has clear understanding of integration point βœ… User can continue current work or start feature