Learn-skills.dev spec-kit-plan
Use when an approved Spec Kit `spec.md` must be translated into technical design artifacts (`plan.md`, `research.md`, `data-model.md`, `contracts/`, `quickstart.md`) before `spec-kit-tasks`, or when `plan.md` is missing/outdated after spec or constitution changes.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ahgraber/skills/spec-kit-plan" ~/.claude/skills/neversight-learn-skills-dev-spec-kit-plan && rm -rf "$T"
manifest:
data/skills-md/ahgraber/skills/spec-kit-plan/SKILL.mdsource content
Spec Kit Plan
Generate implementation design artifacts from the approved feature specification.
When to Use
exists and you needspec.md
plus Phase 0/1 design outputs for task generation.plan.md
is missing, stale, or invalid after changes toplan.md
orspec.md
.memory/constitution.md- The next step is
, but technical context and design decisions are not yet documented.spec-kit-tasks
When Not to Use
- No usable
exists yet (spec.md
first).spec-kit-specify - High-impact ambiguity in
still blocks architecture or validation decisions (spec.md
first).spec-kit-clarify - 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
afterspec-kit
/spec-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 (
format when git is available).NNN-feature-name
exists and is current for planning gates.memory/constitution.md
Workflow
-
Resolve active feature paths and initialize
:plan.md- Run
exactly once.scripts/setup-plan.sh --json - 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
) is missing, stop and route tospec.md
.spec-kit-specify - If
is missing, stop and route tomemory/constitution.md
.spec-kit-constitution - If
has unresolved high-impact ambiguity that can change architecture, data model, testing, UX, operations, or compliance, stop and route tospec.md
.spec-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
core sections:plan.md- Complete Summary and Technical Context.
- Mark unknown technical decisions as
.NEEDS CLARIFICATION - Fill Constitution Check from
with explicit pass/fail status.memory/constitution.md - 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
in Technical Context into a focused research question.NEEDS CLARIFICATION - Record outcomes as:
DecisionRationaleAlternatives considered
- Resolve all blockers needed for design decisions before continuing.
- Turn each
-
Run Phase 1 design outputs:
- Create/update
with entities, fields, relationships, validation rules, and state transitions where relevant.data-model.md - Create/update
for externally visible interfaces that the feature introduces or modifies.contracts/ - Create/update
with concrete validation flow for the designed feature.quickstart.md - Reflect final decisions back into
so downstream task generation has a single source of truth.plan.md
- 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
from repository root only after user approval.scripts/update-agent-context.sh - 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
if unresolved constitutional violations or unresolved blocking clarifications remain.ERROR - Report
, absolute artifact paths, and readiness forBRANCH
.spec-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
, or justified exception).fail - Project Structure shows one concrete layout (no placeholder option blocks).
:research.md- One entry per planning unknown using:
DecisionRationaleAlternatives considered
- Resolves all blocking
items required for design.NEEDS CLARIFICATION
- 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.
(when applicable):contracts/*- 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
(only when user-approved):scripts/update-agent-context.sh- 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
or implementation code in this skill.tasks.md - 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
unresolved by completion.NEEDS CLARIFICATION - Emit
for unresolved constitution gates without justification.ERROR - Never run
without explicit user approval in the current session.scripts/update-agent-context.sh
Common Mistakes
- Planning without an approved spec — the plan will lack stable requirements and churn.
- Using the wrong template source path (
instead ofspec-template
).plan-template - Keeping placeholder project-structure options in
instead of selecting one concrete layout.plan.md - Including execution details in plan artifacts (code snippets, exact commands, patch-level file changes, or task checklists) — design belongs in
; execution belongs tospec-kit-plan
andspec-kit-tasks
.spec-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
/related files.CLAUDE.md
References
for overall context of where planning fits in the Spec Kit sequence.references/spec-kit-workflow.dotscripts/setup-plan.shscripts/update-agent-context.shassets/plan-template.mdhttps://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/plan.md