speckit-plan

Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

261 stars

Best use case

speckit-plan is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "speckit-plan" skill to help with this workflow task. Context: Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/speckit-plan/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/speckit-skills/speckit-plan/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/speckit-plan/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How speckit-plan Compares

Feature / Agentspeckit-planStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Spec Kit Plan Skill

## When to Use

- The feature spec is ready and you need a technical implementation plan.

## Inputs

- `specs/<feature>/spec.md`
- Repo context and `.specify/` templates
- User-provided constraints or tech preferences (if any)

If the spec is missing, ask the user to run speckit-specify first.

## Workflow

1. **Setup**: Run `.specify/scripts/bash/setup-plan.sh --json` from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, SPECS_DIR, BRANCH. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").

2. **Load context**: Read FEATURE_SPEC and `.specify/memory/constitution.md`. Load IMPL_PLAN template (already copied).

3. **Execute plan workflow**: Follow the structure in IMPL_PLAN template to:
   - Fill Technical Context (mark unknowns as "NEEDS CLARIFICATION")
   - Fill Constitution Check section from constitution
   - Evaluate gates (ERROR if violations unjustified)
   - Phase 0: Generate research.md (resolve all NEEDS CLARIFICATION)
   - Phase 1: Generate data-model.md, contracts/, quickstart.md
   - Phase 1: Update agent context by running the agent script
   - Re-evaluate Constitution Check post-design

4. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.

## Phases

### Phase 0: Outline & Research

1. **Extract unknowns from Technical Context** above:
   - For each NEEDS CLARIFICATION → research task
   - For each dependency → best practices task
   - For each integration → patterns task

2. **Generate and dispatch research agents**:

   ```text
   For each unknown in Technical Context:
     Task: "Research {unknown} for {feature context}"
   For each technology choice:
     Task: "Find best practices for {tech} in {domain}"
   ```

3. **Consolidate findings** in `research.md` using format:
   - Decision: [what was chosen]
   - Rationale: [why chosen]
   - Alternatives considered: [what else evaluated]

**Output**: research.md with all NEEDS CLARIFICATION resolved

### Phase 1: Design & Contracts

**Prerequisites:** `research.md` complete

1. **Extract entities from feature spec** → `data-model.md`:
   - Entity name, fields, relationships
   - Validation rules from requirements
   - State transitions if applicable

2. **Generate API contracts** from functional requirements:
   - For each user action → endpoint
   - Use standard REST/GraphQL patterns
   - Output OpenAPI/GraphQL schema to `/contracts/`

3. **Agent context update**:
   - Run `.specify/scripts/bash/update-agent-context.sh <agent_type>`
   - Use the current runtime agent type (e.g., claude, codex, copilot, gemini). Leave empty to update all existing agent files.
   - Update the appropriate agent-specific context file
   - Add only new technology from current plan
   - Preserve manual additions between markers

**Output**: data-model.md, /contracts/\*, quickstart.md, agent-specific file

## Key rules

- Use absolute paths
- ERROR on gate failures or unresolved clarifications

## Outputs

- `specs/<feature>/plan.md` (filled implementation plan)
- `specs/<feature>/research.md`
- `specs/<feature>/data-model.md`
- `specs/<feature>/contracts/` (API schemas)
- `specs/<feature>/quickstart.md`
- Updated agent context file (runtime-specific)

## Next Steps

After planning:

- **Generate tasks** with speckit-tasks.
- **Create a checklist** with speckit-checklist when a quality gate is needed.

Related Skills

tauri-app-planning

261
from partme-ai/full-stack-skills

Plan and architect Tauri 2.0 applications from requirements to implementation, including plugin selection, capability design, and state management. Use when starting a new Tauri project, creating a technical roadmap, or mapping features to specific tauri-app-* plugins.

speckit-taskstoissues

261
from partme-ai/full-stack-skills

Convert tasks.md entries into GitHub issues in the matching remote repository using gh issue create, preserving task IDs for traceability. Use when the user wants to create GitHub issues from an existing tasks.md, needs issue tracking for implementation tasks, or wants to sync task progress with GitHub project boards.

speckit-tasks

261
from partme-ai/full-stack-skills

Generate a dependency-ordered tasks.md organized by user story, with phased execution (Setup, Foundational, User Stories, Polish), parallel markers, and strict checklist format (checkbox, TaskID, Story label, file path). Use when the implementation plan is ready and the user needs an executable task breakdown before coding.

speckit-specify

261
from partme-ai/full-stack-skills

Create or update a feature specification from a natural language description by generating a branch, filling the spec template with user stories, functional requirements, success criteria, and running quality validation. Use when the user provides a feature idea and needs a structured, technology-agnostic spec ready for planning.

speckit-install

261
from partme-ai/full-stack-skills

Install the Specify CLI on the host machine (uv tool install or uvx one-time); supports multiple OS, persistent or one-time install, and corporate or restricted-network environments. Use when the user says "install Spec Kit", "install Specify CLI", or "specify command not found".

speckit-initial

261
from partme-ai/full-stack-skills

Run `specify init` in the current or target directory to bootstrap a Spec Kit project (pull .specify/ and slash commands); supports multiple AI agents and --script sh/ps. Use when the user says "initialize Spec Kit project", "specify init", or "set up Spec Kit in this repo".

speckit-implement

261
from partme-ai/full-stack-skills

Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

speckit-constitution

261
from partme-ai/full-stack-skills

Create or update the project constitution at .specify/memory/constitution.md by collecting governance principles, filling template placeholders, versioning with semver, and propagating changes to dependent templates and agent config files. Use when setting up initial project governance, amending principles, or syncing constitution changes across spec/plan/tasks templates.

speckit-clarify

261
from partme-ai/full-stack-skills

Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.

speckit-checklist

261
from partme-ai/full-stack-skills

Generate a requirements-quality checklist ('unit tests for English') that validates completeness, clarity, consistency, and measurability of spec/plan/tasks artifacts. Use when the user needs a quality gate before implementation, wants to audit requirement coverage, or needs domain-specific checklists (UX, API, security, performance).

speckit-analyze

261
from partme-ai/full-stack-skills

Perform a read-only cross-artifact consistency analysis across spec.md, plan.md, and tasks.md, detecting duplications, ambiguities, coverage gaps, and constitution violations with severity ratings. Use when the user has all three artifacts and needs a quality check before implementation, or wants to identify inconsistencies across specifications.

plantuml

261
from partme-ai/full-stack-skills

Create PlantUML diagrams for UML and architecture documentation including sequence, class, component, deployment, state, activity, use case, and timing diagrams plus non-UML types like C4 models, ER diagrams, Gantt charts, mindmaps, network diagrams, and wireframes. Use when the user mentions PlantUML, needs UML diagrams, wants enterprise architecture diagrams, or requires precise UML notation or C4 model support.