Agent skill
feature-planning
Break down features into implementable tasks and choose architecture approach. Use when starting a new feature or receiving requirements that need technical decomposition.
Install this agent skill to your Project
npx add-skill https://github.com/dagba/ios-mcp/tree/main/skills/feature-planning
SKILL.md
Feature Planning
Overview
Systematic approach to decompose features into actionable tasks. For senior engineers who know how to code but need a structured thinking framework.
Quick Workflow
1. Requirement Analysis
- Clarify user goal and acceptance criteria
- Identify screens, data flows, integration points
- Ask: API ready? Design assets available? Platform requirements?
2. Choose Architecture
Use architecture-patterns skill to decide:
- Simple (1-2 screens, local state) → MV
- Medium (3-5 screens, business logic) → MVVM
- Complex (state machines, side effects) → TCA
- Enterprise (multi-team) → Clean Architecture
3. Task Breakdown Structure
Phase 1: Foundation
- Models/entities
- API client stubs
- Navigation structure
Phase 2: Core Logic
- ViewModels/Reducers
- Business rules
- State management
Phase 3: UI
- Layouts and components
- Styling and animations
- Loading/error states
Phase 4: Integration
- Wire up ViewModels to Views
- Connect to backend
- Handle edge cases
Phase 5: Quality
- Unit tests (ViewModels, business logic)
- UI tests (critical flows)
- Accessibility audit
4. Risk Assessment
| Risk | Mitigation |
|---|---|
| Unknown APIs | Define contract early, use mocks |
| New technology | POC spike first, allocate learning time |
| Performance concerns | Profile early, plan caching/pagination |
| Tight deadline | Negotiate scope, identify MVP |
5. Estimation
Rule of Thumb: Sum task estimates + 30-50% buffer
Break tasks into <1 day chunks. If a task feels >1 day, decompose further.
Implementation Plan Template
# Feature: [Name]
## Overview
[1-2 sentences: what and why]
## Architecture
Pattern: MVVM
State: @Observable
Navigation: NavigationStack
## Tasks
### Phase 1: Foundation (Day 1)
- [ ] Define models
- [ ] Create API client protocol
- [ ] Setup navigation routes
### Phase 2: Logic (Day 2-3)
- [ ] Implement ViewModels
- [ ] Add validation
- [ ] Handle errors
### Phase 3: UI (Day 4)
- [ ] Build main screen
- [ ] Add animations
- [ ] Loading states
### Phase 4: Testing (Day 5)
- [ ] Unit tests
- [ ] UI tests
## Dependencies
- Backend API: [Status]
- Design: [Link]
- Third-party: [None/List]
## Risks
[Table from Risk Assessment]
## Acceptance Criteria
- [ ] User can [action]
- [ ] Error handling complete
- [ ] Unit test coverage >80%
- [ ] Accessibility labels
Integration with Other Skills
Typical flow:
- feature-planning (this skill) - Decompose and plan
- architecture-patterns - Implement chosen pattern
- swiftui-*-patterns - Build UI
- swift-concurrency-expert - Fix concurrency issues
- Verify and ship
Key Principles
- Break tasks <1 day - Forces clarity, enables parallelization
- Identify MVP early - Know what's must-have vs. nice-to-have
- Plan for testing - Not an afterthought
- Document decisions - Record why you chose an approach
- 30-50% buffer - Accounts for unknowns and review cycles
Word count: ~400 (was 2,099) For: Senior/mid engineers who need structure, not hand-holding Focus: Decision-making and decomposition, not tutorials
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gh-issue-fix-flow
End-to-end GitHub issue fix workflow using gh, local code changes, builds/tests, and git push. Use when asked to take an issue number, inspect the issue via gh, implement a fix, run XcodeBuildMCP builds/tests, commit with a closing message, and push.
realm-persistence
Use when implementing Realm database in iOS apps, encountering thread-safety errors, async/await crashes, performance issues with sync/writes, or integrating with Codable APIs
viper-architecture-rambler
Use when architecting complex iOS apps with multiple features, long-term maintenance requirements, or team scalability needs. Use when refactoring Massive View Controllers or implementing testable architecture. Do NOT use for simple single-screen apps, rapid prototypes, or small utility tools.
swiftui-ui-patterns
Best practices and example-driven guidance for building SwiftUI views and components. Use when creating or refactoring SwiftUI UI, designing tab architecture with TabView, composing screens, or needing component-specific patterns and examples.
swiftui-liquid-glass
Implement, review, or improve SwiftUI features using the iOS 26+ Liquid Glass API. Use when asked to adopt Liquid Glass in new SwiftUI UI, refactor an existing feature to Liquid Glass, or review Liquid Glass usage for correctness, performance, and design alignment.
swiftui-view-refactor
Refactor and review SwiftUI view files for consistent structure, dependency injection, and Observation usage. Use when asked to clean up a SwiftUI view’s layout/ordering, handle view models safely (non-optional when possible), or standardize how dependencies and @Observable state are initialized and passed.
Didn't find tool you were looking for?