You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/quickstart.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ Generates the design artifacts from the spec. This is where implementation detai
83
83
84
84
### Step 5: `/speckit.checklist` — validate the spec
85
85
86
-
Generates a quality checklist — "unit tests for your requirements" — to confirm the spec is complete, clear, and consistent before you break the work down.
86
+
Generates a custom quality checklist — "unit tests for your requirements" — to confirm the spec is complete, clear, and consistent before you break the work down. These custom checklists are reviewer-owned requirements-quality review artifacts: mark an item `[x]` only when the reviewer determines that requirement-quality criterion is satisfied. Checked custom items do not mean implementation work is complete.
87
87
88
88
```text
89
89
/speckit.checklist
@@ -107,7 +107,7 @@ Reports conflicts, gaps, and ambiguities across `spec.md`, `plan.md`, and `tasks
107
107
108
108
### Step 8: `/speckit.implement` — build it
109
109
110
-
Executes the tasks in `tasks.md` in dependency order. Run it once to build everything, or scope it to one phase at a time for large features.
110
+
Executes the tasks in `tasks.md` in dependency order. Before implementation, it reads checklist checkbox state as a gate and asks before proceeding if any checklist items are unchecked; it does not change any checklist files or markers. The built-in `checklists/requirements.md` checklist is maintained by `/speckit.specify` and `/speckit.clarify`, while custom checklists remain reviewer-owned. Run it once to build everything, or scope it to one phase at a time for large features.
Copy file name to clipboardExpand all lines: docs/reference/agentic-sdd.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,8 @@ Creates or updates the project **constitution** — the guiding principles that
23
23
24
24
Creates or updates the feature **specification** from a natural-language description. Focus on the **what** and **why** — the user-facing behavior and goals — not the tech stack, which belongs in `/speckit.plan`.
25
25
26
+
This workflow may also maintain `checklists/requirements.md`, the built-in spec-quality checklist that `/speckit.specify` creates and `/speckit.clarify` re-evaluates. That lifecycle is separate from custom checklists generated by `/speckit.checklist`.
27
+
26
28
```text
27
29
/speckit.specify Build an application that helps me organize photos into albums grouped by date, re-orderable by drag-and-drop on the main page, with a tile preview inside each album.
28
30
```
@@ -37,6 +39,8 @@ Asks up to five targeted questions about underspecified areas of the current spe
37
39
38
40
Clarifying before planning keeps you from designing on top of ambiguity. If `/speckit.analyze` later surfaces requirement gaps, come back and run `/speckit.clarify` (or `/speckit.specify`) again.
39
41
42
+
When `checklists/requirements.md` exists, `/speckit.clarify` may update its evaluated state as part of tightening the spec. This exception applies only to the built-in requirements checklist, not to custom review checklists.
43
+
40
44
## `/speckit.plan`
41
45
42
46
Runs the planning process to generate design artifacts from the spec. This is where implementation detail belongs — provide your tech stack, architecture, and technical constraints as arguments.
@@ -49,6 +53,8 @@ Runs the planning process to generate design artifacts from the spec. This is wh
49
53
50
54
Generates a quality checklist for the feature — think of it as **"unit tests for your requirements."** Rather than testing code, it checks whether the spec itself is complete, clear, unambiguous, and consistent (for example: "Are the drag-and-drop rules defined for every column?", "Is behavior specified for a deleted assigned user?").
51
55
56
+
Custom checklists generated by this command are reviewer-owned requirements-quality review artifacts. An agent may help evaluate them when explicitly asked, but implementation must not silently self-approve them. In a custom checklist, `[x]` means the reviewer determined the requirements-quality criterion is satisfied; it does not mean implementation work is complete.
57
+
52
58
Run it with no arguments for a broad pass, or pass a focus area to target one aspect:
53
59
54
60
```text
@@ -59,7 +65,7 @@ Run it with no arguments for a broad pass, or pass a focus area to target one as
59
65
/speckit.checklist Focus on the Kanban board interactions and comment permissions.
60
66
```
61
67
62
-
Review the generated checklist. If it surfaces gaps, loop back to `/speckit.clarify` or `/speckit.specify` to tighten the spec before breaking the work down.
68
+
Review the generated checklist. If it surfaces gaps, loop back to `/speckit.clarify` or `/speckit.specify` to tighten the spec before breaking the work down, then mark each custom checklist item `[x]` only after the requirements-quality criterion has been reviewed and satisfied.
63
69
64
70
## `/speckit.tasks`
65
71
@@ -83,6 +89,8 @@ Run it before implementing, while the artifacts can still be adjusted cheaply. I
83
89
84
90
Executes the tasks in `tasks.md`, running each phase in dependency order and respecting parallel markers.
85
91
92
+
Before executing tasks, it reads checklist checkbox state as a gate. Checklist markers are read-only for this command: `/speckit.implement` counts checked and unchecked items and asks before proceeding when any are unchecked, but it must not change checklist markers. For custom checklists, checked items mean reviewer approval of requirements quality, not completed implementation work.
93
+
86
94
For a small feature, run it once to build everything:
Copy file name to clipboardExpand all lines: templates/checklist-template.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,9 @@
4
4
**Created**: [DATE]
5
5
**Feature**: [Link to spec.md or relevant documentation]
6
6
7
-
**Note**: This checklist is generated by the `__SPECKIT_COMMAND_CHECKLIST__` command based on feature context and requirements.
7
+
**Note**: This custom checklist is generated by the `__SPECKIT_COMMAND_CHECKLIST__` command based on feature context and requirements.
8
+
**Review Ownership**: This checklist is a reviewer-owned requirements-quality review artifact. Mark an item `[x]` only when the reviewer determines the requirements-quality criterion is satisfied.
9
+
**Marker Semantics**: `[x]` means the criterion has been reviewed and satisfied for requirements quality. It does not mean implementation work is complete.
Copy file name to clipboardExpand all lines: templates/commands/checklist.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,15 @@ scripts:
27
27
28
28
**Metaphor**: If your spec is code written in English, the checklist is its unit test suite. You're testing whether the requirements are well-written, complete, unambiguous, and ready for implementation - NOT whether the implementation works.
29
29
30
+
**Ownership and checkbox lifecycle**:
31
+
32
+
- Custom checklists generated by this command are reviewer-owned requirements-quality review artifacts.
33
+
-`[x]` means the reviewer determined the requirements-quality criterion is satisfied.
34
+
-`[x]` does NOT mean implementation work is complete.
35
+
- This command generates or appends checklist items; it MUST NOT mark generated items `[x]`.
36
+
- An agent may assist with evaluating items only when explicitly asked by the reviewer.
37
+
-`checklists/requirements.md` is a separate built-in spec-quality checklist maintained by `__SPECKIT_COMMAND_SPECIFY__` and `__SPECKIT_COMMAND_CLARIFY__`; do not treat that exception as applying to custom checklists generated here.
38
+
30
39
## User Input
31
40
32
41
```text
@@ -136,6 +145,7 @@ You **MUST** consider the user input before proceeding (if not empty).
136
145
- If file does NOT exist: Create new file and number items starting from CHK001
137
146
- If file exists: Append new items to existing file, continuing from the last CHK ID (e.g., if last item is CHK015, start new items at CHK016)
138
147
- Never delete or replace existing checklist content - always preserve and append
148
+
- Leave every newly generated item unchecked (`[ ]`); checkbox state belongs to the reviewer
139
149
140
150
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**:
141
151
Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
@@ -245,7 +255,7 @@ You **MUST** consider the user input before proceeding (if not empty).
245
255
- ✅ "Are [edge cases/scenarios] addressed in requirements?"
246
256
- ✅ "Does the spec define [missing aspect]?"
247
257
248
-
7. **Structure Reference**: Generate the checklist following the canonical template in `templates/checklist-template.md` for title, meta section, category headings, and ID formatting. If template is unavailable, use: H1 title, purpose/created meta lines, `##` category sections containing `- [ ] CHK### <requirement item>` lines with globally incrementing IDs starting at CHK001.
258
+
7. **Structure Reference**: Generate the checklist following the canonical template in `templates/checklist-template.md` for title, meta section, category headings, ownership note, notes section, and ID formatting. If template is unavailable, use: H1 title, purpose/created meta lines, an ownership note explaining that `[x]` means reviewer approval of requirements quality, `##` category sections containing `- [ ] CHK### <requirement item>` lines with globally incrementing IDs starting at CHK001, and notes that `__SPECKIT_COMMAND_IMPLEMENT__` reads checklist state but does not modify markers.
249
259
250
260
8. **Report**: Output full path to checklist file, item count, and summarize whether the run created a new file or appended to an existing one. Summarize:
Copy file name to clipboardExpand all lines: templates/commands/implement.md
+16-13Lines changed: 16 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,33 +54,36 @@ You **MUST** consider the user input before proceeding (if not empty).
54
54
1. Run `{SCRIPT}` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. 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").
- Treat checklist markers as a read-only gate: scan checkbox state, report status, and ask before proceeding when needed; do NOT modify checklist files or markers
58
+
- `checklists/requirements.md` is the built-in spec-quality checklist maintained by `__SPECKIT_COMMAND_SPECIFY__` and `__SPECKIT_COMMAND_CLARIFY__`; custom checklists generated by `__SPECKIT_COMMAND_CHECKLIST__` are reviewer-owned requirements-quality review artifacts
59
+
- For custom checklists, `[x]` means the reviewer determined the requirements-quality criterion is satisfied; it does NOT mean implementation work is complete
57
60
- Scan all checklist files in the checklists/ directory
58
61
- For each checklist, count:
59
62
- Total items: All lines matching `- [ ]` or `- [X]` or `- [x]`
60
-
- Completed items: Lines matching `- [X]` or `- [x]`
61
-
- Incomplete items: Lines matching `- [ ]`
63
+
- Checked items: Lines matching `- [X]` or `- [x]`
64
+
- Unchecked items: Lines matching `- [ ]`
62
65
- Create a status table:
63
66
64
67
```text
65
-
| Checklist | Total | Completed | Incomplete | Status |
0 commit comments