spec-kit-plan
SKILL.md
Spec Kit Plan
Generate implementation design artifacts from the approved feature specification.
When to Use
spec.mdexists and you needplan.mdplus Phase 0/1 design outputs for task generation.plan.mdis missing, stale, or invalid after changes tospec.mdormemory/constitution.md.- The next step is
spec-kit-tasks, but technical context and design decisions are not yet documented.
When Not to Use
- No usable
spec.mdexists yet (spec-kit-specifyfirst). - High-impact ambiguity in
spec.mdstill blocks architecture or validation decisions (spec-kit-clarifyfirst). - You are decomposing design into executable work items (
spec-kit-tasks). - You only need a read-only consistency audit (
spec-kit-analyze). - You are reconciling cross-artifact drift discovered mid-work (
spec-kit-reconcile).
Router Fit
- Primary route from
spec-kitafterspec-kit-specify/spec-kit-clarify. - Must complete before
spec-kit-tasks. - Depends on constitution output from
spec-kit-constitution.
Preconditions
- Work from the target repository root.
- Active feature branch resolves to a spec directory (
NNN-feature-nameformat when git is available). memory/constitution.mdexists and is current for planning gates.
Workflow
-
Resolve active feature paths and initialize
plan.md:- Run
scripts/setup-plan.sh --jsonexactly once. - Parse and retain:
FEATURE_SPEC,IMPL_PLAN,SPECS_DIR,BRANCH. - If the script exits non-zero (for example branch gate failure), stop and report the blocking error.
- Run
-
Enforce artifact gates before writing design outputs:
- If
FEATURE_SPEC(spec.md) is missing, stop and route tospec-kit-specify. - If
memory/constitution.mdis missing, stop and route tospec-kit-constitution. - If
spec.mdhas unresolved high-impact ambiguity that can change architecture, data model, testing, UX, operations, or compliance, stop and route tospec-kit-clarify.
- If
-
Load planning inputs with template fallback:
- Required:
spec.md,memory/constitution.md. - Preferred plan template:
{REPO_ROOT}/.specify/templates/plan-template.md. - Fallback template:
assets/plan-template.md. - Preserve template heading order; replace placeholders rather than adding parallel structures.
- Required:
-
Draft
plan.mdcore sections:- Complete Summary and Technical Context.
- Mark unknown technical decisions as
NEEDS CLARIFICATION. - Fill Constitution Check from
memory/constitution.mdwith explicit pass/fail status. - Select one concrete project structure and remove unused template options.
- Use Complexity Tracking only when a constitutional violation remains and is explicitly justified.
-
Run Phase 0 research (
research.md):- Turn each
NEEDS CLARIFICATIONin Technical Context into a focused research question. - Record outcomes as:
DecisionRationaleAlternatives considered
- Resolve all blockers needed for design decisions before continuing.
- Turn each
-
Run Phase 1 design outputs:
- Create/update
data-model.mdwith entities, fields, relationships, validation rules, and state transitions where relevant. - Create/update
contracts/for externally visible interfaces that the feature introduces or modifies. - Create/update
quickstart.mdwith concrete validation flow for the designed feature. - Reflect final decisions back into
plan.mdso downstream task generation has a single source of truth.
- Create/update
-
Update agent context (explicit user approval required):
- Before running the script, ask for explicit approval to update agent context files (for example
AGENTS.md,CLAUDE.md,GEMINI.md,.github/agents/copilot-instructions.md). - Run
scripts/update-agent-context.shfrom repository root only after user approval. - If an agent type is provided by the user, pass it as the first argument.
- If approval is declined or unavailable, skip this step and report it as skipped.
- Report script failures explicitly; do not silently skip context updates.
- Before running the script, ask for explicit approval to update agent context files (for example
-
Re-check gates and report completion:
- Re-evaluate Constitution Check after Phase 1 outputs.
- Stop with
ERRORif unresolved constitutional violations or unresolved blocking clarifications remain. - Report
BRANCH, absolute artifact paths, and readiness forspec-kit-tasks.
Output
plan.md:- Fully populated from the selected plan template.
- Technical Context reflects final decisions from Phase 0.
- Constitution Check is explicit (
pass,fail, or justified exception). - Project Structure shows one concrete layout (no placeholder option blocks).
research.md:- One entry per planning unknown using:
DecisionRationaleAlternatives considered
- Resolves all blocking
NEEDS CLARIFICATIONitems required for design.
- One entry per planning unknown using:
data-model.md:- Captures entities, fields, relationships, validation constraints, and relevant state transitions.
- Maps model decisions back to spec requirements where practical.
contracts/*(when applicable):- Defines each new/changed external interface (endpoint/event/schema).
- Includes input/output shape, validation/error behavior, and compatibility notes.
quickstart.md:- Describes a concrete validation flow for the designed feature.
- Covers primary success path plus key error/edge behavior from the spec.
- Updated agent context file(s) from
scripts/update-agent-context.sh(only when user-approved):- Contains newly introduced technologies from the final plan.
- Preserves user-maintained manual sections.
- If the user does not approve context updates:
- Report that agent context sync was intentionally skipped.
Key rules
- Use absolute paths in completion reporting.
- Treat missing prerequisites as hard stops with reroutes to the owning sibling skill.
- Do not generate
tasks.mdor implementation code in this skill. - Keep plan artifacts at design granularity: architecture, data model, interfaces/contracts, constraints, and validation approach.
- Do not include execution-level content such as code snippets, patch-style file edits, command runbooks, or checklist task breakdowns.
- Do not leave blocking
NEEDS CLARIFICATIONunresolved by completion. - Emit
ERRORfor unresolved constitution gates without justification. - Never run
scripts/update-agent-context.shwithout explicit user approval in the current session.
Common Mistakes
- Planning without an approved spec — the plan will lack stable requirements and churn.
- Using the wrong template source path (
spec-templateinstead ofplan-template). - Keeping placeholder project-structure options in
plan.mdinstead of selecting one concrete layout. - Including execution details in plan artifacts (code snippets, exact commands, patch-level file changes, or task checklists) — design belongs in
spec-kit-plan; execution belongs tospec-kit-tasksandspec-kit-implement. - Skipping the post-design constitution re-check before handing off to
spec-kit-tasks. - Running context-file updates automatically without asking the user to approve changes to
AGENTS.md/CLAUDE.md/related files.
References
references/spec-kit-workflow.dotfor overall context of where planning fits in the Spec Kit sequence.scripts/setup-plan.shscripts/update-agent-context.shassets/plan-template.mdhttps://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/plan.md
Weekly Installs
7
Repository
ahgraber/skillsFirst Seen
Feb 8, 2026
Security Audits
Installed on
opencode7
gemini-cli6
github-copilot6
codex6
continue6
cursor5