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: templates/commands/specify.md
+28-7Lines changed: 28 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,11 +19,32 @@ The text the user typed after `/speckit.specify` in the triggering message **is*
19
19
20
20
Given that feature description, do this:
21
21
22
-
1. Run the script `{SCRIPT}` from repo root and parse its JSON output for BRANCH_NAME and SPEC_FILE. All file paths must be absolute.
23
-
**IMPORTANT** You must only ever run this script once. The JSON is provided in the terminal as output - always refer to it to get the actual content you're looking for. 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").
24
-
2. Load `templates/spec-template.md` to understand required sections.
22
+
1.**Generate a concise short name** (2-4 words) for the branch:
23
+
- Analyze the feature description and extract the most meaningful keywords
24
+
- Create a 2-4 word short name that captures the essence of the feature
25
+
- Use action-noun format when possible (e.g., "add-user-auth", "fix-payment-bug")
26
+
- Preserve technical terms and acronyms (OAuth2, API, JWT, etc.)
27
+
- Keep it concise but descriptive enough to understand the feature at a glance
28
+
- Examples:
29
+
- "I want to add user authentication" → "user-auth"
30
+
- "Implement OAuth2 integration for the API" → "oauth2-api-integration"
31
+
- "Create a dashboard for analytics" → "analytics-dashboard"
2. Run the script `{SCRIPT}` from repo root **with the short-name argument** and parse its JSON output for BRANCH_NAME and SPEC_FILE. All file paths must be absolute.
35
+
36
+
**IMPORTANT**:
37
+
38
+
- Append the short-name argument to the `{SCRIPT}` command with the 2-4 word short name you created in step 1
- 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")
42
+
- You must only ever run this script once
43
+
- The JSON is provided in the terminal as output - always refer to it to get the actual content you're looking for
44
+
45
+
3. Load `templates/spec-template.md` to understand required sections.
46
+
47
+
4. Follow this execution flow:
27
48
28
49
1. Parse user description from Input
29
50
If empty: ERROR "No feature description provided"
@@ -49,9 +70,9 @@ Given that feature description, do this:
49
70
7. Identify Key Entities (if data involved)
50
71
8. Return: SUCCESS (spec ready for planning)
51
72
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.
73
+
5. 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.
53
74
54
-
5.**Specification Quality Validation**: After writing the initial spec, validate it against quality criteria:
75
+
6.**Specification Quality Validation**: After writing the initial spec, validate it against quality criteria:
55
76
56
77
a. **Create Spec Quality Checklist**: Generate a checklist file at `FEATURE_DIR/checklists/requirements.md` using the checklist template structure with these validation items:
57
78
@@ -143,7 +164,7 @@ Given that feature description, do this:
143
164
144
165
d. **Update Checklist**: After each validation iteration, update the checklist file with current pass/fail status
145
166
146
-
6. Report completion with branch name, spec file path, checklist results, and readiness for the next phase (`/speckit.clarify` or `/speckit.plan`).
167
+
7. Report completion with branch name, spec file path, checklist results, and readiness for the next phase (`/speckit.clarify` or `/speckit.plan`).
147
168
148
169
**NOTE:** The script creates and checks out the new branch and initializes the spec file before writing.
0 commit comments