Skip to content

Commit a6be9be

Browse files
committed
Update checklist.md
1 parent 78638a9 commit a6be9be

File tree

1 file changed

+176
-90
lines changed

1 file changed

+176
-90
lines changed

templates/commands/checklist.md

Lines changed: 176 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,24 @@ scripts:
55
ps: scripts/powershell/check-prerequisites.ps1 -Json
66
---
77

8-
## Checklist Purpose
8+
## Checklist Purpose: "Unit Tests for English"
99

10-
**CRITICAL CLARIFICATION**: Checklists generated by this command are for **requirements validation**, NOT:
11-
- ❌ Verifying code execution or functionality
12-
- ❌ Testing whether code matches the specification
13-
- ❌ Checking implementation correctness
14-
- ❌ Code review or quality assurance
10+
**CRITICAL CONCEPT**: Checklists are **UNIT TESTS FOR REQUIREMENTS WRITING** - they validate the quality, clarity, and completeness of requirements in a given domain.
1511

16-
**What checklists ARE for**:
17-
- ✅ Ensuring requirements are clearly captured and complete
18-
- ✅ Identifying ambiguities in specifications or plans
19-
- ✅ Verifying proper scenario coverage across the spec and plan
20-
- ✅ Confirming acceptance criteria are well-defined and measurable
21-
- ✅ Detecting gaps, conflicts, or missing edge cases in requirements
22-
- ✅ Validating that the problem domain is properly understood before implementation
12+
**NOT for verification/testing**:
13+
- ❌ NOT "Verify the button clicks correctly"
14+
- ❌ NOT "Test error handling works"
15+
- ❌ NOT "Confirm the API returns 200"
16+
- ❌ NOT checking if code/implementation matches the spec
2317

24-
Think of checklists as a **pre-implementation review** to ensure the spec and plan are solid, not a post-implementation verification tool.
18+
**FOR requirements quality validation**:
19+
- ✅ "Are visual hierarchy requirements defined for all card types?" (completeness)
20+
- ✅ "Is 'prominent display' quantified with specific sizing/positioning?" (clarity)
21+
- ✅ "Are hover state requirements consistent across all interactive elements?" (consistency)
22+
- ✅ "Are accessibility requirements defined for keyboard navigation?" (coverage)
23+
- ✅ "Does the spec define what happens when logo image fails to load?" (edge cases)
24+
25+
**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.
2526

2627
## User Input
2728

@@ -85,69 +86,122 @@ You **MUST** consider the user input before proceeding (if not empty).
8586
- Use progressive disclosure: add follow-on retrieval only if gaps detected
8687
- If source docs are large, generate interim summary items instead of embedding raw text
8788

88-
5. **Generate checklist**:
89+
5. **Generate checklist** - Create "Unit Tests for Requirements":
8990
- Create `FEATURE_DIR/checklists/` directory if it doesn't exist
9091
- Generate unique checklist filename:
91-
- Use short, descriptive name based on checklist type
92-
- Format: `[type].md` (e.g., `ux.md`, `test.md`, `security.md`, `deploy.md`)
93-
- If file exists, append to existing file (e.g., use the same UX checklist)
92+
- Use short, descriptive name based on domain (e.g., `ux.md`, `api.md`, `security.md`)
93+
- Format: `[domain].md`
94+
- If file exists, append to existing file
9495
- Number items sequentially starting from CHK001
9596
- Each `/checklist` run creates a NEW file (never overwrites existing checklists)
9697

97-
**Category Structure** - Group items ONLY using this controlled set:
98-
- Primary Flows
99-
- Alternate Flows
100-
- Exception / Error Flows
101-
- Recovery & Resilience
102-
- Non-Functional Domains (sub‑grouped or prefixed: Performance, Reliability, Security & Privacy, Accessibility, Observability, Scalability, Data Lifecycle)
103-
- Traceability & Coverage
104-
- Ambiguities & Conflicts
105-
- Assumptions & Dependencies
98+
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**:
99+
Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
100+
- **Completeness**: Are all necessary requirements present?
101+
- **Clarity**: Are requirements unambiguous and specific?
102+
- **Consistency**: Do requirements align with each other?
103+
- **Measurability**: Can requirements be objectively verified?
104+
- **Coverage**: Are all scenarios/edge cases addressed?
105+
106+
**Category Structure** - Group items by requirement quality dimensions:
107+
- **Requirement Completeness** (Are all necessary requirements documented?)
108+
- **Requirement Clarity** (Are requirements specific and unambiguous?)
109+
- **Requirement Consistency** (Do requirements align without conflicts?)
110+
- **Acceptance Criteria Quality** (Are success criteria measurable?)
111+
- **Scenario Coverage** (Are all flows/cases addressed?)
112+
- **Edge Case Coverage** (Are boundary conditions defined?)
113+
- **Non-Functional Requirements** (Performance, Security, Accessibility, etc. - are they specified?)
114+
- **Dependencies & Assumptions** (Are they documented and validated?)
115+
- **Ambiguities & Conflicts** (What needs clarification?)
116+
117+
**HOW TO WRITE CHECKLIST ITEMS - "Unit Tests for English"**:
118+
119+
**WRONG** (Testing implementation):
120+
- "Verify landing page displays 3 episode cards"
121+
- "Test hover states work on desktop"
122+
- "Confirm logo click navigates home"
123+
124+
**CORRECT** (Testing requirements quality):
125+
- "Are the exact number and layout of featured episodes specified?" [Completeness]
126+
- "Is 'prominent display' quantified with specific sizing/positioning?" [Clarity]
127+
- "Are hover state requirements consistent across all interactive elements?" [Consistency]
128+
- "Are keyboard navigation requirements defined for all interactive UI?" [Coverage]
129+
- "Is the fallback behavior specified when logo image fails to load?" [Edge Cases]
130+
- "Are loading states defined for asynchronous episode data?" [Completeness]
131+
- "Does the spec define visual hierarchy for competing UI elements?" [Clarity]
132+
133+
**ITEM STRUCTURE**:
134+
Each item should follow this pattern:
135+
- Question format asking about requirement quality
136+
- Focus on what's WRITTEN (or not written) in the spec/plan
137+
- Include quality dimension in brackets [Completeness/Clarity/Consistency/etc.]
138+
- Reference spec section `[Spec §X.Y]` when checking existing requirements
139+
- Use `[Gap]` marker when checking for missing requirements
140+
141+
**EXAMPLES BY QUALITY DIMENSION**:
142+
143+
Completeness:
144+
- "Are error handling requirements defined for all API failure modes? [Gap]"
145+
- "Are accessibility requirements specified for all interactive elements? [Completeness]"
146+
- "Are mobile breakpoint requirements defined for responsive layouts? [Gap]"
147+
148+
Clarity:
149+
- "Is 'fast loading' quantified with specific timing thresholds? [Clarity, Spec §NFR-2]"
150+
- "Are 'related episodes' selection criteria explicitly defined? [Clarity, Spec §FR-5]"
151+
- "Is 'prominent' defined with measurable visual properties? [Ambiguity, Spec §FR-4]"
106152

107-
Do NOT invent ad-hoc categories; merge sparse categories (<2 items) into the closest higher-signal category.
153+
Consistency:
154+
- "Do navigation requirements align across all pages? [Consistency, Spec §FR-10]"
155+
- "Are card component requirements consistent between landing and detail pages? [Consistency]"
156+
157+
Coverage:
158+
- "Are requirements defined for zero-state scenarios (no episodes)? [Coverage, Edge Case]"
159+
- "Are concurrent user interaction scenarios addressed? [Coverage, Gap]"
160+
- "Are requirements specified for partial data loading failures? [Coverage, Exception Flow]"
161+
162+
Measurability:
163+
- "Are visual hierarchy requirements measurable/testable? [Acceptance Criteria, Spec §FR-1]"
164+
- "Can 'balanced visual weight' be objectively verified? [Measurability, Spec §FR-2]"
108165

109-
**Scenario Classification & Coverage** (Requirements Validation Focus):
110-
- Classify scenarios into: Primary, Alternate, Exception/Error, Recovery/Resilience, Non-Functional
111-
- At least one item per present scenario class; if intentionally absent add: `Confirm intentional absence of <Scenario Class> scenarios`
112-
- Include resilience/rollback coverage when state mutation or migrations occur (partial write, degraded mode, backward compatibility, rollback preconditions)
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?
166+
**Scenario Classification & Coverage** (Requirements Quality Focus):
167+
- Check if requirements exist for: Primary, Alternate, Exception/Error, Recovery, Non-Functional scenarios
168+
- For each scenario class, ask: "Are [scenario type] requirements complete, clear, and consistent?"
169+
- If scenario class missing: "Are [scenario type] requirements intentionally excluded or missing? [Gap]"
170+
- Include resilience/rollback when state mutation occurs: "Are rollback requirements defined for migration failures? [Gap]"
115171

116172
**Traceability Requirements**:
117173
- MINIMUM: ≥80% of items MUST include at least one traceability reference
118-
- Each item should include ≥1 of: scenario class tag, spec ref `[Spec §X.Y]`, acceptance criterion `[AC-##]`, or marker `(Assumption)/(Dependency)/(Ambiguity)/(Conflict)`
119-
- If no ID system exists, create an item: `Establish requirement & acceptance criteria ID scheme before proceeding`
174+
- Each item should reference: spec section `[Spec §X.Y]`, or use markers: `[Gap]`, `[Ambiguity]`, `[Conflict]`, `[Assumption]`
175+
- If no ID system exists: "Is a requirement & acceptance criteria ID scheme established? [Traceability]"
120176

121-
**Surface & Resolve Issues** (Pre-Implementation Validation):
122-
- Cluster and create one resolution item per cluster for:
123-
- 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?"
177+
**Surface & Resolve Issues** (Requirements Quality Problems):
178+
Ask questions about the requirements themselves:
179+
- Ambiguities: "Is the term 'fast' quantified with specific metrics? [Ambiguity, Spec §NFR-1]"
180+
- Conflicts: "Do navigation requirements conflict between §FR-10 and §FR-10a? [Conflict]"
181+
- Assumptions: "Is the assumption of 'always available podcast API' validated? [Assumption]"
182+
- Dependencies: "Are external podcast API requirements documented? [Dependency, Gap]"
183+
- Missing definitions: "Is 'visual hierarchy' defined with measurable criteria? [Gap]"
128184

129185
**Content Consolidation**:
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`
131-
- Merge near-duplicates when: same scenario class + same spec section + overlapping acceptance intent
132-
- If >5 low-impact edge cases, cluster into a single aggregated item
133-
- Do not repeat identical spec or acceptance refs in >3 items unless covering distinct scenario classes
134-
- Treat context budget as finite: do not restate already-tagged requirements verbatim across multiple items
135-
136-
**🚫 PROHIBITED CONTENT** (Requirements Focus ONLY):
137-
- Focus on requirements & scenario coverage quality, NOT implementation
138-
- NEVER include: specific tests ("unit test", "integration test"), code symbols, frameworks, algorithmic prescriptions, deployment steps, test plan details, implementation strategy
139-
- Rephrase any such user input into requirement clarity or coverage validation
140-
- Optional brief rationale ONLY if it clarifies requirement intent or risk
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"
186+
- Soft cap: If raw candidate items > 40, prioritize by risk/impact
187+
- Merge near-duplicates checking the same requirement aspect
188+
- If >5 low-impact edge cases, create one item: "Are edge cases X, Y, Z addressed in requirements? [Coverage]"
189+
190+
**🚫 ABSOLUTELY PROHIBITED** - These make it an implementation test, not a requirements test:
191+
- ❌ Any item starting with "Verify", "Test", "Confirm", "Check" + implementation behavior
192+
- ❌ References to code execution, user actions, system behavior
193+
- ❌ "Displays correctly", "works properly", "functions as expected"
194+
- ❌ "Click", "navigate", "render", "load", "execute"
195+
- ❌ Test cases, test plans, QA procedures
196+
- ❌ Implementation details (frameworks, APIs, algorithms)
197+
198+
**✅ REQUIRED PATTERNS** - These test requirements quality:
199+
- ✅ "Are [requirement type] defined/specified/documented for [scenario]?"
200+
- ✅ "Is [vague term] quantified/clarified with specific criteria?"
201+
- ✅ "Are requirements consistent between [section A] and [section B]?"
202+
- ✅ "Can [requirement] be objectively measured/verified?"
203+
- ✅ "Are [edge cases/scenarios] addressed in requirements?"
204+
- ✅ "Does the spec define [missing aspect]?"
151205

152206
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.
153207

@@ -165,39 +219,71 @@ You **MUST** consider the user input before proceeding (if not empty).
165219

166220
To avoid clutter, use descriptive types and clean up obsolete checklists when done.
167221

168-
## Example Checklist Types
222+
## Example Checklist Types & Sample Items
223+
224+
**UX Requirements Quality:** `ux.md`
225+
226+
Sample items (testing the requirements, NOT the implementation):
227+
- "Are visual hierarchy requirements defined with measurable criteria? [Clarity, Spec §FR-1]"
228+
- "Is the number and positioning of UI elements explicitly specified? [Completeness, Spec §FR-1]"
229+
- "Are interaction state requirements (hover, focus, active) consistently defined? [Consistency]"
230+
- "Are accessibility requirements specified for all interactive elements? [Coverage, Gap]"
231+
- "Is fallback behavior defined when images fail to load? [Edge Case, Gap]"
232+
- "Can 'prominent display' be objectively measured? [Measurability, Spec §FR-4]"
169233

170-
**Specification Review:** `spec-review.md`
234+
**API Requirements Quality:** `api.md`
171235

172-
- Requirement completeness and clarity
173-
- User scenarios and edge cases coverage
174-
- Acceptance criteria definition
175-
- Domain-specific considerations
236+
Sample items:
237+
- "Are error response formats specified for all failure scenarios? [Completeness]"
238+
- "Are rate limiting requirements quantified with specific thresholds? [Clarity]"
239+
- "Are authentication requirements consistent across all endpoints? [Consistency]"
240+
- "Are retry/timeout requirements defined for external dependencies? [Coverage, Gap]"
241+
- "Is versioning strategy documented in requirements? [Gap]"
176242

177-
**Requirements Quality:** `requirements.md`
243+
**Performance Requirements Quality:** `performance.md`
178244

179-
- Testable and measurable outcomes
180-
- Stakeholder alignment verification
181-
- Assumptions and constraints documentation
182-
- Success metrics definition
245+
Sample items:
246+
- "Are performance requirements quantified with specific metrics? [Clarity]"
247+
- "Are performance targets defined for all critical user journeys? [Coverage]"
248+
- "Are performance requirements under different load conditions specified? [Completeness]"
249+
- "Can performance requirements be objectively measured? [Measurability]"
250+
- "Are degradation requirements defined for high-load scenarios? [Edge Case, Gap]"
183251

184-
**UX/Accessibility Scenarios:** `ux.md` or `a11y.md`
252+
**Security Requirements Quality:** `security.md`
185253

186-
- User journey completeness
187-
- Accessibility requirement coverage
188-
- Responsive design considerations
189-
- Internationalization needs
254+
Sample items:
255+
- "Are authentication requirements specified for all protected resources? [Coverage]"
256+
- "Are data protection requirements defined for sensitive information? [Completeness]"
257+
- "Is the threat model documented and requirements aligned to it? [Traceability]"
258+
- "Are security requirements consistent with compliance obligations? [Consistency]"
259+
- "Are security failure/breach response requirements defined? [Gap, Exception Flow]"
190260

191-
**Security Requirements:** `security.md`
261+
## Anti-Examples: What NOT To Do
192262

193-
- Threat model coverage
194-
- Authentication/authorization requirements
195-
- Data protection requirements
196-
- Compliance and regulatory needs
263+
**❌ WRONG - These test implementation, not requirements:**
197264

198-
**API/Integration Scenarios:** `api.md`
265+
```markdown
266+
- [ ] CHK001 - Verify landing page displays 3 episode cards [Spec §FR-001]
267+
- [ ] CHK002 - Test hover states work correctly on desktop [Spec §FR-003]
268+
- [ ] CHK003 - Confirm logo click navigates to home page [Spec §FR-010]
269+
- [ ] CHK004 - Check that related episodes section shows 3-5 items [Spec §FR-005]
270+
```
271+
272+
**✅ CORRECT - These test requirements quality:**
273+
274+
```markdown
275+
- [ ] CHK001 - Are the number and layout of featured episodes explicitly specified? [Completeness, Spec §FR-001]
276+
- [ ] CHK002 - Are hover state requirements consistently defined for all interactive elements? [Consistency, Spec §FR-003]
277+
- [ ] CHK003 - Are navigation requirements clear for all clickable brand elements? [Clarity, Spec §FR-010]
278+
- [ ] CHK004 - Is the selection criteria for related episodes documented? [Gap, Spec §FR-005]
279+
- [ ] CHK005 - Are loading state requirements defined for asynchronous episode data? [Gap]
280+
- [ ] CHK006 - Can "visual hierarchy" requirements be objectively measured? [Measurability, Spec §FR-001]
281+
```
199282

200-
- Contract completeness
201-
- Error handling scenarios
202-
- Backward compatibility considerations
203-
- Integration touchpoint coverage
283+
**Key Differences:**
284+
- Wrong: Tests if the system works correctly
285+
- Correct: Tests if the requirements are written correctly
286+
- Wrong: Verification of behavior
287+
- Correct: Validation of requirement quality
288+
- Wrong: "Does it do X?"
289+
- Correct: "Is X clearly specified?"

0 commit comments

Comments
 (0)