SpecKit: Spec-Driven Development Workflow
Guide users through structured specification-driven development from feature description to implementation tasks. This skill implements the complete SpecKit methodology for turning natural language feature descriptions into actionable development work.
Triggers
Use this skill when:
- Starting a new feature development
- Writing feature specifications
- Clarifying ambiguous requirements
- Creating technical implementation plans
- Breaking down work into actionable tasks
- Generating user stories and acceptance criteria
- Keywords: speckit, specification, spec, feature, requirements, user story, acceptance criteria, implementation plan, task breakdown
Workflow Overview
SPECKIT PIPELINE
/speckit-specify Create specification from description
|
v
/speckit-clarify Identify and resolve ambiguities (optional)
|
v
/speckit-plan Generate technical implementation plan
|
v
/speckit-tasks Break plan into actionable tasks
|
v
/speckit-implement Execute implementation (iterative)
Phase 1: Specify - Create Feature Specification
Purpose
Transform natural language feature descriptions into structured specifications. Focus on WHAT users need and WHY - avoid implementation details.
Process
- Analyze Description: Extract key concepts (actors, actions, data, constraints)
- Generate Branch Name: Create 2-4 word short name (action-noun format)
- Create Spec Directory:
specs/<NNN-feature-name>/ - Fill Required Sections:
- User Scenarios with priorities (P1, P2, P3)
- Functional Requirements (FR-001, FR-002, etc.)
- Success Criteria (measurable, technology-agnostic)
- Mark Ambiguities: Maximum 3
[NEEDS CLARIFICATION]markers
Specification Template
# Feature: [Feature Name]
## Overview
[1-2 paragraph summary of the feature]
## User Scenarios
### P1: [Primary User Journey] (MVP)
**As a** [user type]
**I want to** [action]
**So that** [benefit]
**Acceptance Criteria:**
- Given [context], when [action], then [outcome]
- Given [context], when [action], then [outcome]
### P2: [Secondary Journey]
[Same format as P1]
## Functional Requirements
- **FR-001**: System MUST [specific capability]
- **FR-002**: System MUST [specific capability]
- **FR-003**: System SHOULD [optional capability]
## Success Criteria
- Users can complete [journey] in under [time]
- System supports [scale metric]
- [Measurable outcome]
## Out of Scope
- [Explicitly excluded items]
## Clarifications
[This section populated during clarify phase]
Key Rules
- Focus on user value and business needs
- Write for non-technical stakeholders
- No implementation details (languages, frameworks, APIs)
- Requirements must be testable and unambiguous
Phase 2: Clarify - Resolve Ambiguities
Purpose
Detect and reduce ambiguity in the specification by asking targeted clarification questions and encoding answers back into the spec.
Process
- Load Specification: Read current spec file
- Scan for Ambiguities: Check coverage across categories
- Generate Questions: Maximum 5 questions, prioritized by impact
- Sequential Questioning: Present ONE question at a time
- Integrate Answers: Update spec immediately after each answer
Ambiguity Categories
| Category | What to Check | |----------|---------------| | Functional Scope | User goals, out-of-scope declarations | | Domain & Data Model | Entities, relationships, state transitions | | Interaction & UX | User journeys, error states, accessibility | | Non-Functional | Performance, scalability, security | | Integration | External services, APIs, failure modes | | Edge Cases | Negative scenarios, conflict resolution | | Constraints | Technical constraints, tradeoffs | | Terminology | Glossary consistency | | Completion Signals | Testable acceptance criteria |
Question Format
For Multiple-Choice:
**Recommended:** Option [X] - [1-2 sentence reasoning]
| Option | Description |
|--------|-------------|
| A | Option A description |
| B | Option B description |
| C | Option C description |
Reply with option letter, accept recommendation with "yes", or provide your own answer.
For Short-Answer:
**Suggested:** [proposed answer] - [brief reasoning]
Format: Short answer (5 words max). Accept with "yes" or provide your own.
Integration Rules
After each answer:
- Add to
## Clarificationssection with session date - Apply to appropriate spec section
- Replace conflicting earlier statements
- Save immediately
Phase 3: Plan - Create Implementation Plan
Purpose
Create a technical implementation plan from the feature specification. Generate design artifacts including research, data models, and API contracts.
Process
- Load Context: Read spec and any existing research
- Fill Technical Context: Tech stack, dependencies, constraints
- Research Phase: Resolve any NEEDS CLARIFICATION items
- Design Phase: Generate data models and contracts
- Structure Phase: Define project layout
Generated Artifacts
specs/<feature>/
├── spec.md # Feature specification
├── plan.md # Implementation plan
├── research.md # Research and decisions
├── data-model.md # Entity definitions
├── quickstart.md # Getting started guide
└── contracts/
└── api-spec.json # OpenAPI specification
Implementation Plan Template
# Implementation Plan: [Feature Name]
## Technical Context
**Language/Version**: [e.g., Python 3.11, TypeScript 5.x]
**Primary Dependencies**: [e.g., FastAPI, React]
**Storage**: [e.g., PostgreSQL, MongoDB]
**Testing**: [e.g., pytest, Jest]
**Target Platform**: [e.g., Linux container, AWS Lambda]
## Project Structure
src/
├── models/
├── services/
├── api/
└── lib/
tests/
├── unit/
├── integration/
└── e2e/
## Data Model Summary
[Key entities and relationships]
## API Endpoints Summary
| Method | Path | Description |
|--------|------|-------------|
| POST | /api/v1/resource | Create resource |
| GET | /api/v1/resource/:id | Get resource |
## Implementation Phases
1. Setup & Infrastructure
2. Core Data Model
3. Business Logic
4. API Layer
5. Testing & Polish
Phase 4: Tasks - Generate Actionable Tasks
Purpose
Generate dependency-ordered task list organized by user story from the implementation plan.
Task Format (Required)
- [ ] T001 [P] [US1] Description with file path
Components:
- Checkbox: Always
- [ ] - Task ID: Sequential (T001, T002...)
- [P]: Parallelizable (different files, no dependencies)
- [Story]: User story label (US1, US2...)
- Description: Clear action with exact file path
Phase Structure
## Phase 1: Setup (Shared Infrastructure)
- Project initialization
- Dependencies
## Phase 2: Foundational (Blocking Prerequisites)
- Database schema
- Authentication
- Base models
**Checkpoint**: Foundation ready
## Phase 3: User Story 1 - [Title] (P1) MVP
**Goal**: [What this delivers]
**Independent Test**: [How to verify]
### Tests for User Story 1
- [ ] T010 [P] [US1] Contract test for endpoint
### Implementation for User Story 1
- [ ] T012 [P] [US1] Create Model in src/models/
- [ ] T013 [US1] Implement Service in src/services/
- [ ] T014 [US1] Implement endpoint in src/api/
**Checkpoint**: US1 complete
## Phase 4+: Additional User Stories
[Same pattern]
## Phase N: Polish & Cross-Cutting
- Documentation
- Performance optimization
MVP Strategy
- Complete Setup + Foundational
- Complete User Story 1 (P1)
- STOP and VALIDATE
- Deploy/demo if ready
- Then continue with US2, US3...
Integration with Archon
Create Tasks in Archon
# For each generated task:
manage_task("create",
project_id="<PROJECT_ID>",
title="T001: Create User model",
description="Create User model in src/models/user.py with fields...",
status="todo",
feature="User Story 1",
task_order=10
)
Task Status Flow
todo -> doing -> review -> done
Best Practices
- Start with Why: Understand user value before technical details
- One Concern Per Section: Keep spec sections focused
- Testable Everything: All requirements must be verifiable
- Iterative Refinement: Multiple clarify passes are OK
- Technology Agnostic Specs: Keep impl details in plan, not spec
- MVP First: Prioritize P1 stories for initial delivery
- Checkpoints Matter: Validate at each phase boundary
Command Reference
| Command | Description |
|---------|-------------|
| /speckit-specify <description> | Create spec from description |
| /speckit-clarify | Run clarification on current spec |
| /speckit-plan <tech-stack> | Generate implementation plan |
| /speckit-tasks | Generate task breakdown |
| /speckit-status | Show current spec status |
Notes
- Specifications should be written for stakeholders, not developers
- The plan document is where technical decisions live
- Tasks should be small enough for one session (30min-4hrs)
- Use Archon for persistent task tracking across sessions
微信扫一扫