Implementation Planning Skill
Overview
This skill transforms feature specifications and bug reports into detailed, executable implementation plans with testable acceptance criteria.
Core principle: Every task has minimum 2 ACs. Every requirement maps to task(s). Use intel to identify dependencies.
Announce at start: "I'm using the create-plan skill to build an implementation plan."
Quick Reference
| Phase | Key Activities | Output |
|---|---|---|
| 1. Load Spec | Extract requirements and constraints | Requirements list |
| 2. Task Breakdown | Create granular tasks (2-8 hours each) | Task list with 2+ ACs each |
| 3. Dependencies | Identify file & task dependencies | Dependency graph |
| 4. Validate | Verify 100% requirement coverage | Complete plan.md |
Templates You Will Use
- •@.claude/templates/feature-spec.md - Input spec (already created or create if missing)
- •@.claude/templates/plan.md - Output plan with tasks and ACs
- •@.claude/templates/bug-report.md - Alternative input for bug fixes
Intelligence Tool Guide
- •@.claude/shared-imports/project-intel-mjs-guide.md - For dependency analysis
The Process
Copy this checklist to track progress:
Planning Progress: - [ ] Phase 1: Spec Loaded (requirements extracted) - [ ] Phase 2: Tasks Broken Down (2+ ACs per task) - [ ] Phase 3: Dependencies Identified (via project-intel.mjs) - [ ] Phase 4: Plan Validated (100% requirement coverage)
Phase 1: Load Input Spec
Input Options:
- •feature-spec.md - For new features
- •bug-report.md - For bug fixes
- •Natural language - Create spec first if needed
Extract:
- •Requirements (REQ-001, REQ-002, etc.)
- •Constraints (technical, timeline, scope)
- •Success criteria
If no spec exists, create one first using @.claude/templates/feature-spec.md
Example:
## Requirements from feature-spec-oauth.md - REQ-001: Users can log in with Google OAuth - REQ-002: Sessions persist for 7 days - REQ-003: Users can log out ## Constraints - Must work with existing auth system - No breaking changes to current users - Deploy incrementally
Enforcement:
- • All requirements identified
- • Constraints documented
- • Success criteria clear
Phase 2: Task Breakdown
Break each requirement into granular, testable tasks.
Task Sizing Guidelines
- •Ideal: 2-8 hours per task
- •Too large: "Implement authentication system" (break it down!)
- •Just right: "Add google_id column to users table"
AC Requirements
CRITICAL: Every task MUST have minimum 2 testable acceptance criteria.
AC Format:
### Task 1: Add OAuth Database Schema - **ID:** T1 - **Owner:** executor-agent - **Estimated:** 2 hours - **Dependencies:** None **Acceptance Criteria:** - [ ] AC1: users table has google_id VARCHAR(255) column - [ ] AC2: Migration runs without errors - [ ] AC3: google_id is nullable (existing users don't have it)
Testable means:
- •Can verify pass/fail objectively
- •No ambiguity
- •Specific enough to implement
Examples:
❌ Bad ACs (vague):
- •"OAuth works"
- •"System is secure"
- •"Code is clean"
✓ Good ACs (testable):
- •"OAuth redirect returns 302 with correct Google URL"
- •"Session token expires after exactly 7 days"
- •"Logout endpoint returns 200 and clears session cookie"
Use CoD^Σ for Task Breakdown
**Input:** REQ-001: Users can log in with Google OAuth **Breakdown Process (CoD^Σ):**
Step 1: → IntelQuery("existing auth") ↳ Query: project-intel.mjs --search "auth" --type ts ↳ Data: Found src/auth/session.ts, src/auth/middleware.ts
Step 2: ∘ BreakdownByLayer ↳ Database: T1 (add schema) ↳ Backend: T2 (OAuth flow), T3 (session management) ↳ Frontend: T4 (login button), T5 (callback handler) ↳ Testing: T6 (E2E test)
Step 3: → DefineACs ↳ T1-AC1: google_id column added ↳ T1-AC2: Migration succeeds ↳ T2-AC1: OAuth redirect works ↳ T2-AC2: Token validation passes ↳ T3-AC1: Session stored for 7 days ↳ T3-AC2: Session retrieval works ↳ ... (2-3 ACs per task)
Enforcement:
- • Each task is 2-8 hours
- • Each task has minimum 2 ACs
- • All ACs are testable (pass/fail clear)
- • Tasks are granular (not "implement entire feature")
Phase 3: Identify Dependencies
Use project-intel.mjs to identify both file dependencies and task dependencies.
File Dependencies
# Find what files we'll need to modify project-intel.mjs --search "auth|session" --json # Check dependencies of key files project-intel.mjs --dependencies src/auth/session.ts --direction upstream --json # Check what depends on files we'll modify (impact analysis) project-intel.mjs --dependencies src/auth/session.ts --direction downstream --json
Example:
Found existing files: - src/auth/session.ts (stores sessions) - src/auth/middleware.ts (validates sessions) T2 (OAuth flow) will import from session.ts T3 (session management) will modify session.ts → T2 depends on T3 being completed first
Task Dependencies
Map out which tasks must complete before others:
## Task Dependency Graph **Sequential:** - T1 (DB schema) → T2 (OAuth backend) → T3 (UI) **Parallel after T1:** - T4 (session storage) can run parallel to T2 - T5 (logout endpoint) needs T2 complete **Final:**
T1 (DB) ├→ T2 (OAuth) ─→ T3 (UI) ─→ T6 (E2E test) └→ T4 (Session) ─→ T5 (Logout) ─┘
Enforcement:
- • All file dependencies identified via project-intel.mjs
- • Task dependencies mapped (no circular deps!)
- • Parallel vs sequential tasks identified
- • Critical path identified
Phase 4: Validate Plan
Final validation before plan is complete:
Validation Checklist
## Plan Validation
### Requirement Coverage
- [ ] REQ-001 → T1, T2, T3 ✓
- [ ] REQ-002 → T4, T5 ✓
- [ ] REQ-003 → T6, T7 ✓
- [ ] Coverage: 100% ✓
### Task Quality
- [ ] All tasks have 2+ ACs
- [ ] All ACs are testable
- [ ] No vague tasks ("make it work")
### Dependencies
- [ ] All dependencies identified
- [ ] No circular dependencies
- [ ] Critical path defined
### Completeness
- [ ] Risks identified
- [ ] Testing strategy defined
- [ ] Rollback plan considered
Generate plan.md
Use @.claude/templates/plan.md with:
- •Goal: High-level objective
- •Tasks: Each with ID, owner, ACs, dependencies
- •Dependencies: Dependency graph
- •Risks: Potential blockers
- •Verification: How to verify completion
File Naming:
YYYYMMDD-HHMM-plan-<id>.md
Example: 20250119-1440-plan-oauth-implementation.md
Enforcement:
- • Template structure followed
- • All sections populated
- • File named correctly
Planning Patterns
Pattern 1: Feature Planning
Characteristics:
- •Multiple requirements
- •Cross-cutting changes (DB, backend, frontend)
- •Phased rollout possible
Strategy:
- •Group by layer (DB, backend, frontend, testing)
- •Start with schema/infrastructure
- •Build up to user-facing features
- •End with E2E tests
Example: See Few-Shot Example 1 in planner agent
Pattern 2: Refactor Planning
Characteristics:
- •Improve existing code
- •Must maintain behavior
- •Risk of breaking changes
Strategy:
- •Use intel to understand current implementation
- •Create comprehensive tests FIRST
- •Small, incremental refactors
- •Verify no regressions at each step
Example: See Few-Shot Example 2 in planner agent
Pattern 3: Migration Planning
Characteristics:
- •Large-scale change
- •Must support both old and new
- •Gradual rollout
Strategy:
- •Run both systems in parallel
- •Migrate incrementally
- •Feature flags for gradual rollout
- •Only deprecate old after 100% migration
Example: See Few-Shot Example 3 in planner agent
Few-Shot Example: Feature Planning
Input: feature-spec-oauth.md
Requirements: - REQ-001: Users can log in with Google OAuth - REQ-002: Sessions persist for 7 days - REQ-003: Users can log out
Planning Process (CoD^Σ):
Step 1: → LoadSpec
↳ Source: feature-spec-oauth.md
↳ Requirements: 3
Step 2: ∘ BreakdownTasks
↳ REQ-001 → T1 (DB schema), T2 (OAuth flow), T3 (UI)
↳ REQ-002 → T4 (Session storage), T5 (Expiry logic)
↳ REQ-003 → T6 (Logout endpoint), T7 (Clear session)
Step 3: ⇄ IntelQuery("dependencies")
↳ Query: project-intel.mjs --search "auth|session"
↳ Data: Existing: src/auth/session.ts (can reuse)
Step 4: → DefineACs
↳ T1-AC1: users.google_id column exists
↳ T1-AC2: Migration runs successfully
↳ T2-AC1: OAuth redirect works
↳ T2-AC2: Google token validates
↳ ... (2+ ACs per task)
Step 5: ∘ Validate
↳ REQ-001 → T1, T2, T3 ✓
↳ REQ-002 → T4, T5 ✓
↳ REQ-003 → T6, T7 ✓
↳ All tasks have 2+ ACs ✓
Output: plan.md with 7 tasks, each with 2-3 ACs
Enforcement Rules
Rule 1: Minimum 2 ACs Per Task
❌ Violation:
### Task: Add login button **Acceptance Criteria:** - Button exists
✓ Correct:
### Task: Add login button **Acceptance Criteria:** - [ ] AC1: Button renders with "Log in with Google" text - [ ] AC2: Button click triggers OAuth redirect to Google - [ ] AC3: Button shows loading state during authentication
Rule 2: All Requirements → Tasks
❌ Violation:
Requirements: REQ-001, REQ-002, REQ-003 Tasks: T1 (for REQ-001), T2 (for REQ-001) # Missing REQ-002 and REQ-003!
✓ Correct:
Requirements: REQ-001, REQ-002, REQ-003 Tasks: - T1, T2 (REQ-001) - T3, T4 (REQ-002) - T5 (REQ-003) Coverage: 100% ✓
Rule 3: No Vague Tasks
❌ Violation:
### Task: Fix the auth system ### Task: Make it work ### Task: Improve performance
✓ Correct:
### Task: Add missing setState dependency to useEffect ### Task: Validate OAuth token expiry ### Task: Replace N+1 query with single JOIN query
Common Pitfalls
| Pitfall | Impact | Solution |
|---|---|---|
| Tasks too large | Can't estimate, hard to verify | Break into 2-8 hour chunks |
| Vague ACs | Can't verify completion | Make testable (pass/fail clear) |
| Missing dependencies | Blocked tasks | Use project-intel.mjs to find deps |
| No requirement coverage | Incomplete implementation | Validate 100% coverage |
When to Use This Skill
Use create-plan when:
- •User has a feature spec or bug report ready
- •User asks "how should I implement X?"
- •User wants to plan before coding
- •User wants task breakdown with estimates
Don't use when:
- •User wants to start coding immediately (use execution skill)
- •User needs to analyze code first (use analyze-code skill)
- •User just has a rough idea (use brainstorming skill first)
Related Skills & Commands
- •Brainstorming skill - For refining rough ideas before planning
- •Analyze-code skill - For understanding existing code before refactor planning
- •Execution skill - For implementing the plan after creation
- •/plan command - User-invoked planning (can invoke this skill)
Success Metrics
Plan Quality:
- •100% requirement coverage
- •100% of tasks have 2+ ACs
- •No circular dependencies
Estimating:
- •Tasks sized to 2-8 hours
- •Critical path identified
- •Parallel work opportunities noted
Version
Version: 1.0 Last Updated: 2025-10-19 Owner: Claude Code Intelligence Toolkit