Skip to content

Commit b774282

Browse files
docs: document high-assurance spec workflow (#2518)
* docs: document high-assurance workflow * docs: clarify analyze workflow gate Signed-off-by: Asish Kumar <officialasishkumar@gmail.com> --------- Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
1 parent 6322a4d commit b774282

1 file changed

Lines changed: 24 additions & 7 deletions

File tree

docs/quickstart.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,19 @@ This guide will help you get started with Spec-Driven Development using Spec Kit
55
> [!NOTE]
66
> All automation scripts now provide both Bash (`.sh`) and PowerShell (`.ps1`) variants. The `specify` CLI auto-selects based on OS unless you pass `--script sh|ps`.
77
8-
## The 6-Step Process
8+
## Recommended Workflow
99

1010
> [!TIP]
1111
> **Context Awareness**: Spec Kit commands automatically detect the active feature based on your current Git branch (e.g., `001-feature-name`). To switch between different specifications, simply switch Git branches.
1212
13+
After installing Spec Kit and defining your project constitution, quick experiments can use the lean feature path: `/speckit.specify` -> `/speckit.plan` -> `/speckit.tasks` -> `/speckit.implement`. For production features or any work with meaningful ambiguity, treat `/speckit.clarify`, `/speckit.checklist`, and `/speckit.analyze` as regular quality gates:
14+
15+
```text
16+
/speckit.constitution -> /speckit.specify -> /speckit.clarify -> /speckit.checklist -> /speckit.plan -> /speckit.tasks -> /speckit.analyze -> /speckit.implement
17+
```
18+
19+
Use `/speckit.clarify` to reduce requirement ambiguity before planning, `/speckit.checklist` to validate requirements quality before planning, and `/speckit.analyze` to check spec/plan/task consistency before implementation starts. You can repeat `/speckit.analyze` after implementation as an extra review, but keep the first analysis before `/speckit.implement` so gaps are caught while the plan and tasks can still be adjusted.
20+
1321
### Step 1: Install Specify
1422

1523
**In your terminal**, run the `specify` CLI command to initialize your project:
@@ -24,10 +32,13 @@ uvx --from git+https://github.com/github/spec-kit.git specify init .
2432

2533
> [!NOTE]
2634
> You can also install the CLI persistently with `pipx`:
35+
>
2736
> ```bash
2837
> pipx install git+https://github.com/github/spec-kit.git
2938
> ```
39+
>
3040
> After installing with `pipx`, run `specify` directly instead of `uvx --from ... specify`, for example:
41+
>
3142
> ```bash
3243
> specify init <PROJECT_NAME>
3344
> specify init .
@@ -56,14 +67,20 @@ uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME
5667
/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
5768
```
5869

59-
### Step 4: Refine the Spec
70+
### Step 4: Refine and Validate the Spec
6071

6172
**In the chat**, use the `/speckit.clarify` slash command to identify and resolve ambiguities in your specification. You can provide specific focus areas as arguments.
6273

6374
```bash
6475
/speckit.clarify Focus on security and performance requirements.
6576
```
6677

78+
Then validate the requirements with `/speckit.checklist` before creating the technical plan:
79+
80+
```bash
81+
/speckit.checklist
82+
```
83+
6784
### Step 5: Create a Technical Implementation Plan
6885

6986
**In the chat**, use the `/speckit.plan` slash command to provide your tech stack and architecture choices.
@@ -72,21 +89,21 @@ uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME
7289
/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
7390
```
7491

75-
### Step 6: Break Down and Implement
92+
### Step 6: Break Down, Analyze, and Implement
7693

7794
**In the chat**, use the `/speckit.tasks` slash command to create an actionable task list.
7895

7996
```markdown
8097
/speckit.tasks
8198
```
8299

83-
Optionally, validate the plan with `/speckit.analyze`:
100+
Validate cross-artifact consistency with `/speckit.analyze` before implementation:
84101

85102
```markdown
86103
/speckit.analyze
87104
```
88105

89-
Then, use the `/speckit.implement` slash command to execute the plan.
106+
Use the `/speckit.implement` slash command to execute the plan.
90107

91108
```markdown
92109
/speckit.implement
@@ -159,7 +176,7 @@ Generate an actionable task list using the `/speckit.tasks` command:
159176
160177
### Step 7: Validate and Implement
161178
162-
Have your coding agent audit the implementation plan using `/speckit.analyze`:
179+
Have your coding agent audit the spec, plan, and tasks with `/speckit.analyze` before implementation:
163180
164181
```bash
165182
/speckit.analyze
@@ -179,7 +196,7 @@ Finally, implement the solution:
179196
- **Be explicit** about what you're building and why
180197
- **Don't focus on tech stack** during specification phase
181198
- **Iterate and refine** your specifications before implementation
182-
- **Validate** the plan before coding begins
199+
- **Validate** requirements and plans before coding begins
183200
- **Let the coding agent handle** the implementation details
184201
185202
## Next Steps

0 commit comments

Comments
 (0)