Create structured implementation plans for complex features, refactoring, or multi-phase work. MUST be used when user asks to "create a plan" or "make an implementation plan" or work requires multiple distinct phases. Creates file named IMPLEMENTATION_PLAN_<feature-name>.md with phases that include tasks, quality gates (code review, tests, linter, type checker), and status tracking. Each phase must have Goal, Status (Not Started/In Progress/Complete), Tasks checklist, and Quality Gates checklist. Plans are living documents - update as work progresses, commit with code changes.
Creates structured implementation plans for complex features with phases, tasks, and quality gates. Use when user requests a plan or work requires multiple distinct phases.
/plugin marketplace add sontek/agent-skills/plugin install agent-skills@agent-skills-localThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Create structured implementation plans for complex features, refactoring, or multi-phase work. Use markdown files with phases and checklists to track progress and ensure quality gates are met.
Create a plan when:
Don't create a plan for:
Implementation plans use a markdown file named
IMPLEMENTATION_PLAN_<feature-name>.md in the repository root. Use a short,
descriptive feature name in kebab-case (lowercase with hyphens).
Examples:
IMPLEMENTATION_PLAN_user-authentication.mdIMPLEMENTATION_PLAN_async-queue-processing.mdIMPLEMENTATION_PLAN_api-v2-migration.mdThe plan includes:
Each phase follows this structure:
## Phase N: [Phase Name]
**Goal:** [Clear statement of what this phase achieves]
**Status:** Not Started | In Progress | Complete
### Tasks
- [ ] [Specific task to complete]
- [ ] [Another task]
- [ ] [More tasks as needed]
### Quality Gates
- [ ] Code review (self-review changes before moving to next phase)
- [ ] Tests passing (run test suite and verify all tests pass)
- [ ] Linter passing (run linter and fix all issues)
- [ ] Type checker passing (run type checker and fix all issues)
- [ ] Manual testing (verify functionality works as expected)
Phase Status Values:
Before creating the plan:
Organize work into logical phases:
Example phase breakdown for adding authentication:
Create IMPLEMENTATION_PLAN_<feature-name>.md in the repository root:
# Implementation Plan: [Feature Name]
**Created:** [Date] **Status:** In Progress | Complete | Paused
## Overview
[2-4 sentence summary of what's being implemented and why. Include the problem
being solved and the high-level approach.]
## Phases
[Include each phase using the phase template above]
## Notes
### Decisions Made
- [Key architectural or implementation decisions]
- [Trade-offs considered]
### Open Questions
- [ ] [Any unresolved questions]
- [ ] [Items that need clarification]
### Dependencies
- [External dependencies or prerequisites]
- [Other features or systems this depends on]
Before starting implementation:
When beginning a phase:
**Status:** In ProgressAs you work:
Before marking a phase complete:
pytest or equivalentruff check . or equivalentmypy . or equivalent**Status:** CompleteThe plan is a living document:
# Implementation Plan: User Authentication
**Created:** 2026-01-07 **Status:** In Progress **Plan File:**
`IMPLEMENTATION_PLAN_user-authentication.md`
## Overview
Add JWT-based authentication to the API to secure endpoints and track user
actions. Currently all endpoints are public. This implements standard JWT
authentication with refresh tokens and role-based access control.
## Phases
### Phase 1: Database Models
**Goal:** Add user and authentication tables to database
**Status:** Complete
#### Tasks
- [x] Create User model with email, password_hash, role fields
- [x] Create RefreshToken model for token rotation
- [x] Generate and test database migrations
- [x] Add indexes on email and token fields
#### Quality Gates
- [x] Code review (self-review changes before moving to next phase)
- [x] Tests passing (run test suite and verify all tests pass)
- [x] Linter passing (run linter and fix all issues)
- [x] Type checker passing (run type checker and fix all issues)
- [x] Manual testing (verify migrations run successfully)
---
### Phase 2: Authentication Service
**Goal:** Implement core authentication logic and JWT handling
**Status:** In Progress
#### Tasks
- [x] Create AuthService class
- [x] Implement password hashing with bcrypt
- [x] Implement JWT token generation
- [x] Implement token refresh logic
- [ ] Add role-based permission checks
- [ ] Add rate limiting for login attempts
#### Quality Gates
- [ ] Code review (self-review changes before moving to next phase)
- [ ] Tests passing (run test suite and verify all tests pass)
- [ ] Linter passing (run linter and fix all issues)
- [ ] Type checker passing (run type checker and fix all issues)
- [ ] Manual testing (verify token generation and validation)
---
### Phase 3: API Endpoints
**Goal:** Add authentication endpoints to the API
**Status:** Not Started
#### Tasks
- [ ] Add POST /auth/register endpoint
- [ ] Add POST /auth/login endpoint
- [ ] Add POST /auth/refresh endpoint
- [ ] Add POST /auth/logout endpoint
- [ ] Add authentication middleware for protected routes
- [ ] Update existing endpoints to require authentication
#### Quality Gates
- [ ] Code review (self-review changes before moving to next phase)
- [ ] Tests passing (run test suite and verify all tests pass)
- [ ] Linter passing (run linter and fix all issues)
- [ ] Type checker passing (run type checker and fix all issues)
- [ ] Manual testing (test all endpoints with curl/Postman)
---
### Phase 4: Tests and Documentation
**Goal:** Add comprehensive tests and update documentation
**Status:** Not Started
#### Tasks
- [ ] Add unit tests for AuthService
- [ ] Add integration tests for auth endpoints
- [ ] Add tests for protected endpoint access
- [ ] Update API documentation
- [ ] Add authentication guide to README
#### Quality Gates
- [ ] Code review (self-review changes before moving to next phase)
- [ ] Tests passing (run test suite and verify all tests pass)
- [ ] Linter passing (run linter and fix all issues)
- [ ] Type checker passing (run type checker and fix all issues)
- [ ] Manual testing (verify docs are accurate and clear)
## Notes
### Decisions Made
- Using JWT instead of sessions for stateless authentication
- Using bcrypt for password hashing (industry standard)
- Implementing refresh tokens for better security
- Using role-based access control (admin, user roles)
### Open Questions
- [x] Should we support OAuth2 providers? - No, not in initial version
- [ ] What should token expiration time be? - Need to decide
### Dependencies
- Requires bcrypt library for password hashing
- Requires PyJWT library for JWT handling
- Database must support migrations
Keep phases small:
Be specific in tasks:
Update as you go:
Use quality gates consistently:
Commit plan updates:
When creating and working with plans:
IMPLEMENTATION_PLAN.mdUse with commit skill:
feat(auth): Implement Phase 2 - Authentication serviceUse with code-review skill:
Use with create-pr skill:
Don't use generic filenames:
IMPLEMENTATION_PLAN.md (conflicts with other plans)IMPLEMENTATION_PLAN_user-authentication.md (unique and descriptive)Don't make phases too large:
Don't skip quality gates:
Don't let plan get stale:
Don't be too vague: