spec-kit-plan
Create a technical implementation plan from a feature specification.
Input: Optionally specify a change name. If omitted, infer from context or ask.
Steps
-
Select the change and load artifacts
Load
specs/changes/<name>/spec.md. If it does not exist, prompt to use thespec-kit-specifyskill first.Also load
specs/features/relevant to the area being changed. -
Research unknowns
If the spec contains unresolved
[NEEDS CLARIFICATION]markers, pause and suggest using thespec-kit-clarifyskill first unless the user explicitly wants to proceed. -
Write
specs/changes/<name>/plan.mdStructure:
# Plan: <Feature Name> ## Architecture <Bounded context, layers affected, dependency direction. Must comply with FRAMEWORK.md dependency rule.> ## Data Models <Entities, value objects, aggregates. Identity vs. structural equality. Invariants.> ## Interface Contracts <Ports, use case signatures, domain events. Technology-agnostic.> ## Implementation Phases 1. <Phase name> — <what it establishes> 2. ... ## Decisions & Rationale | Decision | Rationale | Alternatives Considered | |----------|-----------|------------------------| ## Constraints & Risks <Known constraints, open technical risks.>Rules:
- Dependency direction must be
infrastructure -> application -> domain. Never invert. - External dependencies affecting business behavior must sit behind ports.
- Repositories are per aggregate root, not per table.
- No framework names in domain or application layer design.
- Cross-context communication via domain events or application services only.
- Dependency direction must be
-
Constitution check
Before finishing, verify the plan does not violate any FRAMEWORK.md non-negotiable architecture rules.
Output
After writing the plan:
- Confirm file location.
- Highlight any architecture decisions worth the user's attention.
- Next step: "Use the
spec-kit-analyseskill to validate consistency across artifacts, or thespec-kit-tasksskill to generate the task list."
Guardrails
- No code generation — plan only.
- If the spec has unresolved clarifications that affect architecture, surface them rather than guessing.
- Protect the domain model first; adapt infrastructure around it.
More from aircury/ai-framework
open-spec-explore
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
33open-spec-apply
Implement tasks from a working change. Use when the user wants to start implementing, continue implementation, or work through planned tasks.
32open-spec-propose
Propose a change with optional working artifacts. Use when the user wants a structured proposal with design notes, tasks, and a clear path to implementation.
32airsync
Collaborative memory system for AI agents and teams. Three-layer architecture (INBOX → PUBLISHED → ARCHIVED) ensures only high-quality knowledge reaches the shared team memory.
31commit-changes
Analyses git changed files in the workspace and makes atomic, functional, and semantic commits using conventional commits format. Use when the user asks to commit changes, create commits from staged/unstaged files, or organise working tree changes into meaningful commits.
31spec-kit-implement
Execute tasks from tasks.md following TDD. Marks tasks complete as it goes. Run after spec-kit-tasks. Syncs specs/features/ on completion.
31