
plan-phases
by charlesjones-dev
Automate developer busy work with AI-powered plugins for Claude Code.
SKILL.md
name: plan-phases description: "Use when creating implementation plans, phase planning documents, breaking features into phases, or when /workflow-plan-phases command is invoked. Provides methodology for context-efficient phase sizing and dependency analysis."
Phase Planning Skill
This skill provides methodology for creating implementation plans that are optimized for sub-agent execution, with properly sized phases that respect context window constraints.
Overview
A good phase plan:
- Breaks work into independently executable chunks
- Sizes phases to fit within sub-agent context budgets
- Minimizes dependencies between phases where possible
- Provides clear acceptance criteria for verification
- Uses whole number phases only (no 1.1, 1.2 sub-phases)
Step 1: Gather Requirements (Always Ask Questions)
Never skip this step. Even if the description seems complete, clarifying questions:
- Reveal implicit assumptions
- Uncover edge cases
- Establish scope boundaries
- Identify existing constraints
Question Categories
Scope & Boundaries
- What's explicitly OUT of scope?
- Is this greenfield or integrating with existing code?
- Are there existing patterns/conventions to follow?
- What's the target completion state? MVP or production-ready?
Technical Context
- What's the tech stack? (language, framework, database)
- Are there existing models/services this builds on?
- What authentication/authorization exists?
- Are there performance requirements?
Integration Points
- What external services/APIs are involved?
- Are there existing interfaces to conform to?
- What other systems will consume this?
- Are there upstream dependencies not yet built?
User Experience
- Who are the users? (end users, admins, developers, APIs)
- What's the primary workflow/happy path?
- What error states need handling?
- Are there accessibility requirements?
Constraints
- Security requirements? (OWASP, compliance, data sensitivity)
- Testing requirements? (coverage, E2E, specific frameworks)
- Documentation requirements?
- Deployment constraints?
Question Presentation Format
Present 3-5 targeted questions based on the description:
Before I create the implementation plan, I have a few questions:
1. **Existing Code**: Is this a new feature in an existing codebase, or greenfield?
If existing, what patterns should I follow?
2. **Auth Context**: You mentioned user roles - is there an existing auth system
to integrate with, or is that part of this work?
3. **Data Layer**: What database are you using? Are there existing models
this relates to?
4. **Scope Boundary**: Should this include the admin UI for managing X,
or just the core functionality?
5. **Testing**: What level of test coverage do you need? Unit only,
or integration/E2E as well?
Wait for answers before proceeding.
Step 2: Phase Sizing Guidelines
Context Budget Per Phase
Target each phase to consume 30-50k tokens of sub-agent context:
- ~10k tokens: Phase spec + project context (CLAUDE.md, conventions)
- ~15-25k tokens: File reads and code analysis
- ~10-15k tokens: Implementation work and verification
Sizing Heuristics
RIGHT-SIZED Phase (~30-50k tokens):
- Creates/modifies 2-5 files
- Implements 1-2 closely related features
- Can be verified with a clear test or check
- Completes in one sub-agent session without compacting
TOO LARGE Phase (>60k tokens - split it):
- Creates/modifies 6+ files
- Implements multiple unrelated features
- Requires reading large portions of codebase
- Description exceeds ~500 words
- Contains words like "and also", "as well as", "plus"
TOO SMALL Phase (<15k tokens - combine it):
- Single file change
- Config-only changes
- Simple additions with no logic
- Could be done in 5 minutes manually
Splitting Strategy
When a phase is too large, split by:
- Layer: Separate data model, business logic, API, UI
- Entity: One phase per core entity/resource
- Operation: Separate CRUD operations if complex
- Concern: Separate core logic from error handling, logging, etc.
Example - Too Large:
Phase 1: Build user management with registration, login, profile
editing, password reset, email verification, and admin user listing
Split Into:
Phase 1: User model and registration endpoint
Phase 2: Login and session management
Phase 3: Password reset flow
Phase 4: Email verification
Phase 5: Profile editing
Phase 6: Admin user listing
Step 3: Dependency Planning
Dependency Types to Track
Hard Dependencies (must complete first):
- Schema/model that other phases import
- Auth middleware other phases use
- Shared utilities or helpers
- Base classes being extended
Soft Dependencies (preferred order, but parallelizable):
- Related features that share patterns
- Test setup that other tests use
- Documentation that references implementation
No Dependencies (fully parallel):
- Isolated features
- Different layers of same feature (if interfaces defined upfront)
- Independent utilities
Minimizing Dependencies
Strategies to reduce coupling between phases:
-
Define interfaces early: First phase exports types/interfaces, later phases implement against them
-
Stub dependencies: Phase can stub what it needs, later phase replaces stub with real implementation
-
Feature flags: Phases can merge independently, enable via flag
-
Vertical slices: Each phase is a thin vertical slice through all layers rather than horizontal layers
Step 4: Plan Document Structure
File Location
docs/plans/{feature-name}.md
Slugify the feature name:
- "User Authentication System" ->
user-authentication-system.md - "API Rate Limiting" ->
api-rate-limiting.md
Document Template
# {Feature Name} Implementation Plan
## Overview
{2-3 sentence summary of what this plan delivers}
## Goals
- {Primary goal}
- {Secondary goal}
- {Tertiary goal}
## Non-Goals (Out of Scope)
- {Explicit exclusion 1}
- {Explicit exclusion 2}
## Technical Context
- **Stack**: {language, framework, database}
- **Existing Code**: {relevant existing modules/patterns}
- **Integration Points**: {external services, APIs}
---
## Phase 1: {Phase Name}
### Objective
{One sentence describing what this phase accomplishes}
### Specification
{Detailed description of the work. Include:}
- What to create/modify
- Specific requirements
- Edge cases to handle
- Error handling expectations
### Files to Create/Modify
- `path/to/file.ts` - {purpose}
- `path/to/other.ts` - {purpose}
### Acceptance Criteria
- [ ] {Verifiable criterion 1}
- [ ] {Verifiable criterion 2}
- [ ] {Verifiable criterion 3}
### Dependencies
- **Requires**: {None | Phase X}
- **Blocks**: {Phase Y, Phase Z}
### Estimated Scope
- Files: {2-5}
- Complexity: {Low | Medium | High}
---
## Phase 2: {Phase Name}
{Same structure as Phase 1}
---
## Execution Strategy
### Dependency Graph
Phase 1 --+-- Phase 3 | Phase 2 --+ | Phase 4 <-+-- Phase 5
### Recommended Execution
- **Parallel Group 1**: Phase 1, Phase 2
- **Sequential**: Phase 3 (after Phase 1)
- **Parallel Group 2**: Phase 4, Phase 5 (after Phase 3)
---
## Verification Checklist
After all phases complete:
- [ ] {Integration verification 1}
- [ ] {Integration verification 2}
- [ ] {End-to-end test}
## Open Questions
- {Any unresolved decisions to revisit}
Step 5: Phase Writing Guidelines
Phase Names
Use action-oriented names:
Good:
- "Create User Model and Repository"
- "Implement JWT Authentication"
- "Add Rate Limiting Middleware"
- "Build Password Reset Flow"
Bad:
- "User Stuff"
- "Part 1"
- "Backend Work"
- "Misc Improvements"
Specification Writing
Be specific enough that a sub-agent can implement without guessing:
Vague:
"Add user authentication"
Specific:
"Create POST /api/auth/login endpoint that:
- Accepts { email, password } body
- Validates against User model
- Returns JWT token with 24h expiry on success
- Returns 401 with { error: 'Invalid credentials' } on failure
- Rate limits to 5 attempts per 15 minutes per IP
- Logs failed attempts with IP and email (not password)"
Acceptance Criteria
Write testable criteria:
Not Testable:
- "Works correctly"
- "Handles errors"
- "Is secure"
Testable:
- "POST /api/users returns 201 with user object (excluding password)"
- "Invalid email format returns 400 with validation error"
- "Passwords are hashed with bcrypt cost factor 12"
- "JWT tokens expire after 24 hours"
Anti-Patterns to Avoid
No Sub-Phases
Wrong:
Phase 1: Setup
Phase 1.1: Database schema
Phase 1.2: Model classes
Phase 1.3: Repository layer
Right:
Phase 1: Database Schema and Migrations
Phase 2: User Model and Repository
Phase 3: Authentication Service
No Kitchen Sink Phases
Wrong:
Phase 3: Implement all remaining features including search,
filtering, pagination, sorting, export, and batch operations
Right:
Phase 3: List Endpoint with Pagination
Phase 4: Search and Filtering
Phase 5: Sorting Options
Phase 6: Export Functionality
Phase 7: Batch Operations
No Vague Phases
Wrong:
Phase 2: Handle edge cases and fix bugs
Right:
Phase 2: Input Validation and Error Handling
- Validate email format, password strength
- Handle duplicate email registration
- Return structured error responses
No Dependency Spaghetti
Wrong:
Phase 1 depends on Phase 3
Phase 3 depends on Phase 2
Phase 2 depends on Phase 4
Phase 4 depends on Phase 1 (circular!)
Right:
Phase 1: Foundation (no dependencies)
Phase 2: Core Logic (depends on 1)
Phase 3: Extended Features (depends on 2)
Phase 4: Polish and Edge Cases (depends on 3)
Final Checklist
Before delivering plan:
- Asked clarifying questions and incorporated answers
- Each phase is 30-50k tokens of work (2-5 files)
- No sub-phases (whole numbers only)
- Every phase has clear acceptance criteria
- Dependencies are explicit and acyclic
- Specifications are detailed enough to implement without guessing
- File saved to docs/plans/{feature-name}.md
IMPORTANT: Planning Only — Do Not Implement
This skill is for planning only. After creating the plan, STOP.
Do NOT:
- Start implementing any phases
- Write any code
- Create any files other than the plan document
- Begin execution automatically
After the plan is complete:
- Present the plan document to the user
- Ask if they want to make any revisions
- Inform them to use
/workflow-implement-phasesor theimplement-phasesskill when ready to execute
The user decides when to proceed with implementation.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon

