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
Restore one-rule-per-bullet structure in checklist template
Mirror of the review-feedback restructuring on the proof-of-concept
branch (github#2944): discrete bullets for all rule lists; compression from
prose removal only. 4,460 -> 3,257 tokens (-27%).
Copy file name to clipboardExpand all lines: templates/commands/checklist.md
+51-9Lines changed: 51 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,15 @@ scripts:
7
7
8
8
## Checklist Purpose: "Unit Tests for English"
9
9
10
-
**CRITICAL CONCEPT**: Checklists are **UNIT TESTS FOR REQUIREMENTS WRITING** - they validate the quality, clarity, and completeness of requirements in a given domain. They are NOT for verification/testing - NOT "Verify the button clicks correctly", NOT checking if code/implementation matches the spec.
10
+
**CRITICAL CONCEPT**: Checklists are **UNIT TESTS FOR REQUIREMENTS WRITING** - they validate the quality, clarity, and completeness of requirements in a given domain.
11
+
12
+
**NOT for verification/testing**:
11
13
12
14
- ❌ NOT "Test error handling works"
15
+
- ❌ NOT checking if code/implementation matches the spec
16
+
17
+
**FOR requirements quality validation**:
18
+
13
19
- ✅ "Is 'prominent display' quantified with specific sizing/positioning?" (clarity)
14
20
15
21
**Metaphor**: If your spec is code written in English, the checklist is its unit test suite - testing whether the requirements are well-written, complete, unambiguous, and ready for implementation, NOT whether the implementation works.
@@ -61,7 +67,11 @@ You **MUST** consider the user input before proceeding (if not empty).
61
67
62
68
2. **IF EXISTS**: Load `/memory/constitution.md` for project principles and governance constraints.
63
69
64
-
3. **Clarify intent (dynamic)**: Derive up to THREE initial contextual clarifying questions (no pre-baked catalog). They MUST be generated from the user's phrasing + extracted signals from spec/plan/tasks, only ask about information that materially changes checklist content, be skipped individually if already unambiguous in `$ARGUMENTS`, and prefer precision over breadth.
70
+
3. **Clarify intent (dynamic)**: Derive up to THREE initial contextual clarifying questions (no pre-baked catalog). They MUST:
71
+
- Be generated from the user's phrasing + extracted signals from spec/plan/tasks
72
+
- Only ask about information that materially changes checklist content
73
+
- Be skipped individually if already unambiguous in `$ARGUMENTS`
5. Formulate questions from these archetypes: scope refinement, risk prioritization, depth calibration, audience framing, boundary exclusion, scenario class gap (e.g., "No recovery flows detected—are rollback / partial failure paths in scope?").
72
82
73
-
Question formatting rules: if presenting options, generate a compact table with columns Option | Candidate | Why It Matters; limit to A–E options maximum; omit the table if a free-form answer is clearer; never ask the user to restate what they already said; avoid speculative categories (no hallucination) - if uncertain, ask explicitly: "Confirm whether X belongs in scope."
83
+
Question formatting rules:
84
+
- If presenting options, generate a compact table with columns Option | Candidate | Why It Matters
85
+
- Limit to A–E options maximum; omit the table if a free-form answer is clearer
86
+
- Never ask the user to restate what they already said
87
+
- Avoid speculative categories (no hallucination) - if uncertain, ask explicitly: "Confirm whether X belongs in scope."
74
88
75
-
Defaults when interaction impossible: Depth: Standard; Audience: Reviewer (PR) if code-related, Author otherwise; Focus: top 2 relevance clusters.
89
+
Defaults when interaction impossible:
90
+
- Depth: Standard
91
+
- Audience: Reviewer (PR) if code-related, Author otherwise
92
+
- Focus: top 2 relevance clusters
76
93
77
94
Output the questions (label Q1/Q2/Q3). After answers: if ≥2 scenario classes (Alternate / Exception / Recovery / Non-Functional domain) remain unclear, you MAY ask up to TWO more targeted follow-ups (Q4/Q5) with a one-line justification each (e.g., "Unresolved recovery path risk"). Do not exceed five total questions. Skip escalation if user explicitly declines more.
78
95
79
-
4. **Understand user request**: Combine `$ARGUMENTS` + clarifying answers: derive checklist theme (e.g., security, review, deploy, ux); consolidate explicit must-have items mentioned by user; map focus selections to category scaffolding; infer any missing context from spec/plan/tasks (do NOT hallucinate).
96
+
4. **Understand user request**: Combine `$ARGUMENTS` + clarifying answers:
- Consolidate explicit must-have items mentioned by user
99
+
- Map focus selections to category scaffolding
100
+
- Infer any missing context from spec/plan/tasks (do NOT hallucinate)
80
101
81
-
5. **Load feature context**: Read from FEATURE_DIR: spec.md (feature requirements and scope), plan.md if exists (technical details, dependencies), tasks.md if exists (implementation tasks). Load only the portions relevant to active focus areas (avoid full-file dumping); prefer summarizing long sections into concise scenario/requirement bullets; use progressive disclosure (add follow-on retrieval only if gaps detected); if source docs are large, generate interim summary items instead of embedding raw text.
102
+
5. **Load feature context**: Read from FEATURE_DIR: spec.md (feature requirements and scope), plan.md if exists (technical details, dependencies), tasks.md if exists (implementation tasks).
103
+
104
+
Context loading strategy:
105
+
- Load only the portions relevant to active focus areas (avoid full-file dumping)
106
+
- Prefer summarizing long sections into concise scenario/requirement bullets
107
+
- Use progressive disclosure (add follow-on retrieval only if gaps detected)
108
+
- If source docs are large, generate interim summary items instead of embedding raw text
82
109
83
110
6. **Generate checklist** - Create "Unit Tests for Requirements":
84
111
- Create `FEATURE_DIR/checklists/` directory if it doesn't exist
- If the file does NOT exist: create it and number items starting from CHK001. If it exists: append new items, continuing from the last CHK ID (e.g., if last item is CHK015, start at CHK016). Never delete or replace existing checklist content - always preserve and append.
113
+
- If the file does NOT exist: create it and number items starting from CHK001
114
+
- If it exists: append new items, continuing from the last CHK ID (e.g., if last item is CHK015, start at CHK016)
115
+
- Never delete or replace existing checklist content - always preserve and append
116
+
117
+
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**: every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**: every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for **Completeness** (all necessary requirements present?), **Clarity** (unambiguous and specific?), **Consistency** (requirements align with each other?), **Measurability** (objectively verifiable?), **Coverage** (all scenarios/edge cases addressed?). See Anti-Examples below for wrong vs correct item style.
124
+
See Anti-Examples below for wrong vs correct item style.
**ITEM STRUCTURE** - each item: question format asking about requirement quality; focus on what's WRITTEN (or not written) in the spec/plan; include the quality dimension in brackets [Completeness/Clarity/Consistency/etc.]; reference spec section `[Spec §X.Y]` when checking existing requirements; use the `[Gap]` marker when checking for missing requirements. Example: "Is 'fast loading' quantified with specific timing thresholds? [Clarity, Spec §NFR-2]"
128
+
**ITEM STRUCTURE** - each item:
129
+
- Question format asking about requirement quality
130
+
- Focus on what's WRITTEN (or not written) in the spec/plan
131
+
- Include the quality dimension in brackets [Completeness/Clarity/Consistency/etc.]
132
+
- Reference spec section `[Spec §X.Y]` when checking existing requirements
133
+
- Use the `[Gap]` marker when checking for missing requirements
134
+
- Example: "Is 'fast loading' quantified with specific timing thresholds? [Clarity, Spec §NFR-2]"
0 commit comments