Specification Format
Two Formats for Two Workflows
Section titled “Two Formats for Two Workflows”Choose the right specification format based on your workflow:
| Format | Workflow | Use When |
|---|---|---|
| Full Spec | Spec Kit | Complex features, new systems, multi-day work |
| Quick Spec | My Kit | Simple fixes, minor features, < 1 day work |
Quick Spec Format (My Kit)
Section titled “Quick Spec Format (My Kit)”For simple tasks, use a lightweight format in the issue description or PR body:
## What[One sentence describing the change]
## Why[One sentence explaining the reason]
## How[Brief description of the approach]
## Test[How to verify it works]Quick Spec Example
Section titled “Quick Spec Example”## WhatFix navigation menu not closing on mobile after link click.
## WhyUsers have to manually close the menu, causing poor UX.
## HowAdd click handler to menu links that closes the menu state.
## Test1. Open site on mobile2. Open hamburger menu3. Click any link4. Verify menu closes automaticallyFull Spec Format (Spec Kit)
Section titled “Full Spec Format (Spec Kit)”For complex features, create a full specification in specs/{issue#}-{name}/spec.md.
Frontmatter
Section titled “Frontmatter”# Spec: [Descriptive Title]
**Issue**: #[number]**Branch**: `[branch-name]`**Status**: Draft | In Review | Approved | In Progress | Complete**Priority**: Low | Normal | High | Critical**Type**: Feature | Bug Fix | Documentation | Refactor | EnhancementRequired Sections
Section titled “Required Sections”Problem Statement
Section titled “Problem Statement”## Problem Statement
[1-3 paragraphs explaining:]- Current situation- The problem- Impact if not addressedGoals and Non-Goals
Section titled “Goals and Non-Goals”## Goals
1. [Specific, measurable goal]2. [Another goal]
## Non-Goals
- [Explicit exclusion]- [Out of scope item]User Stories
Section titled “User Stories”## User Stories
### US-1: [Title]**As a** [role]**I want** [capability]**So that** [benefit]
**Acceptance Criteria**:- [Testable criterion]- [Another criterion]Deliverables
Section titled “Deliverables”## Deliverables
### 1. `path/to/file`[Description]
| Aspect | Details ||--------|---------|| Feature | What it does || Behavior | How it works |Acceptance Criteria
Section titled “Acceptance Criteria”## Acceptance Criteria
### Functional- [ ] Feature works as specified- [ ] Edge cases handled
### Quality- [ ] Tests pass- [ ] No lint errors
### Integration- [ ] Works with existing features- [ ] No regressionsImplementation Checklist
Section titled “Implementation Checklist”## Implementation Checklist
- [ ] Create spec document- [ ] Implement feature- [ ] Add tests- [ ] Update docs- [ ] Create PRFull Spec Template
Section titled “Full Spec Template”Copy this template for new specs:
# Spec: [Title]
**Issue**: #**Branch**: ``**Status**: Draft**Priority**: Normal**Type**: Feature
---
## Problem Statement
[Description]
## Goals
1. [Goal]
## Non-Goals
- [Non-goal]
---
## User Stories
### US-1: [Title]**As a** [role]**I want** [capability]**So that** [benefit]
**Acceptance Criteria**:- [Criterion]
---
## Deliverables
### 1. `path/to/file`[Description]
---
## Acceptance Criteria
### Functional- [ ] [Criterion]
### Quality- [ ] Tests pass- [ ] Lint clean
---
## Implementation Checklist
- [ ] Create spec- [ ] Implement- [ ] Test- [ ] Document- [ ] PRStatus Values
Section titled “Status Values”| Status | Meaning | Next Step |
|---|---|---|
| Draft | Being written | Complete all sections |
| In Review | Awaiting feedback | Address comments |
| Approved | Ready to implement | Start coding |
| In Progress | Being built | Complete checklist |
| Complete | Merged and released | Archive |
Best Practices
Section titled “Best Practices”For Quick Specs
Section titled “For Quick Specs”- Keep it brief—4 sections, 1-2 sentences each
- Include in issue or PR description
- Focus on “what” and “why”
For Full Specs
Section titled “For Full Specs”- Be specific—vague specs lead to vague implementations
- Include examples where helpful
- Update as you implement
- Mark checklist items as you complete them