Creates detailed implementation plans through interactive research and iteration. Use when in plan mode, planning features, designing implementations, breaking down tasks into phases, or when the user asks "how should I implement X", "plan this feature", or wants a technical specification.
Resources
1Install
npx skillscat add bnadlerjr/dotfiles/implementation-planning Install via the SkillsCat registry.
Implementation Planning
Create detailed implementation plans through an interactive, iterative process. Be skeptical, thorough, and collaborative.
Quick Start
Given a task or ticket:
- Read all referenced documents FULLY
- Research by spawning
codebase-navigator+codebase-analyzerin parallel - Present understanding with
file:linereferences, ask only unanswerable questions - Verify any user corrections against code before accepting
- Outline the phase structure, get approval
- Detail each phase, then exit with ExitPlanMode
When This Skill Applies
- You're in plan mode (
permission_mode: plan) - User asks to create an implementation plan
- User references a ticket/task to plan
Core Principles
- Interactive: Never dump a complete plan. Gather context → verify understanding → align on approach → detail phases.
- Grounded: Every claim verified against actual code. Include
file:linereferences. - Bounded: Every plan MUST include "What We're NOT Doing" section.
- TDD-First: Plans describe what to build, not how to test. Automated testing is implicit—every implementation follows TDD (write failing test → implement → refactor). Never include explicit "testing phases" or "write tests" steps.
- Manual Verification: Each phase ends with manual verification to ensure we're on track. This is separate from TDD—it validates the feature works as expected before proceeding.
Process
Step 1: Context Gathering
Read all mentioned files FULLY (tickets, research, existing plans)
- NEVER read files partially
Spawn research agents in parallel:
- codebase-navigator → Find all relevant files
- codebase-analyzer → Understand current implementation
- docs-locator → Find existing documentation
- managing-jira skill → Get ticket details (if Jira mentioned)
Present informed understanding:
Based on the ticket and my research, I understand we need to [summary]. I've found: - [Current implementation detail with file:line] - [Relevant pattern or constraint] - [Potential complexity identified] Questions my research couldn't answer: - [Question requiring human judgment]Only ask questions you genuinely cannot answer through code investigation.
Step 2: Research & Discovery
After clarifications:
Verify corrections: If user corrects you, spawn new research tasks. Don't just accept—verify.
Track with TodoWrite: Create a research checklist
Present findings and options:
Based on my research: **Current State:** - [Key discovery with file reference] - [Pattern to follow] **Design Options:** 1. [Option A] - [pros/cons] 2. [Option B] - [pros/cons] **Open Questions:** - [Technical uncertainty] - [Design decision needed] Which approach aligns best?
Step 3: Structure First
Before detailing, present outline:
Proposed plan structure:
## Overview
[1-2 sentences]
## Phases:
1. [Phase name] - [what it accomplishes]
2. [Phase name] - [what it accomplishes]
Does this phasing make sense?Get feedback before proceeding.
Step 4: Detailed Plan
When user approves structure, present the complete plan. Use the template in templates/plan-template.md.
Ensure your plan has a clear H1 header like # [Feature Name] Implementation Plan.
Guidelines
Do
- Read files FULLY before planning
- Include file:line references for all claims
- Use custom agents for research (they work in plan mode)
- Verify claims against code
- Get buy-in at each step
- Assume TDD for automated tests—don't add explicit "write tests" steps
- Include manual verification checkpoints at phase boundaries
Don't
- Write complete plans before alignment
- Accept corrections without verification
- Leave open questions in final plan
- Assume—verify with code
No Open Questions Rule
If you encounter open questions during planning:
- STOP
- Research or ask for clarification immediately
- Do NOT present a plan with unresolved questions
- Every decision must be made before finalizing
Handling Edge Cases
- No existing patterns found: Document this explicitly in the plan; propose a new pattern with justification for the approach chosen
- Conflicting information: Escalate to user with specific details about what conflicts and where (include
file:linereferences) - User corrections conflict with code: Present the discrepancy—don't silently accept either version
- Agent failures or empty results: Retry with different query terms; fall back to manual Glob/Grep; if still unsuccessful, note the gap and ask user for guidance
- Scope ambiguity: Default to smaller scope; explicitly list what's deferred in "What We're NOT Doing"
See also: Common Mistakes
Agent Reference
Quick reference for common research agents (all read-only, work in plan mode). Agents are discovered dynamically—check Task tool for current availability.
| Agent | Purpose |
|---|---|
codebase-navigator |
Find relevant files |
codebase-analyzer |
Understand implementation details |
codebase-pattern-finder |
Find similar features to model after |
docs-locator |
Find existing documentation |
docs-analyzer |
Extract insights from documents |
managing-jira skill |
Jira operations (search, create, transition, etc.) |
Related Skills
- research: For deeper codebase exploration before planning
- thinking-patterns: For structured approach selection (
/thinking tree-of-thoughtsfor comparing approaches) - breaking-down-stories: For decomposing user stories into tasks after planning
Common Patterns
Database Changes
- Schema/migration
- Store methods
- Business logic
- API endpoints
- Client updates
New Features
- Research existing patterns
- Data model
- Backend logic
- API layer
- UI last
Refactoring
- Document current behavior
- Incremental changes
- Backwards compatibility
- Migration strategy
Examples
Example 1: User references a ticket
Input: "Plan the implementation for PROJ-123"
Expected behavior:
- Read ticket
- Spawn
codebase-navigator+codebase-analyzeragents in parallel - Present findings:
Based on PROJ-123, I understand we need to add rate limiting to the API. I've found: - Current API handlers at `src/api/handlers.py:45-120` - No existing rate limiting middleware - Redis already configured at `src/config/redis.py:12` Questions my research couldn't answer: - Should rate limits be per-user or per-API-key? - After clarification, present structure outline
- Detail phases after user approves structure
Example 2: User asks to plan a feature
Input: "I need to add user authentication to this app"
Expected behavior:
- Research existing auth patterns in codebase
- Present understanding:
I found no existing authentication. The app uses Express.js (`package.json:8`). Design Options: 1. JWT tokens - Stateless, scales well, requires refresh token handling 2. Session cookies - Simpler, requires session store (Redis available) Questions: - OAuth integration needed, or just email/password? - After clarification, present structure outline
- Detail phases after approval
Example 3: Planning from research document
Input: "Plan implementation based on the auth research doc"
Expected behavior:
- Read research doc FULLY
- Extract key decisions already made
- Present understanding without re-asking resolved questions
- Proceed to structure outline faster (context already gathered)
Example 4: Handling user correction
Context: Claude presented understanding that "the API uses REST endpoints"
User correction: "Actually, we're using GraphQL for this service"
Expected behavior:
- Don't just accept - spawn
codebase-analyzerto verify - If GraphQL found: "You're right, I found the schema at
src/graphql/schema.graphql:1. Updating my understanding." - If REST found: "I found REST handlers at
src/api/routes.py:45but no GraphQL. Can you point me to the GraphQL implementation?" - If both found: "I found both REST (
src/api/routes.py:45) and GraphQL (src/graphql/schema.graphql:1). Which should this feature use?" - Update plan only after verification
Common Mistakes
Avoid these pitfalls:
| Mistake | Why It's Wrong | Do This Instead |
|---|---|---|
| Dumping a complete plan immediately | User can't course-correct early | Present understanding first, get buy-in at each step |
| Accepting user corrections blindly | User may be wrong or outdated | Verify corrections against code before proceeding |
| Leaving "TBD" or "TODO" in final plan | Plan should be actionable | Resolve all questions before finalizing |
Missing file:line references |
Claims become unverifiable | Every code reference needs a location |
| Skipping "What We're NOT Doing" | Scope creep inevitable | Always define boundaries explicitly |
| Adding explicit "testing" phases | TDD is implicit in all implementation | Describe what to build; tests come with implementation |