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: .claude/skills/speckit-analyze/SKILL.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,6 @@ You **MUST** consider the user input before proceeding (if not empty).
31
31
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
32
32
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
33
33
- For each executable hook, output the following based on its `optional` flag:
34
-
35
34
-**Optional hook** (`optional: true`):
36
35
37
36
```
@@ -223,7 +222,6 @@ After reporting, check if `.specify/extensions.yml` exists in the project root.
223
222
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
224
223
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
225
224
- For each executable hook, output the following based on its `optional` flag:
Copy file name to clipboardExpand all lines: .claude/skills/speckit-checklist/SKILL.md
-27Lines changed: 0 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,6 @@ You **MUST** consider the user input before proceeding (if not empty).
52
52
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
53
53
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
54
54
- For each executable hook, output the following based on its `optional` flag:
55
-
56
55
-**Optional hook** (`optional: true`):
57
56
58
57
```
@@ -83,19 +82,16 @@ You **MUST** consider the user input before proceeding (if not empty).
83
82
## Execution Steps
84
83
85
84
1. **Setup**: Run `.specify/scripts/bash/check-prerequisites.sh --json` from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS list.
86
-
87
85
- All file paths must be absolute.
88
86
- 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").
89
87
90
88
2. **Clarify intent (dynamic)**: Derive up to THREE initial contextual clarifying questions (no pre-baked catalog). They MUST:
91
-
92
89
- Be generated from the user's phrasing + extracted signals from spec/plan/tasks
93
90
- Only ask about information that materially changes checklist content
94
91
- Be skipped individually if already unambiguous in `$ARGUMENTS`
2. Cluster signals into candidate focus areas (max 4) ranked by relevance.
101
97
3. Identify probable audience & timing (author, reviewer, QA, release) if not explicit.
@@ -109,42 +105,36 @@ You **MUST** consider the user input before proceeding (if not empty).
109
105
- Scenario class gap (e.g., "No recovery flows detected—are rollback / partial failure paths in scope?")
110
106
111
107
Question formatting rules:
112
-
113
108
- If presenting options, generate a compact table with columns: Option | Candidate | Why It Matters
114
109
- Limit to A–E options maximum; omit table if a free-form answer is clearer
115
110
- Never ask the user to restate what they already said
116
111
- Avoid speculative categories (no hallucination). If uncertain, ask explicitly: "Confirm whether X belongs in scope."
117
112
118
113
Defaults when interaction impossible:
119
-
120
114
- Depth: Standard
121
115
- Audience: Reviewer (PR) if code-related; Author otherwise
122
116
- Focus: Top 2 relevance clusters
123
117
124
118
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.
125
119
126
120
3. **Understand user request**: Combine `$ARGUMENTS` + clarifying answers:
**✅ REQUIRED PATTERNS** - These test requirements quality:
273
-
274
248
- ✅ "Are [requirement type] defined/specified/documented for [scenario]?"
275
249
- ✅ "Is [vague term] quantified/clarified with specific criteria?"
276
250
- ✅ "Are requirements consistent between [section A] and [section B]?"
@@ -381,7 +355,6 @@ Check if `.specify/extensions.yml` exists in the project root.
381
355
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
382
356
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
383
357
- For each executable hook, output the following based on its `optional` flag:
Copy file name to clipboardExpand all lines: .claude/skills/speckit-clarify/SKILL.md
-20Lines changed: 0 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,6 @@ You **MUST** consider the user input before proceeding (if not empty).
31
31
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
32
32
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
33
33
- For each executable hook, output the following based on its `optional` flag:
34
-
35
34
-**Optional hook** (`optional: true`):
36
35
37
36
```
@@ -68,7 +67,6 @@ Note: This clarification workflow is expected to run (and be completed) BEFORE i
- (Optionally capture `IMPL_PLAN`, `TASKS` for future chained flows.)
@@ -78,26 +76,22 @@ Execution steps:
78
76
2. Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).
For each category with Partial or Missing status, add a candidate question opportunity unless:
141
-
142
129
- Clarification would not materially change implementation or validation strategy
143
130
- Information is better deferred to planning phase (note internally)
144
131
145
132
3. Generate (internally) a prioritized queue of candidate clarification questions (maximum 5). Do NOT output them all at once. Apply these constraints:
146
-
147
133
- Maximum of 5 total questions across the whole session.
148
134
- Each question must be answerable with EITHER:
149
135
- A short multiple‑choice selection (2–5 distinct, mutually exclusive options), OR
@@ -155,10 +141,8 @@ Execution steps:
155
141
- If more than 5 categories remain unresolved, select the top 5 by (Impact \* Uncertainty) heuristic.
156
142
157
143
4. Sequential questioning loop (interactive):
158
-
159
144
- Present EXACTLY ONE question at a time.
160
145
- For multiple‑choice questions:
161
-
162
146
- **Analyze all options** and determine the **most suitable option** based on:
163
147
- Best practices for the project type
164
148
- Common patterns in similar implementations
@@ -174,7 +158,6 @@ Execution steps:
174
158
| B | <Option B description> |
175
159
| C | <Option C description> (add D/E as needed up to 5) |
176
160
| Short | Provide a different short answer (<=5 words) (Include only if free-form alternative is appropriate) |
177
-
178
161
- After the table, add: `You can reply with the option letter (e.g., "A"), accept the recommendation by saying "yes" or "recommended", or provide your own short answer.`
179
162
180
163
- For short‑answer style (no meaningful discrete options):
@@ -194,7 +177,6 @@ Execution steps:
194
177
- If no valid questions exist at start, immediately report no critical ambiguities.
195
178
196
179
5. Integration after EACH accepted answer (incremental update approach):
197
-
198
180
- Maintain in-memory representation of the spec (loaded once at start) plus the raw file contents.
199
181
- For the first integrated answer in this session:
200
182
- Ensure a `## Clarifications` section exists (create it just after the highest-level contextual/overview section per the spec template if missing).
@@ -213,7 +195,6 @@ Execution steps:
213
195
- Keep each inserted clarification minimal and testable (avoid narrative drift).
214
196
215
197
6. Validation (performed after EACH write plus final pass):
216
-
217
198
- Clarifications session contains exactly one bullet per accepted answer (no duplicates).
218
199
- Total asked (accepted) questions ≤ 5.
219
200
- Updated sections contain no lingering vague placeholders the new answer was meant to resolve.
@@ -256,7 +237,6 @@ Check if `.specify/extensions.yml` exists in the project root.
256
237
- If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
257
238
- When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `speckit.git.commit` → `/speckit-git-commit`.
258
239
- For each executable hook, output the following based on its `optional` flag:
0 commit comments