TinySpec
Generate a single lightweight specification file for small tasks that don't warrant the full SDD workflow. Combines context, requirements, implementation plan, and tasks into one concise document — minimal overhead, maximum clarity.
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty). The user describes the small change they want to make (e.g., "add a logout button to the navbar", "fix the date format in the invoice PDF", "add input validation to the signup form").
Prerequisites
- Verify a spec-kit project exists by checking for
.specify/ directory
- Verify git is available and the project is a git repository
- Verify the user has described the change (if not, ask what they want to build)
Outline
Assess scope: Quickly evaluate whether this task is appropriate for tinyspec:
- Good fit: Single feature, bug fix, UI tweak, config change, small refactor — anything that touches 1-5 files and takes under ~1 hour
- Bad fit: Multi-module features, architectural changes, new services, database schema redesigns — recommend full
/speckit.specify instead
- If the task seems too large, warn the user and suggest the full workflow
Identify affected files: Scan the codebase to determine:
- Which files will be modified (list them explicitly)
- Which files provide context (imports, types, related components)
- Which test files will need updates
Generate tinyspec file: Create a single file at specs/tiny/{feature-name}.md with this structure:
# TinySpec: {Title}
**Branch**: {current-branch or new-branch-name}
**Date**: {YYYY-MM-DD}
**Status**: draft
**Complexity**: small
## What
{1-3 sentence description of what this change does and why}
## Context
| File | Role |
|------|------|
| `src/components/Navbar.tsx` | Will be modified — add logout button |
| `src/hooks/useAuth.ts` | Context — provides logout function |
| `src/components/Navbar.test.tsx` | Will be modified — add test for logout |
## Requirements
1. {Requirement 1 — clear, testable}
2. {Requirement 2}
3. {Requirement 3}
## Plan
1. {Step 1 — what to change and where}
2. {Step 2}
3. {Step 3}
## Tasks
- [ ] {Task 1}
- [ ] {Task 2}
- [ ] {Task 3}
- [ ] {Test task}
## Done When
- [ ] All tasks checked off
- [ ] Tests pass
- [ ] No lint errors
Report:
# TinySpec Created
| Field | Value |
|-------|-------|
| **File** | `specs/tiny/{feature-name}.md` |
| **Tasks** | {N} tasks |
| **Files affected** | {N} files |
## Next Steps
- Review the tinyspec at `specs/tiny/{feature-name}.md`
- Run `/speckit.tinyspec.implement` to build it
- Or implement manually — the spec is your checklist
Rules
- One file only — never generate separate spec.md, plan.md, tasks.md for tinyspec
- Keep it short — the entire tinyspec should be under 80 lines
- No boilerplate — skip sections that add no value for this specific task
- Concrete file references — always list the actual files that will be changed
- Testable requirements — every requirement must be verifiable
- Warn on scope creep — if the task grows beyond 5 files or 10 tasks, recommend upgrading to full SDD
- Respect constitution — follow project conventions from
.specify/memory/constitution.md
1---2name: speckit-tinyspec-tinyspec3description: Generate a single lightweight spec file with context, plan, and tasks for small changes4---56# TinySpec78Generate a single lightweight specification file for small tasks that don't warrant the full SDD workflow. Combines context, requirements, implementation plan, and tasks into one concise document — minimal overhead, maximum clarity.910## User Input1112```text13$ARGUMENTS14```1516You **MUST** consider the user input before proceeding (if not empty). The user describes the small change they want to make (e.g., "add a logout button to the navbar", "fix the date format in the invoice PDF", "add input validation to the signup form").1718## Prerequisites19201. Verify a spec-kit project exists by checking for `.specify/` directory212. Verify git is available and the project is a git repository223. Verify the user has described the change (if not, ask what they want to build)2324## Outline25261. **Assess scope**: Quickly evaluate whether this task is appropriate for tinyspec:27 - **Good fit**: Single feature, bug fix, UI tweak, config change, small refactor — anything that touches 1-5 files and takes under ~1 hour28 - **Bad fit**: Multi-module features, architectural changes, new services, database schema redesigns — recommend full `/speckit.specify` instead29 - If the task seems too large, warn the user and suggest the full workflow30312. **Identify affected files**: Scan the codebase to determine:32 - Which files will be modified (list them explicitly)33 - Which files provide context (imports, types, related components)34 - Which test files will need updates35363. **Generate tinyspec file**: Create a single file at `specs/tiny/{feature-name}.md` with this structure:3738 ```markdown39 # TinySpec: {Title}4041 **Branch**: {current-branch or new-branch-name}42 **Date**: {YYYY-MM-DD}43 **Status**: draft44 **Complexity**: small4546 ## What4748 {1-3 sentence description of what this change does and why}4950 ## Context5152 | File | Role |53 |------|------|54 | `src/components/Navbar.tsx` | Will be modified — add logout button |55 | `src/hooks/useAuth.ts` | Context — provides logout function |56 | `src/components/Navbar.test.tsx` | Will be modified — add test for logout |5758 ## Requirements5960 1. {Requirement 1 — clear, testable}61 2. {Requirement 2}62 3. {Requirement 3}6364 ## Plan6566 1. {Step 1 — what to change and where}67 2. {Step 2}68 3. {Step 3}6970 ## Tasks7172 - [ ] {Task 1}73 - [ ] {Task 2}74 - [ ] {Task 3}75 - [ ] {Test task}7677 ## Done When7879 - [ ] All tasks checked off80 - [ ] Tests pass81 - [ ] No lint errors82 ```83844. **Report**:8586 ```markdown87 # TinySpec Created8889 | Field | Value |90 |-------|-------|91 | **File** | `specs/tiny/{feature-name}.md` |92 | **Tasks** | {N} tasks |93 | **Files affected** | {N} files |9495 ## Next Steps96 - Review the tinyspec at `specs/tiny/{feature-name}.md`97 - Run `/speckit.tinyspec.implement` to build it98 - Or implement manually — the spec is your checklist99 ```100101## Rules102103- **One file only** — never generate separate spec.md, plan.md, tasks.md for tinyspec104- **Keep it short** — the entire tinyspec should be under 80 lines105- **No boilerplate** — skip sections that add no value for this specific task106- **Concrete file references** — always list the actual files that will be changed107- **Testable requirements** — every requirement must be verifiable108- **Warn on scope creep** — if the task grows beyond 5 files or 10 tasks, recommend upgrading to full SDD109- **Respect constitution** — follow project conventions from `.specify/memory/constitution.md`