speckit-workflow
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
More from housegarofalo/claude-code-base
mqtt-iot
Configure MQTT brokers (Mosquitto, EMQX) for IoT messaging, device communication, and smart home integration. Manage topics, QoS levels, authentication, and bridging. Use when setting up IoT messaging, smart home communication, or device-to-cloud connectivity. (project)
22postgresql
Design, optimize, and manage PostgreSQL databases. Covers indexing, pgvector for AI embeddings, JSON operations, full-text search, and query optimization. Use when working with PostgreSQL, database design, or building data-intensive applications.
6home-assistant
Ultimate Home Assistant skill - complete administration, wireless protocols (Zigbee/ZHA/Z2M, Z-Wave JS, Thread, Matter), ESPHome device building, advanced troubleshooting, performance optimization, security hardening, custom integration development, and professional dashboard design. Covers configuration, REST API, automation debugging, database optimization, SSL/TLS, Jinja2 templating, and HACS custom cards. Use for any HA task.
6testing
Comprehensive testing skill covering unit, integration, and E2E testing with pytest, Jest, Cypress, and Playwright. Use for writing tests, improving coverage, debugging test failures, and setting up testing infrastructure.
5mobile-pwa
Build Progressive Web Apps with offline support, push notifications, and native-like experiences. Covers service workers, Web App Manifest, caching strategies, IndexedDB, background sync, and installability. Use for mobile-first web apps, offline-capable applications, and app-like experiences.
5svelte-kit
Expert guidance for SvelteKit 2 with Svelte 5 runes, server-side rendering, and modern patterns. Covers $state, $derived, $effect, form actions, load functions, and API routes. Use for SvelteKit applications, Svelte 5 runes, and full-stack Svelte development.
5