Plan Feature Implementation
Create a thorough implementation plan before writing code.
Workflow
1. Gather Context
- Read
docs/PRD.md - Read
docs/specs/[feature-name].mdif exists - Analyze existing codebase structure
- Understand current architecture
2. Deep Analysis
Think carefully about:
- How does this feature fit into existing architecture?
- What are the dependencies?
- What could go wrong?
- What are the unknowns?
3. Create Implementation Plan
Output: docs/tasks/[feature-name]-plan.md
# Implementation Plan: [Feature Name]
## Executive Summary
[Brief overview of the feature and approach]
## Current State Analysis
### Existing Architecture
[Relevant parts of current codebase]
### Integration Points
- [Where this connects to existing code]
- [Services that will be used/extended]
## Proposed Approach
### Option 1: [Approach Name] (Recommended)
**Description**: [How it works]
**Pros**:
- [Advantage 1]
- [Advantage 2]
**Cons**:
- [Disadvantage 1]
**Effort**: [Low/Medium/High]
### Option 2: [Alternative Approach]
**Description**: [How it works]
**Pros**:
- [Advantage 1]
**Cons**:
- [Disadvantage 1]
- [Disadvantage 2]
**Effort**: [Low/Medium/High]
### Decision
[Which option and why]
## Implementation Steps
### Phase 1: Foundation
1. [Step with brief description]
2. [Step with brief description]
### Phase 2: Core Implementation
3. [Step with brief description]
4. [Step with brief description]
### Phase 3: Integration & Testing
5. [Step with brief description]
6. [Step with brief description]
## Technical Decisions
### Data Model
```swift
// Proposed model structure
Architecture Pattern
[Which pattern and why]
State Management
[How state will be managed]
Risks and Mitigations
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| [Risk 1] | Medium | High | [Plan] |
| [Risk 2] | Low | Medium | [Plan] |
Dependencies
- [External dependency or blocker]
- [Team coordination needed]
Open Questions
- [Question that needs resolution]
Next Steps
- [Immediate next action]
- [Following action]
### 4. Review and Iterate
- Validate assumptions
- Get feedback on approach
- Refine before implementation
## Important
This skill is for **planning only**. Do NOT write implementation code.