speccrew 0.2.7 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.speccrew/agents/speccrew-feature-designer.md +220 -27
- package/.speccrew/agents/speccrew-product-manager.md +90 -0
- package/.speccrew/agents/speccrew-system-designer.md +237 -31
- package/.speccrew/agents/speccrew-system-developer.md +44 -10
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +15 -1
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +36 -7
- package/.speccrew/skills/speccrew-dev-review/SKILL.md +16 -7
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +150 -35
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +140 -18
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +29 -15
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +51 -6
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +18 -20
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +7 -10
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +19 -23
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +151 -153
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +23 -63
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +32 -68
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +6 -2
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +203 -17
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +16 -1
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +33 -6
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +25 -5
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +17 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +20 -3
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +8 -0
- package/package.json +1 -1
|
@@ -73,22 +73,22 @@ If resuming from an interrupted session:
|
|
|
73
73
|
|
|
74
74
|
4. **User Confirmation**: Show resume point and ask "Continue from this checkpoint?"
|
|
75
75
|
|
|
76
|
-
### 0.3 Check Dispatch Resume (
|
|
76
|
+
### 0.3 Check Dispatch Resume (Feature-Granular Recovery)
|
|
77
77
|
|
|
78
|
-
If the
|
|
78
|
+
If the iteration involves multiple Features:
|
|
79
79
|
|
|
80
80
|
1. **Read `DISPATCH-PROGRESS.json` summary** (if file exists):
|
|
81
81
|
```bash
|
|
82
|
-
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration
|
|
82
|
+
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration}/02.feature-design/DISPATCH-PROGRESS.json --summary
|
|
83
83
|
```
|
|
84
84
|
- If the file does not exist → No dispatch in progress, proceed normally
|
|
85
85
|
|
|
86
|
-
2. **List
|
|
86
|
+
2. **List Feature Task Status**:
|
|
87
87
|
```
|
|
88
88
|
📊 Dispatch Status:
|
|
89
|
-
├──
|
|
90
|
-
├──
|
|
91
|
-
└──
|
|
89
|
+
├── F-CRM-01 (Customer List): ✅ Completed
|
|
90
|
+
├── F-CRM-02 (Customer Detail): ⏳ Pending
|
|
91
|
+
└── F-CRM-03 (Customer Search API): ❌ Failed (error message)
|
|
92
92
|
|
|
93
93
|
Total: 3 | Completed: 1 | Failed: 1 | Pending: 1
|
|
94
94
|
```
|
|
@@ -98,9 +98,25 @@ If the feature involves multiple frontend platforms:
|
|
|
98
98
|
- Re-execute tasks with `status == "failed"`
|
|
99
99
|
- Execute tasks with `status == "pending"`
|
|
100
100
|
|
|
101
|
-
4. **User Confirmation**: Ask "Resume dispatch for pending/failed
|
|
101
|
+
4. **User Confirmation**: Ask "Resume dispatch for pending/failed Features?"
|
|
102
102
|
|
|
103
|
-
### 0.4 Backward Compatibility
|
|
103
|
+
### 0.4 Backward Compatibility Note
|
|
104
|
+
|
|
105
|
+
**Dispatch Mode Detection**:
|
|
106
|
+
|
|
107
|
+
The agent automatically detects the appropriate dispatch mode based on PRD content:
|
|
108
|
+
|
|
109
|
+
- **Feature Breakdown present** → Feature-granular dispatch (new behavior)
|
|
110
|
+
- Each Feature in the breakdown table gets its own Feature Spec and API Contract
|
|
111
|
+
- File naming: `{feature-id}-{feature-name}-feature-spec.md`
|
|
112
|
+
|
|
113
|
+
- **Feature Breakdown missing** → Module-granular dispatch (legacy behavior)
|
|
114
|
+
- Each Sub-PRD gets one Feature Spec and API Contract
|
|
115
|
+
- File naming: `{module-name}-feature-spec.md`
|
|
116
|
+
|
|
117
|
+
This ensures backward compatibility with PRDs created before the Feature Breakdown feature was introduced.
|
|
118
|
+
|
|
119
|
+
### 0.5 Backward Compatibility
|
|
104
120
|
|
|
105
121
|
If `WORKFLOW-PROGRESS.json` does not exist:
|
|
106
122
|
- Log: "⚠️ No workflow progress file found. Running in legacy mode."
|
|
@@ -144,6 +160,31 @@ Read all confirmed PRD documents specified by the user. PRD documents contain:
|
|
|
144
160
|
- Business process flows
|
|
145
161
|
- Acceptance criteria
|
|
146
162
|
|
|
163
|
+
### Extract Feature Breakdown (Section 3.4)
|
|
164
|
+
|
|
165
|
+
After reading PRD documents, extract Feature Breakdown from each Sub-PRD:
|
|
166
|
+
|
|
167
|
+
1. **Locate Section 3.4**: In each Sub-PRD, find the "Feature Breakdown" table under Section 3.4
|
|
168
|
+
|
|
169
|
+
2. **Parse Feature Table**: Extract the following columns for each Feature:
|
|
170
|
+
- `Feature ID`: Unique identifier (e.g., `F-CRM-01`, `F-CRM-02`)
|
|
171
|
+
- `Feature Name`: Descriptive name (e.g., `Customer List Management`)
|
|
172
|
+
- `Type`: Either `Page+API` or `API-only`
|
|
173
|
+
- `Dependencies`: List of prerequisite Feature IDs (if any)
|
|
174
|
+
|
|
175
|
+
3. **Build Feature Registry**: Consolidate all features across Sub-PRDs into a unified list:
|
|
176
|
+
```
|
|
177
|
+
Feature Registry Example:
|
|
178
|
+
├── F-CRM-01: Customer List Management (Page+API) - from sub-prd-customer.md
|
|
179
|
+
├── F-CRM-02: Customer Detail View (Page+API) - from sub-prd-customer.md, depends on F-CRM-01
|
|
180
|
+
└── F-CRM-03: Customer Search API (API-only) - from sub-prd-customer.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
4. **Backward Compatibility Check**:
|
|
184
|
+
- If **Feature Breakdown exists**: Proceed with Feature-granular dispatch (new behavior)
|
|
185
|
+
- If **Feature Breakdown missing**: Fall back to Sub-PRD-granular dispatch (legacy behavior)
|
|
186
|
+
- Log the dispatch mode: "📋 Dispatch mode: Feature-granular" or "📋 Dispatch mode: Module-granular (legacy)"
|
|
187
|
+
|
|
147
188
|
### Discover Frontend Platforms
|
|
148
189
|
|
|
149
190
|
Read `speccrew-workspace/knowledges/techs/techs-manifest.json` to identify all frontend platforms:
|
|
@@ -164,45 +205,160 @@ When involving related business domains, read `speccrew-workspace/knowledges/biz
|
|
|
164
205
|
|
|
165
206
|
## Phase 3: Design
|
|
166
207
|
|
|
167
|
-
After knowledge loading is complete, design feature specifications based on the
|
|
208
|
+
After knowledge loading is complete, design feature specifications based on the dispatch mode:
|
|
209
|
+
|
|
210
|
+
### 3.1 Dispatch Mode Decision
|
|
211
|
+
|
|
212
|
+
Based on Phase 2 Feature Breakdown extraction:
|
|
213
|
+
|
|
214
|
+
| Condition | Dispatch Mode | Behavior |
|
|
215
|
+
|-----------|---------------|----------|
|
|
216
|
+
| Feature Breakdown found with multiple Features | Feature-granular | Each Feature gets its own worker/skill invocation |
|
|
217
|
+
| Feature Breakdown found with single Feature | Direct skill | Invoke skill directly without worker |
|
|
218
|
+
| No Feature Breakdown (legacy PRD) | Module-granular | Each Sub-PRD gets one worker (backward compatible) |
|
|
219
|
+
|
|
220
|
+
### 3.2 Feature-Granular Dispatch (New Behavior)
|
|
221
|
+
|
|
222
|
+
When Feature Breakdown is present, dispatch by Feature:
|
|
223
|
+
|
|
224
|
+
#### Single Feature (Direct Skill Invocation)
|
|
225
|
+
If the entire iteration has only **one Feature** in the registry:
|
|
226
|
+
|
|
227
|
+
Invoke Skill directly with parameters:
|
|
228
|
+
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
229
|
+
- Parameters:
|
|
230
|
+
- `prd_path`: Path to the PRD document (Master PRD if exists, otherwise the single PRD)
|
|
231
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
232
|
+
- `feature_name`: Feature name (e.g., `Customer List Management`)
|
|
233
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
234
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-feature-spec.md`
|
|
235
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
236
|
+
|
|
237
|
+
#### Multiple Features (Parallel Worker Dispatch)
|
|
238
|
+
If the iteration has **multiple Features** in the registry:
|
|
239
|
+
|
|
240
|
+
Invoke `speccrew-task-worker` agents in parallel, one per Feature:
|
|
241
|
+
- Each worker receives:
|
|
242
|
+
- `skill_path`: `speccrew-fd-feature-design/SKILL.md`
|
|
243
|
+
- `context`:
|
|
244
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
245
|
+
- `feature_name`: Feature name (e.g., `Customer List Management`)
|
|
246
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
247
|
+
- `master_prd_path`: Path to the Master PRD document (if exists)
|
|
248
|
+
- `source_prd_path`: Path to the Sub-PRD containing this Feature
|
|
249
|
+
- `prd_path`: Path to the Sub-PRD containing this Feature (same as source_prd_path, required by speccrew-fd-feature-design skill)
|
|
250
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-feature-spec.md`
|
|
251
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
252
|
+
- **Note**: `prd_path` and `source_prd_path` refer to the same Sub-PRD file. `prd_path` is the primary field required by the Feature Design skill.
|
|
253
|
+
|
|
254
|
+
- **Parallel execution pattern**:
|
|
255
|
+
- Worker 1: Feature F-CRM-01 → Feature Spec for Customer List
|
|
256
|
+
- Worker 2: Feature F-CRM-02 → Feature Spec for Customer Detail
|
|
257
|
+
- Worker N: Feature F-CRM-0N → Feature Spec for Feature N
|
|
258
|
+
|
|
259
|
+
- **Dependency handling**: Features with dependencies should note them, but all workers can execute simultaneously (each Feature Spec references its dependencies)
|
|
260
|
+
|
|
261
|
+
- **Output file naming convention**:
|
|
262
|
+
- Format: `{feature-id}-{feature-name-slug}-feature-spec.md`
|
|
263
|
+
- Example: `F-CRM-01-customer-list-feature-spec.md`
|
|
264
|
+
- Slug: lowercase, hyphens for spaces, no special characters
|
|
265
|
+
|
|
266
|
+
### 3.3 Module-Granular Dispatch (Legacy Behavior)
|
|
168
267
|
|
|
169
|
-
|
|
268
|
+
If **no Feature Breakdown** is found in PRD documents (legacy format), fall back to Sub-PRD granularity:
|
|
269
|
+
|
|
270
|
+
#### Single PRD Document
|
|
170
271
|
Invoke Skill directly with parameters:
|
|
171
272
|
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
172
273
|
- Parameters:
|
|
173
274
|
- `prd_path`: Path to the PRD document
|
|
174
|
-
- `output_path`:
|
|
175
|
-
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
275
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md`
|
|
276
|
+
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
176
277
|
|
|
177
|
-
|
|
278
|
+
#### Multiple PRD Documents (Master + Sub PRDs)
|
|
178
279
|
Invoke `speccrew-task-worker` agents in parallel:
|
|
179
280
|
- Each worker receives:
|
|
180
281
|
- `skill_path`: `speccrew-fd-feature-design/SKILL.md`
|
|
181
282
|
- `context`:
|
|
182
283
|
- `master_prd_path`: Path to the Master PRD document (for overall context)
|
|
183
284
|
- `sub_prd_path`: Path to one Sub PRD document
|
|
184
|
-
- `output_path`:
|
|
285
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md`
|
|
185
286
|
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
186
287
|
- Parallel execution pattern:
|
|
187
288
|
- Worker 1: Master PRD + Sub PRD 1 → Sub Feature Spec 1
|
|
188
289
|
- Worker 2: Master PRD + Sub PRD 2 → Sub Feature Spec 2
|
|
189
290
|
- Worker N: Master PRD + Sub PRD N → Sub Feature Spec N
|
|
190
|
-
|
|
191
|
-
|
|
291
|
+
|
|
292
|
+
### 3.4 Initialize Dispatch Progress Tracking
|
|
293
|
+
|
|
294
|
+
Before dispatching workers, initialize `DISPATCH-PROGRESS.json`:
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
node speccrew-workspace/scripts/update-progress.js init-dispatch \
|
|
298
|
+
--file speccrew-workspace/iterations/{iteration}/02.feature-design/DISPATCH-PROGRESS.json \
|
|
299
|
+
--tasks "F-CRM-01,F-CRM-02,F-CRM-03"
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Each task entry records:
|
|
303
|
+
- `feature_id`: Feature identifier
|
|
304
|
+
- `feature_name`: Feature name
|
|
305
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
306
|
+
- `source_prd`: Path to the source PRD document
|
|
307
|
+
- `status`: `pending` | `in_progress` | `completed` | `failed`
|
|
308
|
+
- `output_path`: Path to the generated Feature Spec
|
|
192
309
|
|
|
193
310
|
## Phase 4: API Contract Generation
|
|
194
311
|
|
|
195
312
|
After Feature Spec documents are confirmed by user, generate API Contract documents.
|
|
196
313
|
|
|
197
|
-
### 4.1
|
|
314
|
+
### 4.1 Dispatch Mode Decision
|
|
198
315
|
|
|
316
|
+
Follow the same dispatch mode as Phase 3:
|
|
317
|
+
|
|
318
|
+
| Dispatch Mode | API Contract Strategy |
|
|
319
|
+
|---------------|----------------------|
|
|
320
|
+
| Feature-granular | Each Feature Spec generates one API Contract |
|
|
321
|
+
| Module-granular (legacy) | Each Feature Spec (by module) generates one API Contract |
|
|
322
|
+
|
|
323
|
+
### 4.2 Feature-Granular API Contract (New Behavior)
|
|
324
|
+
|
|
325
|
+
#### Single Feature Spec
|
|
199
326
|
Invoke API Contract skill directly:
|
|
200
327
|
- Skill path: `speccrew-fd-api-contract/SKILL.md`
|
|
201
|
-
-
|
|
202
|
-
-
|
|
328
|
+
- Parameters:
|
|
329
|
+
- `feature_spec_path`: Path to the Feature Spec document
|
|
330
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
331
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
332
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-api-contract.md`
|
|
333
|
+
|
|
334
|
+
**Note**: Both `Page+API` and `API-only` Features require API Contract documents.
|
|
335
|
+
|
|
336
|
+
#### Multiple Feature Specs (Parallel Worker Dispatch)
|
|
337
|
+
Invoke `speccrew-task-worker` agents in parallel:
|
|
338
|
+
- Each worker receives:
|
|
339
|
+
- `skill_path`: `speccrew-fd-api-contract/SKILL.md`
|
|
340
|
+
- `context`:
|
|
341
|
+
- `feature_spec_path`: Path to one Feature Spec document
|
|
342
|
+
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
343
|
+
- `feature_type`: `Page+API` or `API-only`
|
|
344
|
+
- `output_path`: `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature_id}-{feature-name-slug}-api-contract.md`
|
|
203
345
|
|
|
204
|
-
|
|
346
|
+
- **Parallel execution**: One worker per Feature Spec document
|
|
347
|
+
- **Output file naming**:
|
|
348
|
+
- Format: `{feature-id}-{feature-name-slug}-api-contract.md`
|
|
349
|
+
- Example: `F-CRM-01-customer-list-api-contract.md`
|
|
205
350
|
|
|
351
|
+
### 4.3 Module-Granular API Contract (Legacy Behavior)
|
|
352
|
+
|
|
353
|
+
If dispatch was done at module granularity (legacy PRD without Feature Breakdown):
|
|
354
|
+
|
|
355
|
+
#### Single Feature Spec
|
|
356
|
+
Invoke API Contract skill directly:
|
|
357
|
+
- Skill path: `speccrew-fd-api-contract/SKILL.md`
|
|
358
|
+
- Input: The Feature Spec document generated in Phase 3
|
|
359
|
+
- Output path: `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-api-contract.md`
|
|
360
|
+
|
|
361
|
+
#### Multiple Feature Specs (Master + Sub)
|
|
206
362
|
Invoke `speccrew-task-worker` agents in parallel:
|
|
207
363
|
- Each worker receives:
|
|
208
364
|
- `skill_path`: `speccrew-fd-api-contract/SKILL.md`
|
|
@@ -211,21 +367,24 @@ Invoke `speccrew-task-worker` agents in parallel:
|
|
|
211
367
|
- `output_path`: Path for the API Contract document
|
|
212
368
|
- Parallel execution: one worker per Feature Spec document
|
|
213
369
|
|
|
214
|
-
### 4.
|
|
370
|
+
### 4.4 Joint Confirmation
|
|
215
371
|
|
|
216
372
|
After both Feature Spec and API Contract documents are ready, present summary to user:
|
|
217
|
-
- List all Feature Spec documents with paths
|
|
373
|
+
- List all Feature Spec documents with paths (grouped by Feature or Module)
|
|
218
374
|
- List all API Contract documents with paths
|
|
219
375
|
- Request user confirmation before proceeding to system design phase
|
|
220
376
|
- After confirmation, API Contract becomes the read-only baseline for downstream stages
|
|
221
377
|
|
|
222
|
-
### 4.
|
|
378
|
+
### 4.5 Finalize Stage (Update Workflow Progress)
|
|
223
379
|
|
|
224
380
|
After user confirms Joint Confirmation:
|
|
225
381
|
|
|
226
382
|
1. **Update `WORKFLOW-PROGRESS.json`**:
|
|
227
383
|
```bash
|
|
228
|
-
node speccrew-workspace/scripts/update-progress.js update-workflow
|
|
384
|
+
node speccrew-workspace/scripts/update-progress.js update-workflow \
|
|
385
|
+
--file speccrew-workspace/iterations/{iteration}/WORKFLOW-PROGRESS.json \
|
|
386
|
+
--stage 02_feature_design --status confirmed \
|
|
387
|
+
--output "02.feature-design/F-CRM-01-customer-list-feature-spec.md,02.feature-design/F-CRM-01-customer-list-api-contract.md,..."
|
|
229
388
|
```
|
|
230
389
|
|
|
231
390
|
2. **Confirm Transition**:
|
|
@@ -236,8 +395,42 @@ After user confirms Joint Confirmation:
|
|
|
236
395
|
|
|
237
396
|
| Deliverable | Path | Notes |
|
|
238
397
|
|-------------|------|-------|
|
|
239
|
-
| Feature Detail Design Document | `speccrew-workspace/iterations/{
|
|
240
|
-
|
|
|
398
|
+
| Feature Detail Design Document | `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature-id}-{feature-name}-feature-spec.md` | New naming convention (Feature-granular) |
|
|
399
|
+
| Feature Detail Design Document (Legacy) | `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-feature-spec.md` | Legacy naming convention (Module-granular, for backward compatibility) |
|
|
400
|
+
| API Contract Document | `speccrew-workspace/iterations/{iteration}/02.feature-design/{feature-id}-{feature-name}-api-contract.md` | New naming convention (Feature-granular) |
|
|
401
|
+
| API Contract Document (Legacy) | `speccrew-workspace/iterations/{iteration}/02.feature-design/{module-name}-api-contract.md` | Legacy naming convention (Module-granular, for backward compatibility) |
|
|
402
|
+
|
|
403
|
+
## Naming Convention
|
|
404
|
+
|
|
405
|
+
### Feature-Granular Naming (New)
|
|
406
|
+
|
|
407
|
+
When Feature Breakdown is present in PRD:
|
|
408
|
+
|
|
409
|
+
**Format**: `{feature-id}-{feature-name-slug}-{document-type}.md`
|
|
410
|
+
|
|
411
|
+
- `feature-id`: From Feature Breakdown table (e.g., `F-CRM-01`)
|
|
412
|
+
- `feature-name-slug`: Feature name converted to lowercase with hyphens
|
|
413
|
+
- Example: `Customer List Management` → `customer-list-management` → shortened to `customer-list`
|
|
414
|
+
- `document-type`: Either `feature-spec` or `api-contract`
|
|
415
|
+
|
|
416
|
+
**Examples**:
|
|
417
|
+
- `F-CRM-01-customer-list-feature-spec.md`
|
|
418
|
+
- `F-CRM-01-customer-list-api-contract.md`
|
|
419
|
+
- `F-CRM-02-customer-detail-feature-spec.md`
|
|
420
|
+
- `F-ORD-01-order-create-feature-spec.md`
|
|
421
|
+
|
|
422
|
+
### Module-Granular Naming (Legacy)
|
|
423
|
+
|
|
424
|
+
When Feature Breakdown is NOT present in PRD:
|
|
425
|
+
|
|
426
|
+
**Format**: `{module-name}-{document-type}.md`
|
|
427
|
+
|
|
428
|
+
- `module-name`: Derived from Sub-PRD filename or module identifier
|
|
429
|
+
- `document-type`: Either `feature-spec` or `api-contract`
|
|
430
|
+
|
|
431
|
+
**Examples**:
|
|
432
|
+
- `customer-feature-spec.md`
|
|
433
|
+
- `order-feature-spec.md`
|
|
241
434
|
|
|
242
435
|
# Deliverable Content Structure
|
|
243
436
|
|
|
@@ -92,8 +92,89 @@ If WORKFLOW-PROGRESS.json does not exist (legacy iterations or new workspace):
|
|
|
92
92
|
|
|
93
93
|
# Workflow
|
|
94
94
|
|
|
95
|
+
## Phase 0.5: IDE Detection
|
|
96
|
+
|
|
97
|
+
Detect current IDE environment and determine skill loading strategy:
|
|
98
|
+
|
|
99
|
+
1. **Detect IDE**: Check environment variables or context to identify current IDE (Claude Code, Cursor, Qoder, etc.)
|
|
100
|
+
2. **Set skill_path**: Based on IDE detection result, set the appropriate skill search path
|
|
101
|
+
3. **Proceed to Requirement Assessment**
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Phase 1: Pre-Skill Requirement Assessment
|
|
106
|
+
|
|
107
|
+
Before invoking the requirement analysis skill, assess the user input for completeness.
|
|
108
|
+
|
|
109
|
+
### Sufficiency Check
|
|
110
|
+
|
|
111
|
+
Evaluate user input against these criteria:
|
|
112
|
+
|
|
113
|
+
| Criterion | Description | Assessment |
|
|
114
|
+
|-----------|-------------|------------|
|
|
115
|
+
| Business Problem Clarity | Is the core business problem clearly understood? | ✅/❌ |
|
|
116
|
+
| Target Users & Scenarios | Are target users and core use cases identified? | ✅/❌ |
|
|
117
|
+
| Scope Boundaries | Are inclusion/exclusion boundaries defined? | ✅/❌ |
|
|
118
|
+
| System Relationship | Is the relationship with existing system understood? | ✅/❌ |
|
|
119
|
+
|
|
120
|
+
### Clarification Protocol
|
|
121
|
+
|
|
122
|
+
**IF ANY criterion NOT met**:
|
|
123
|
+
- Execute progressive clarification (2-3 questions per round, minimum 2 rounds)
|
|
124
|
+
- Questions should be specific and actionable
|
|
125
|
+
- Document all clarification Q&A in progress tracking
|
|
126
|
+
- Re-evaluate after each round
|
|
127
|
+
|
|
128
|
+
**IF ALL criteria met** (user provided complete requirement document):
|
|
129
|
+
- **STILL execute at least 1 confirmation round**:
|
|
130
|
+
1. Confirm understanding is correct
|
|
131
|
+
2. Confirm scope boundaries (what's in/out)
|
|
132
|
+
3. Confirm priorities and constraints
|
|
133
|
+
- This ensures alignment even with comprehensive input
|
|
134
|
+
|
|
135
|
+
### Complexity Pre-Assessment
|
|
136
|
+
|
|
137
|
+
Before invoking skill, perform rough complexity assessment:
|
|
138
|
+
|
|
139
|
+
- **Simple**: Single module, clear scope, minimal system integration
|
|
140
|
+
- **Moderate**: 1-2 modules, some integration required
|
|
141
|
+
- **Complex**: 2+ modules, significant integration, multi-stakeholder
|
|
142
|
+
|
|
143
|
+
If requirement clearly involves **2+ modules**:
|
|
144
|
+
- Flag this as `expected_complexity: complex`
|
|
145
|
+
- Inform Skill that this is a complex requirement requiring thorough analysis
|
|
146
|
+
|
|
147
|
+
### Pre-Skill Output
|
|
148
|
+
|
|
149
|
+
After completing assessment, prepare the following to pass to Skill:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
clarification_status: true|false
|
|
153
|
+
clarification_rounds: <number>
|
|
154
|
+
clarification_summary: <brief summary of key clarifications>
|
|
155
|
+
expected_complexity: simple|moderate|complex
|
|
156
|
+
complexity_notes: <if complex, note affected modules>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
⚠️ **MANDATORY CLARIFICATION RULE**:
|
|
162
|
+
- **NEVER skip requirement clarification entirely**
|
|
163
|
+
- **Even with complete requirement documents, perform at least 1 confirmation round**
|
|
164
|
+
- **Document all clarification in progress tracking**
|
|
165
|
+
- **If user rushes to skip, explain risks and still confirm critical points**
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Phase 2: Invoke Skill
|
|
170
|
+
|
|
95
171
|
Invoke Skill: Find `speccrew-pm-requirement-analysis/SKILL.md` in the skills directory
|
|
96
172
|
|
|
173
|
+
Pass the following context to the Skill:
|
|
174
|
+
- User's original requirement input
|
|
175
|
+
- Pre-skill assessment results (clarification_status, expected_complexity, etc.)
|
|
176
|
+
- Clarification Q&A records (if any)
|
|
177
|
+
|
|
97
178
|
# Deliverables
|
|
98
179
|
|
|
99
180
|
| Deliverable | Path | Notes |
|
|
@@ -103,13 +184,22 @@ Invoke Skill: Find `speccrew-pm-requirement-analysis/SKILL.md` in the skills dir
|
|
|
103
184
|
|
|
104
185
|
# Constraints
|
|
105
186
|
|
|
187
|
+
⚠️ **MANDATORY CLARIFICATION RULE**:
|
|
188
|
+
- **NEVER skip requirement clarification entirely**
|
|
189
|
+
- **Even with complete requirement documents, perform at least 1 confirmation round**
|
|
190
|
+
- **Document all clarification in progress tracking**
|
|
191
|
+
- **If user rushes to skip, explain risks and still confirm critical points**
|
|
192
|
+
|
|
106
193
|
**Must do:**
|
|
107
194
|
- Read business module list to confirm boundaries between requirements and existing features
|
|
108
195
|
- Use templates from `speccrew-pm-requirement-analysis/templates/`
|
|
109
196
|
- Explicitly prompt user for confirmation after PRD completion, only transition to speccrew-planner after confirmation
|
|
197
|
+
- Execute Pre-Skill Requirement Assessment before invoking the Skill
|
|
198
|
+
- Pass clarification context and complexity assessment to the Skill
|
|
110
199
|
|
|
111
200
|
**Must not do:**
|
|
112
201
|
- Do not make technical solution decisions (that's speccrew-planner's responsibility)
|
|
113
202
|
- Do not skip manual confirmation to directly start the next stage
|
|
114
203
|
- Do not assume business rules on your own; clarify unclear requirements with the user
|
|
204
|
+
- Do not skip the clarification process, even when user provides detailed documents
|
|
115
205
|
|