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
- At least one item per present scenario class; if intentionally absent add: `Confirm intentional absence of <Scenario Class> scenarios`
94
112
- Include resilience/rollback coverage when state mutation or migrations occur (partial write, degraded mode, backward compatibility, rollback preconditions)
95
113
- If a major scenario lacks acceptance criteria, add an item to define measurable criteria
114
+
-**Focus on requirements validation**: Are scenarios clearly defined? Are acceptance criteria measurable? Are edge cases identified in the spec?
96
115
97
116
**Traceability Requirements**:
98
117
- MINIMUM: ≥80% of items MUST include at least one traceability reference
99
118
- Each item should include ≥1 of: scenario class tag, spec ref `[Spec §X.Y]`, acceptance criterion `[AC-##]`, or marker `(Assumption)/(Dependency)/(Ambiguity)/(Conflict)`
100
119
- If no ID system exists, create an item: `Establish requirement & acceptance criteria ID scheme before proceeding`
- Ambiguities (vague terms in spec: "fast", "robust", "secure" - these need quantification)
124
+
- Conflicts (contradictory statements in requirements)
125
+
- Assumptions (unvalidated premises in the spec or plan)
126
+
- Dependencies (external systems, feature flags, migrations, upstream APIs - are they documented?)
127
+
- Items should focus on "Is this requirement clear enough to implement?" not "Does the code work?"
108
128
109
129
**Content Consolidation**:
110
130
- Soft cap: If raw candidate items > 40, prioritize by risk/impact and add: `Consolidate remaining low-impact scenarios (see source docs) after priority review`
@@ -119,6 +139,16 @@ You **MUST** consider the user input before proceeding (if not empty).
119
139
- Rephrase any such user input into requirement clarity or coverage validation
120
140
- Optional brief rationale ONLY if it clarifies requirement intent or risk
121
141
142
+
**✅ HOW TO PHRASE CHECKLIST ITEMS** (Requirements Validation):
143
+
- Good: "Verify error handling scenarios are defined for network failures"
144
+
- Bad: "Test error handling for network failures"
145
+
- Good: "Confirm acceptance criteria are measurable for performance requirements"
146
+
- Bad: "Run performance tests to verify requirements"
147
+
- Good: "Identify edge cases for concurrent user access in spec"
148
+
- Bad: "Implement thread-safe concurrent access"
149
+
- Good: "Clarify ambiguous term 'fast response' with specific timing requirements"
150
+
- Bad: "Verify response time is under 100ms"
151
+
122
152
6.**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.
123
153
124
154
7.**Report**: Output full path to created checklist, item count, and remind user that each run creates a new file. Summarize:
Copy file name to clipboardExpand all lines: templates/commands/specify.md
+76-22Lines changed: 76 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,15 +29,25 @@ Given that feature description, do this:
29
29
If empty: ERROR "No feature description provided"
30
30
2. Extract key concepts from description
31
31
Identify: actors, actions, data, constraints
32
-
3. For each unclear aspect:
33
-
Mark with [NEEDS CLARIFICATION: specific question]
32
+
3. For unclear aspects:
33
+
- Make informed guesses based on context and industry standards
34
+
- Only mark with [NEEDS CLARIFICATION: specific question] if:
35
+
- The choice significantly impacts feature scope or user experience
36
+
- Multiple reasonable interpretations exist with different implications
37
+
- No reasonable default exists
38
+
-**LIMIT: Maximum 3 [NEEDS CLARIFICATION] markers total**
39
+
- Prioritize clarifications by impact: scope > security/privacy > user experience > technical details
34
40
4. Fill User Scenarios & Testing section
35
41
If no clear user flow: ERROR "Cannot determine user scenarios"
36
42
5. Generate Functional Requirements
37
43
Each requirement must be testable
38
-
Mark ambiguous requirements
39
-
6. Identify Key Entities (if data involved)
40
-
7. Return: SUCCESS (spec ready for planning)
44
+
Use reasonable defaults for unspecified details (document assumptions in Assumptions section)
45
+
6. Define Success Criteria
46
+
Create measurable, technology-agnostic outcomes
47
+
Include both quantitative metrics (time, performance, volume) and qualitative measures (user satisfaction, task completion)
48
+
Each criterion must be verifiable without implementation details
49
+
7. Identify Key Entities (if data involved)
50
+
8. Return: SUCCESS (spec ready for planning)
41
51
42
52
4. Write the specification to SPEC_FILE using the template structure, replacing placeholders with concrete details derived from the feature description (arguments) while preserving section order and headings.
43
53
@@ -64,9 +74,19 @@ Given that feature description, do this:
64
74
- [ ] No [NEEDS CLARIFICATION] markers remain
65
75
- [ ] Requirements are testable and unambiguous
66
76
- [ ] Success criteria are measurable
77
+
- [ ] Success criteria are technology-agnostic (no implementation details)
78
+
- [ ] All acceptance scenarios are defined
79
+
- [ ] Edge cases are identified
67
80
- [ ] Scope is clearly bounded
68
81
- [ ] Dependencies and assumptions identified
69
82
83
+
## Feature Readiness
84
+
85
+
- [ ] All functional requirements have clear acceptance criteria
86
+
- [ ] User scenarios cover primary flows
87
+
- [ ] Feature meets measurable outcomes defined in Success Criteria
88
+
- [ ] No implementation details leak into specification
89
+
70
90
## Notes
71
91
72
92
- Items marked incomplete require spec updates before `/clarify` or `/plan`
@@ -88,7 +108,8 @@ Given that feature description, do this:
88
108
89
109
- **If [NEEDS CLARIFICATION] markers remain**:
90
110
1. Extract all [NEEDS CLARIFICATION: ...] markers from the spec
91
-
2. For each clarification needed, present options to user in this format:
111
+
2. **LIMIT CHECK**: If more than 3 markers exist, keep only the 3 most critical (by scope/security/UX impact) and make informed guesses for the rest
112
+
3. For each clarification needed (max 3), present options to user in this format:
92
113
93
114
```markdown
94
115
## Question [N]: [Topic]
@@ -109,16 +130,16 @@ Given that feature description, do this:
0 commit comments