Generate a detailed technical implementation plan from a feature specification. Use when the user wants to plan implementation, says "create plan", "build plan", "technical plan", "implementation plan", or is ready to move from specification to technical design.
From spec-kitnpx claudepluginhub chenxizhang/agent-skills-and-plugins --plugin spec-kitThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
You are converting a feature specification into a detailed technical implementation plan. The plan bridges the gap between WHAT (spec) and HOW (implementation).
Upstream source: github/spec-kit
specs/[###-feature-name]/spec.md.speckit/constitution.md should exist with filled-in principlesIf no spec exists, instruct the user to run /spec-kit:specify first.
specs/Read the following files:
specs/[###-feature]/spec.md (required).speckit/constitution.md (for compliance check)specs/[###-feature]/research.md (if exists, incorporate findings)Before proceeding, verify planned approach will comply with every constitution principle. For each principle:
Constitution Compliance:
[PASS] Principle I: [Name] — [How the plan complies]
[PASS] Principle II: [Name] — [How the plan complies]
...
If any principle would be violated, STOP and report the conflict. Do not proceed until resolved.
Check the spec for any [NEEDS CLARIFICATION] markers. For each one:
/spec-kit:clarify)Analyze the specification and the current codebase to determine technical context:
Extract unknowns from the spec's Technical Context:
Create specs/[###-feature]/research.md:
# Technical Research: [FEATURE]
**Date**: [TODAY]
**Spec**: ../spec.md
## Key Decisions
| Decision | Choice | Rationale | Alternatives Considered |
|----------|--------|-----------|------------------------|
| [Topic] | [What was chosen] | [Why chosen] | [What else was evaluated] |
## Open Questions
[Any remaining technical uncertainties]
## References
[Relevant documentation or examples]
Prerequisites: research.md complete
specs/[###-feature]/data-model.md):# Data Model: [FEATURE]
## Entities
### [Entity Name]
- [attribute]: [type] — [description, validation rules]
- [attribute]: [type] — [description]
## Relationships
- [Entity A] → [Entity B]: [relationship type and description]
## State Transitions (if applicable)
- [Entity]: [state-from] → [state-to]: [trigger condition]
## Constraints
- [Business rule or data constraint]
Interface Contracts (create specs/[###-feature]/contracts/ directory):
Create implementation plan specs/[###-feature]/plan.md:
# Implementation Plan: [FEATURE]
**Branch**: `[###-feature-name]` | **Date**: [TODAY] | **Spec**: spec.md
## Summary
[Primary requirement + chosen technical approach in 1-2 sentences]
## Technical Context
**Language/Version**: [detected from codebase or research]
**Primary Dependencies**: [key libraries/frameworks]
**Storage**: [database/file system/API, or N/A]
**Testing**: [framework and strategy]
**Target Platform**: [web/mobile/CLI/library]
**Project Type**: [library/cli/web-service/mobile-app/compiler/desktop-app]
**Performance Goals**: [from spec success criteria]
**Constraints**: [from spec and constitution]
**Scale/Scope**: [e.g., 10k users, 1M LOC]
## Constitution Check
*Passed before Phase 0. Re-checked after design.*
[For each principle — one line confirming compliance or noting how the plan addresses it]
## Project Structure
### Documentation (this feature)
```text
specs/[###-feature]/
├── spec.md
├── plan.md (this file)
├── research.md (Phase 0 output)
├── data-model.md (Phase 1 output)
├── contracts/ (Phase 1 output)
└── tasks.md (generated by /spec-kit:tasks)
[Proposed file/directory structure — adjust based on project type]
src/
├── models/
├── services/
└── [...]
tests/
├── contract/
├── integration/
└── unit/
Structure Decision: [Document the selected structure and why]
Fill ONLY if Constitution Check has violations that must be justified
| Violation | Why Needed | Simpler Alternative Rejected Because |
|---|---|---|
| [e.g., 4th project] | [current need] | [why 3 projects insufficient] |
### Step 7: Re-evaluate Constitution Check
After completing the design, re-check compliance with each constitution principle. Update the Constitution Check section in plan.md with the post-design assessment.
### Step 8: Output Summary
Implementation Plan Created: specs/[###-feature-name]/
Files generated: plan.md — Implementation plan research.md — Technical research and decisions data-model.md — Data model definition contracts/ — Interface contracts (if applicable)
Constitution: All principles — COMPLIANT (or list any issues) Phases: [count] implementation phases
Next step: Run /spec-kit:tasks to generate the implementation task list.
## Important Rules
- All file paths must be absolute or relative to the project root.
- The plan must address EVERY functional requirement (FR-###) from the spec.
- The plan must map to EVERY success criterion (SC-###) from the spec.
- Constitution compliance is a hard gate — do not proceed if any principle is violated.
- Favor simplicity. Document any complexity in the Complexity Tracking table with justification.
- Research decisions must include alternatives considered and why they were rejected.
- The plan is a technical document — it can and should mention specific technologies, patterns, and approaches (unlike the spec).