speckit-plan
$
npx mdskill add partme-ai/full-stack-skills/speckit-planGenerates a technical implementation plan from a feature spec by filling templates, researching unknowns, and producing artifacts like data models and API contracts.
- Helps developers create structured plans for feature implementation when specifications are ready.
- Integrates with repository context, .specify templates, and uses bash scripts for setup.
- Decides recommendations by evaluating gates, resolving clarifications, and following a predefined workflow.
- Presents results through generated files such as data-model.md, API contracts, and quickstart.md.
SKILL.md
.github/skills/speckit-planView on GitHub ↗
---
name: speckit-plan
description: "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."
---
# 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.