speccrew 0.3.7 → 0.3.8
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-product-manager.md +149 -31
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +127 -9
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +19 -41
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +11 -11
- package/.speccrew/skills/speccrew-pm-requirement-simple/SKILL.md +176 -0
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: speccrew-product-manager
|
|
3
|
-
description: SpecCrew Product Manager.
|
|
3
|
+
description: SpecCrew Product Manager. Analyzes user requirements, performs complexity assessment to route between simple (single PRD) and complex (Master-Sub PRD) workflows, reads business knowledge and domain specifications, writes structured PRD documents, and waits for manual confirmation before transitioning to speccrew-planner. Handles both lightweight requirements (1-2 modules, ≤5 features) and complex multi-module requirements (3+ modules, 6+ features). Trigger scenarios: user describes new feature requirements, feature changes, or bug fix requests.
|
|
4
4
|
tools: Read, Write, Glob, Grep
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -69,20 +69,35 @@ Before starting work, check the workflow progress state:
|
|
|
69
69
|
}
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
## Phase 0.2: Check Resume State
|
|
72
|
+
## Phase 0.2: Check Resume State (Checkpoint Recovery)
|
|
73
73
|
|
|
74
|
-
If `01_prd.status` is `
|
|
74
|
+
If `01_prd.status` is `in_progress` or resuming from an interrupted session:
|
|
75
75
|
|
|
76
|
-
1. **Read
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
1. **Read checkpoints** (if file exists):
|
|
77
|
+
```bash
|
|
78
|
+
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration}/01.product-requirement/.checkpoints.json --checkpoints
|
|
79
|
+
```
|
|
80
|
+
- If the file does not exist → Start from Phase 1 (no previous progress)
|
|
81
|
+
|
|
82
|
+
2. **Evaluate Checkpoint Status**:
|
|
83
|
+
|
|
84
|
+
| Checkpoint | If Passed | Resume Point |
|
|
85
|
+
|------------|-----------|--------------|
|
|
86
|
+
| `requirement_clarification.passed == true` | Skip clarification | Start from Step 4 (Template Selection) |
|
|
87
|
+
| `sub_prd_dispatch.passed == true` | Skip Sub-PRD generation | Start from Phase 4 (Verification) |
|
|
88
|
+
| `prd_review.passed == true` | All complete | Ask user: "PRD stage already confirmed. Redo?" |
|
|
89
|
+
|
|
90
|
+
3. **Check Sub-PRD Dispatch Resume** (if applicable):
|
|
91
|
+
```bash
|
|
92
|
+
node speccrew-workspace/scripts/update-progress.js read --file speccrew-workspace/iterations/{iteration}/01.product-requirement/DISPATCH-PROGRESS.json --summary
|
|
93
|
+
```
|
|
94
|
+
- Skip tasks with `status == "completed"`
|
|
95
|
+
- Re-execute tasks with `status == "failed"`
|
|
96
|
+
- Execute tasks with `status == "pending"`
|
|
84
97
|
|
|
85
|
-
|
|
98
|
+
4. **Display Resume Summary** and ask user to confirm.
|
|
99
|
+
|
|
100
|
+
### 0.3 Backward Compatibility
|
|
86
101
|
|
|
87
102
|
If WORKFLOW-PROGRESS.json does not exist (legacy iterations or new workspace):
|
|
88
103
|
- Execute the original workflow without progress tracking
|
|
@@ -98,11 +113,62 @@ Detect current IDE environment and determine skill loading strategy:
|
|
|
98
113
|
|
|
99
114
|
1. **Detect IDE**: Check environment variables or context to identify current IDE (Claude Code, Cursor, Qoder, etc.)
|
|
100
115
|
2. **Set skill_path**: Based on IDE detection result, set the appropriate skill search path
|
|
101
|
-
3. **Proceed to
|
|
116
|
+
3. **Proceed to Complexity Assessment**
|
|
102
117
|
|
|
103
118
|
---
|
|
104
119
|
|
|
105
|
-
## Phase 1:
|
|
120
|
+
## Phase 1: Complexity Assessment & Skill Routing
|
|
121
|
+
|
|
122
|
+
Before starting requirement analysis, assess the requirement complexity to determine the appropriate skill path.
|
|
123
|
+
|
|
124
|
+
### 1.1 Complexity Indicators
|
|
125
|
+
|
|
126
|
+
Evaluate the user's requirement against these indicators:
|
|
127
|
+
|
|
128
|
+
| Indicator | Simple | Complex |
|
|
129
|
+
|-----------|--------|---------|
|
|
130
|
+
| Modules affected | 1-2 modules | 3+ modules |
|
|
131
|
+
| Estimated features | 1-5 features | 6+ features |
|
|
132
|
+
| System scope | Change to existing system | New system or major subsystem |
|
|
133
|
+
| PRD structure needed | Single PRD | Master + Sub-PRDs |
|
|
134
|
+
| Cross-module dependencies | None or minimal | Significant |
|
|
135
|
+
|
|
136
|
+
### 1.2 Complexity Decision
|
|
137
|
+
|
|
138
|
+
Based on the indicators above:
|
|
139
|
+
|
|
140
|
+
**→ Simple Requirement** (ANY of these):
|
|
141
|
+
- Adding/modifying fields on an existing page
|
|
142
|
+
- Minor feature enhancement within 1-2 modules
|
|
143
|
+
- Business logic adjustment
|
|
144
|
+
- Bug fix documentation
|
|
145
|
+
- Scope: ≤ 5 features, ≤ 2 modules
|
|
146
|
+
|
|
147
|
+
**→ Complex Requirement** (ANY of these):
|
|
148
|
+
- New system or major subsystem development
|
|
149
|
+
- Involves 3+ modules
|
|
150
|
+
- Requires 6+ features
|
|
151
|
+
- Needs cross-module dependency management
|
|
152
|
+
- User explicitly requests comprehensive analysis
|
|
153
|
+
|
|
154
|
+
### 1.3 Skill Routing
|
|
155
|
+
|
|
156
|
+
| Complexity | Skill | Key Differences |
|
|
157
|
+
|-----------|-------|-----------------|
|
|
158
|
+
| Simple | `speccrew-pm-requirement-simple/SKILL.md` | Single PRD, no Master-Sub, no worker dispatch, streamlined 6-step flow |
|
|
159
|
+
| Complex | `speccrew-pm-requirement-analysis/SKILL.md` | Master-Sub PRD, worker dispatch for Sub-PRDs, full ISA-95 methodology, 13-step flow |
|
|
160
|
+
|
|
161
|
+
**Routing behavior:**
|
|
162
|
+
1. Assess complexity based on user's initial requirement description
|
|
163
|
+
2. If uncertain, ask user ONE question: "This requirement seems to involve [X modules / Y features]. Should I use the streamlined process (single PRD) or the comprehensive process (Master + Sub-PRDs)?"
|
|
164
|
+
3. Invoke the selected skill
|
|
165
|
+
4. If during simple skill execution, complexity escalates → the simple skill will auto-redirect to the complex skill
|
|
166
|
+
|
|
167
|
+
> ⚠️ **Default to Simple when in doubt**. It's easier to escalate from simple to complex than to simplify an over-engineered analysis.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Phase 2: Pre-Skill Requirement Assessment
|
|
106
172
|
|
|
107
173
|
Before invoking the requirement analysis skill, assess the user input for completeness.
|
|
108
174
|
|
|
@@ -166,25 +232,32 @@ complexity_notes: <if complex, note affected modules>
|
|
|
166
232
|
|
|
167
233
|
---
|
|
168
234
|
|
|
169
|
-
## Phase
|
|
235
|
+
## Phase 3: Invoke Skill
|
|
236
|
+
|
|
237
|
+
Based on the complexity assessment in Phase 1, invoke the appropriate skill:
|
|
170
238
|
|
|
171
|
-
|
|
239
|
+
**For Simple Requirements:**
|
|
240
|
+
- Find `speccrew-pm-requirement-simple/SKILL.md` in the skills directory
|
|
241
|
+
|
|
242
|
+
**For Complex Requirements:**
|
|
243
|
+
- Find `speccrew-pm-requirement-analysis/SKILL.md` in the skills directory
|
|
172
244
|
|
|
173
245
|
Pass the following context to the Skill:
|
|
174
246
|
- User's original requirement input
|
|
175
247
|
- Pre-skill assessment results (clarification_status, expected_complexity, etc.)
|
|
176
248
|
- Clarification Q&A records (if any)
|
|
249
|
+
- Complexity routing decision (simple|complex)
|
|
177
250
|
|
|
178
251
|
---
|
|
179
252
|
|
|
180
|
-
## Phase
|
|
253
|
+
## Phase 4: Sub-PRD Worker Dispatch (Master-Sub Structure Only)
|
|
181
254
|
|
|
182
255
|
**IF the Skill output includes a Sub-PRD Dispatch Plan (from Step 12c), execute this phase.**
|
|
183
|
-
**IF Single PRD structure, skip to Phase
|
|
256
|
+
**IF Single PRD structure, skip to Phase 5.**
|
|
184
257
|
|
|
185
258
|
After the Skill generates the Master PRD and outputs the dispatch plan, the PM Agent takes over to generate Sub-PRDs in parallel using worker agents.
|
|
186
259
|
|
|
187
|
-
###
|
|
260
|
+
### 4.1 Read Dispatch Plan
|
|
188
261
|
|
|
189
262
|
From the Skill's Step 12c output, collect:
|
|
190
263
|
- `feature_name`: System-level feature name
|
|
@@ -196,7 +269,31 @@ From the Skill's Step 12c output, collect:
|
|
|
196
269
|
- `module_user_stories`, `module_requirements`, `module_features`
|
|
197
270
|
- `module_dependencies`
|
|
198
271
|
|
|
199
|
-
###
|
|
272
|
+
### 4.2 Initialize Dispatch Progress Tracking
|
|
273
|
+
|
|
274
|
+
Before dispatching workers, initialize `DISPATCH-PROGRESS.json`:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
node speccrew-workspace/scripts/update-progress.js init-dispatch \
|
|
278
|
+
--file speccrew-workspace/iterations/{iteration}/01.product-requirement/DISPATCH-PROGRESS.json \
|
|
279
|
+
--tasks "module-1,module-2,module-3,..."
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
After each worker completes, update its status:
|
|
283
|
+
```bash
|
|
284
|
+
node speccrew-workspace/scripts/update-progress.js update-task \
|
|
285
|
+
--file speccrew-workspace/iterations/{iteration}/01.product-requirement/DISPATCH-PROGRESS.json \
|
|
286
|
+
--task {module_key} --status completed
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
If a worker fails:
|
|
290
|
+
```bash
|
|
291
|
+
node speccrew-workspace/scripts/update-progress.js update-task \
|
|
292
|
+
--file speccrew-workspace/iterations/{iteration}/01.product-requirement/DISPATCH-PROGRESS.json \
|
|
293
|
+
--task {module_key} --status failed --error "{error_message}"
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### 4.3 Dispatch Workers
|
|
200
297
|
|
|
201
298
|
Invoke `speccrew-task-worker` agents in parallel, one per module:
|
|
202
299
|
|
|
@@ -227,7 +324,7 @@ Worker N: Module "{module-N}" → crm-system-sub-{module-N}.md
|
|
|
227
324
|
|
|
228
325
|
**All workers execute simultaneously.** Wait for all workers to complete before proceeding.
|
|
229
326
|
|
|
230
|
-
###
|
|
327
|
+
### 4.4 Collect Results
|
|
231
328
|
|
|
232
329
|
After all workers complete:
|
|
233
330
|
|
|
@@ -247,21 +344,37 @@ After all workers complete:
|
|
|
247
344
|
- Re-dispatch failed modules (retry once)
|
|
248
345
|
- If retry fails, report to user for manual intervention
|
|
249
346
|
|
|
347
|
+
After all workers complete, report dispatch summary:
|
|
348
|
+
```
|
|
349
|
+
📊 Sub-PRD Generation Complete:
|
|
350
|
+
├── Total: 11 modules
|
|
351
|
+
├── ✅ Completed: 10
|
|
352
|
+
├── ❌ Failed: 1 (member — error description)
|
|
353
|
+
└── Retry failed modules? (yes/skip)
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Update `.checkpoints.json` → `sub_prd_dispatch.passed = true` (only if all succeeded or user skips failures).
|
|
357
|
+
|
|
250
358
|
---
|
|
251
359
|
|
|
252
|
-
## Phase
|
|
360
|
+
## Phase 5: Verification & Confirmation
|
|
253
361
|
|
|
254
|
-
###
|
|
362
|
+
### 5.1 Execute Verification Checklist
|
|
255
363
|
|
|
256
364
|
Return to the Skill's Step 12d for verification:
|
|
257
|
-
- Verify Master PRD exists and size > 2KB
|
|
258
|
-
- Verify all Sub-PRD files exist and each size > 3KB
|
|
259
|
-
- Verify Master PRD Sub-PRD Index matches actual files
|
|
260
|
-
- Verify each Sub-PRD contains Feature Breakdown (Section 3.4)
|
|
365
|
+
- Verify Master PRD exists and size > 2KB (for complex requirements)
|
|
366
|
+
- Verify all Sub-PRD files exist and each size > 3KB (for complex requirements)
|
|
367
|
+
- Verify Master PRD Sub-PRD Index matches actual files (for complex requirements)
|
|
368
|
+
- Verify each Sub-PRD contains Feature Breakdown (Section 3.4) (for complex requirements)
|
|
369
|
+
- Verify Single PRD exists and size > 2KB (for simple requirements)
|
|
261
370
|
|
|
262
|
-
|
|
371
|
+
After verification passes, update `.checkpoints.json`:
|
|
372
|
+
- Set `verification_checklist.passed = true`
|
|
373
|
+
- Record each check result in the checklist
|
|
263
374
|
|
|
264
|
-
|
|
375
|
+
### 5.2 Present Documents for User Review
|
|
376
|
+
|
|
377
|
+
Execute Skill's Step 12e (for complex) or the simple skill's final step to present document summary and ask user to review.
|
|
265
378
|
|
|
266
379
|
⚠️ **HARD STOP — WAIT FOR USER CONFIRMATION**
|
|
267
380
|
- DO NOT update any status files yet
|
|
@@ -270,10 +383,14 @@ Execute Skill's Step 12e to present document summary and ask user to review.
|
|
|
270
383
|
- Wait for user to explicitly confirm (e.g., "确认", "OK", "没问题")
|
|
271
384
|
- IF user requests changes → make the changes, then re-present for review
|
|
272
385
|
|
|
273
|
-
###
|
|
386
|
+
### 5.3 Finalize PRD Stage (ONLY after user explicitly confirms)
|
|
274
387
|
|
|
275
388
|
After user confirms the PRD documents are correct:
|
|
276
389
|
|
|
390
|
+
After user confirms (HARD STOP passed), update `.checkpoints.json`:
|
|
391
|
+
- Set `prd_review.passed = true`
|
|
392
|
+
- Set `prd_review.confirmed_at` via: `node -e "console.log(new Date().toISOString())"`
|
|
393
|
+
|
|
277
394
|
1. Execute Skill's Step 13 to finalize:
|
|
278
395
|
- Use `update-progress.js` script to update WORKFLOW-PROGRESS.json with **real timestamps** (NOT LLM-generated)
|
|
279
396
|
- Write checkpoint file with **real timestamps** (use `node -e "console.log(new Date().toISOString())"` if script unavailable)
|
|
@@ -307,7 +424,8 @@ After user confirms the PRD documents are correct:
|
|
|
307
424
|
- Explicitly prompt user for review and confirmation after PRD completion
|
|
308
425
|
- Execute Pre-Skill Requirement Assessment before invoking the Skill
|
|
309
426
|
- Pass clarification context and complexity assessment to the Skill
|
|
310
|
-
-
|
|
427
|
+
- Perform Complexity Assessment & Skill Routing at Phase 1 to determine simple vs complex workflow
|
|
428
|
+
- For complex requirements (3+ modules), dispatch Sub-PRD generation to parallel workers using `speccrew-pm-sub-prd-generate/SKILL.md`
|
|
311
429
|
|
|
312
430
|
**Must not do:**
|
|
313
431
|
- Do not make technical solution decisions (that's speccrew-planner's responsibility)
|
|
@@ -8,7 +8,7 @@ tools: Read, Write, Glob, Grep
|
|
|
8
8
|
|
|
9
9
|
- PM Agent receives user requirement description
|
|
10
10
|
- User requests "Write a PRD" or "Help organize requirements" or "New feature requirements"
|
|
11
|
-
- User needs structured requirement document with
|
|
11
|
+
- User needs structured requirement document with business-level diagrams (use case diagrams, business process flows, activity diagrams)
|
|
12
12
|
|
|
13
13
|
## Methodology Foundation
|
|
14
14
|
|
|
@@ -34,6 +34,18 @@ This skill applies the ISA-95 six-stage methodology (Stages 1-3) as an internal
|
|
|
34
34
|
|
|
35
35
|
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before filling sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
36
36
|
|
|
37
|
+
## PM Stage Content Boundary
|
|
38
|
+
|
|
39
|
+
> **PM Stage Content Boundary — DO NOT include:**
|
|
40
|
+
> - API endpoint definitions, HTTP methods, request/response JSON
|
|
41
|
+
> - Design class diagrams, component diagrams, deployment diagrams
|
|
42
|
+
> - Database table structures, ER diagrams
|
|
43
|
+
> - Code snippets, pseudocode
|
|
44
|
+
> - Technical terminology in Domain Glossary (e.g., UUID, JSON, REST)
|
|
45
|
+
> - Technical metrics (e.g., "code files", "CPU usage")
|
|
46
|
+
>
|
|
47
|
+
> These belong to Feature Designer (interaction design, data modeling) or System Designer (technical architecture).
|
|
48
|
+
|
|
37
49
|
## Step 1: Requirements Clarification (MANDATORY)
|
|
38
50
|
|
|
39
51
|
⚠️ **MANDATORY: This step CANNOT be skipped.**
|
|
@@ -143,6 +155,49 @@ IF both conditions met → Proceed to Step 2
|
|
|
143
155
|
IF any condition fails → STOP and complete the missing items
|
|
144
156
|
```
|
|
145
157
|
|
|
158
|
+
After clarification is confirmed sufficient, write initial `.checkpoints.json`:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Create or update checkpoint file
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Write the following structure to `speccrew-workspace/iterations/{iteration}/01.product-requirement/.checkpoints.json`:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"stage": "01_prd",
|
|
169
|
+
"checkpoints": {
|
|
170
|
+
"requirement_clarification": {
|
|
171
|
+
"passed": true,
|
|
172
|
+
"confirmed_at": "{REAL_TIMESTAMP via node -e}",
|
|
173
|
+
"description": "Requirement clarification completed",
|
|
174
|
+
"clarification_file": ".clarification-summary.md",
|
|
175
|
+
"sufficiency_checks": {
|
|
176
|
+
"business_problem": true,
|
|
177
|
+
"target_users": true,
|
|
178
|
+
"scope_boundaries": true,
|
|
179
|
+
"existing_system": true
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"sub_prd_dispatch": {
|
|
183
|
+
"passed": false,
|
|
184
|
+
"confirmed_at": null,
|
|
185
|
+
"description": "Sub-PRD generation via worker dispatch"
|
|
186
|
+
},
|
|
187
|
+
"verification_checklist": {
|
|
188
|
+
"passed": false,
|
|
189
|
+
"confirmed_at": null,
|
|
190
|
+
"description": "PRD structure and content verification"
|
|
191
|
+
},
|
|
192
|
+
"prd_review": {
|
|
193
|
+
"passed": false,
|
|
194
|
+
"confirmed_at": null,
|
|
195
|
+
"description": "User review and confirmation of all PRD documents"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
146
201
|
**Principles:**
|
|
147
202
|
- Ask 2-3 questions per round, not 5+ at once
|
|
148
203
|
- Adapt questions based on previous answers (skip what's already clear)
|
|
@@ -403,10 +458,10 @@ For both simple and complex requirements, extract Feature Breakdown to guide dow
|
|
|
403
458
|
2. **Identify business operation units** - each unit should represent:
|
|
404
459
|
- A complete business operation (e.g., "Customer List Management" includes search, filter, pagination, tag management)
|
|
405
460
|
- Can span 1-2 pages but remains business-cohesive
|
|
406
|
-
- Estimated implementation:
|
|
461
|
+
- Estimated implementation: can be completed by 1-2 developers in 1 sprint
|
|
407
462
|
3. **Classify Feature Type:**
|
|
408
|
-
- `
|
|
409
|
-
- `
|
|
463
|
+
- `User Interaction`: Features involving user interface and business logic
|
|
464
|
+
- `Backend Process`: Background processing or business logic without direct user interaction
|
|
410
465
|
4. **Assign Feature IDs**: Use format `F-{MODULE}-{NN}` (e.g., F-CRM-01, F-CRM-02)
|
|
411
466
|
5. **Document dependencies**: Identify data or workflow dependencies between features
|
|
412
467
|
|
|
@@ -416,7 +471,7 @@ For both simple and complex requirements, extract Feature Breakdown to guide dow
|
|
|
416
471
|
| Single CRUD operation group | Complete module with 5+ CRUDs |
|
|
417
472
|
| One list page with filters | Entire reporting subsystem |
|
|
418
473
|
| One form with validation | Multi-step wizard with 10+ steps |
|
|
419
|
-
| Single
|
|
474
|
+
| Single business process | All processes for a domain |
|
|
420
475
|
|
|
421
476
|
**Output:** Complete the Feature Breakdown table in Section 3.4 of the PRD template.
|
|
422
477
|
|
|
@@ -436,7 +491,7 @@ When the requirement involves modifying existing system functions, clearly mark
|
|
|
436
491
|
- User stories (prefix the story)
|
|
437
492
|
- Functional requirements (prefix each requirement)
|
|
438
493
|
- UI mockups descriptions
|
|
439
|
-
-
|
|
494
|
+
- System capability changes
|
|
440
495
|
|
|
441
496
|
**Example:**
|
|
442
497
|
```markdown
|
|
@@ -623,6 +678,29 @@ After outputting the dispatch plan:
|
|
|
623
678
|
|
|
624
679
|
IF any check fails → Report error and fix before proceeding.
|
|
625
680
|
|
|
681
|
+
After all Sub-PRDs are verified, update `.checkpoints.json`:
|
|
682
|
+
- Set `sub_prd_dispatch.passed = true`
|
|
683
|
+
- Set `sub_prd_dispatch.confirmed_at` via real timestamp
|
|
684
|
+
- Add sub_prd summary:
|
|
685
|
+
|
|
686
|
+
```json
|
|
687
|
+
"sub_prd_dispatch": {
|
|
688
|
+
"passed": true,
|
|
689
|
+
"confirmed_at": "{REAL_TIMESTAMP}",
|
|
690
|
+
"total_modules": 11,
|
|
691
|
+
"sub_prds": [
|
|
692
|
+
{
|
|
693
|
+
"module_key": "member",
|
|
694
|
+
"module_name": "Member Management",
|
|
695
|
+
"file_path": "crm-system-sub-member.md",
|
|
696
|
+
"status": "completed",
|
|
697
|
+
"has_feature_breakdown": true,
|
|
698
|
+
"feature_count": 5
|
|
699
|
+
}
|
|
700
|
+
]
|
|
701
|
+
}
|
|
702
|
+
```
|
|
703
|
+
|
|
626
704
|
---
|
|
627
705
|
|
|
628
706
|
### Step 12e: Present Documents for User Review
|
|
@@ -707,10 +785,50 @@ Content (use the REAL timestamp from the command output):
|
|
|
707
785
|
{
|
|
708
786
|
"stage": "01_prd",
|
|
709
787
|
"checkpoints": {
|
|
788
|
+
"requirement_clarification": {
|
|
789
|
+
"passed": true,
|
|
790
|
+
"confirmed_at": "{REAL_TIMESTAMP_FROM_COMMAND}",
|
|
791
|
+
"description": "Requirement clarification completed",
|
|
792
|
+
"clarification_file": ".clarification-summary.md",
|
|
793
|
+
"sufficiency_checks": {
|
|
794
|
+
"business_problem": true,
|
|
795
|
+
"target_users": true,
|
|
796
|
+
"scope_boundaries": true,
|
|
797
|
+
"existing_system": true
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
"sub_prd_dispatch": {
|
|
801
|
+
"passed": true,
|
|
802
|
+
"confirmed_at": "{REAL_TIMESTAMP_FROM_COMMAND}",
|
|
803
|
+
"description": "Sub-PRD generation via worker dispatch",
|
|
804
|
+
"total_modules": 11,
|
|
805
|
+
"sub_prds": [
|
|
806
|
+
{
|
|
807
|
+
"module_key": "member",
|
|
808
|
+
"module_name": "Member Management",
|
|
809
|
+
"file_path": "crm-system-sub-member.md",
|
|
810
|
+
"status": "completed",
|
|
811
|
+
"has_feature_breakdown": true,
|
|
812
|
+
"feature_count": 5
|
|
813
|
+
}
|
|
814
|
+
]
|
|
815
|
+
},
|
|
816
|
+
"verification_checklist": {
|
|
817
|
+
"passed": true,
|
|
818
|
+
"confirmed_at": "{REAL_TIMESTAMP_FROM_COMMAND}",
|
|
819
|
+
"description": "PRD structure and content verification",
|
|
820
|
+
"checks": {
|
|
821
|
+
"master_prd_exists": true,
|
|
822
|
+
"master_prd_size": true,
|
|
823
|
+
"sub_prds_exist": true,
|
|
824
|
+
"sub_prd_index_match": true,
|
|
825
|
+
"feature_breakdown_present": true
|
|
826
|
+
}
|
|
827
|
+
},
|
|
710
828
|
"prd_review": {
|
|
711
829
|
"passed": true,
|
|
712
830
|
"confirmed_at": "{REAL_TIMESTAMP_FROM_COMMAND}",
|
|
713
|
-
"description": "
|
|
831
|
+
"description": "User review and confirmation of all PRD documents"
|
|
714
832
|
}
|
|
715
833
|
}
|
|
716
834
|
}
|
|
@@ -771,8 +889,8 @@ When you are ready to proceed with Feature Design, please start a new conversati
|
|
|
771
889
|
- [ ] PRD structure (single vs master-sub) determined appropriately
|
|
772
890
|
- [ ] **[Master-Sub]** Master PRD includes architecture overview, module list, dependency matrix, implementation phases
|
|
773
891
|
- [ ] **[Master-Sub]** Each Sub-PRD covers exactly one module with interface contracts
|
|
774
|
-
- [ ] **Feature Breakdown** extracted with appropriate granularity (each feature
|
|
775
|
-
- [ ] **Feature Breakdown** includes Feature IDs, Types (
|
|
892
|
+
- [ ] **Feature Breakdown** extracted with appropriate granularity (each feature completable in 1 sprint)
|
|
893
|
+
- [ ] **Feature Breakdown** includes Feature IDs, Types (User Interaction / Backend Process), and dependencies
|
|
776
894
|
- [ ] PRD completely filled according to template structure
|
|
777
895
|
- [ ] User story granularity aligns with "single iteration completable" principle
|
|
778
896
|
- [ ] Acceptance criteria are quantifiable and verifiable
|
package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md
CHANGED
|
@@ -77,9 +77,9 @@ graph TD
|
|
|
77
77
|
|
|
78
78
|
### 2.2 Function-Capability Mapping Table
|
|
79
79
|
|
|
80
|
-
| Function Module | Core Sub-function | Business Capability |
|
|
81
|
-
|
|
82
|
-
| __________ | __________ | __________ |
|
|
80
|
+
| Function Module | Core Sub-function | Business Capability |
|
|
81
|
+
|-----------------|-------------------|---------------------|
|
|
82
|
+
| __________ | __________ | __________ |
|
|
83
83
|
|
|
84
84
|
### 2.3 UML Visualization (As Needed)
|
|
85
85
|
|
|
@@ -223,58 +223,36 @@ graph TD
|
|
|
223
223
|
|-------------|-----------------|-----------|-------------|-------------|
|
|
224
224
|
| __________ | __________ | String/Number/Enum | Non-null | __________ |
|
|
225
225
|
|
|
226
|
-
### 5.3
|
|
226
|
+
### 5.3 Business Entity Relationship Diagram (Optional)
|
|
227
|
+
|
|
228
|
+
> Visualize core business entity relationships using natural language. Do NOT include programming constructs (visibility modifiers, method signatures, data types).
|
|
227
229
|
|
|
228
230
|
```mermaid
|
|
229
231
|
classDiagram
|
|
230
232
|
class Entity1 {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
+
Core attribute 1
|
|
234
|
+
Core attribute 2
|
|
233
235
|
}
|
|
234
236
|
class Entity2 {
|
|
235
|
-
|
|
237
|
+
Core attribute 3
|
|
236
238
|
}
|
|
237
|
-
Entity1 "1" -- "*" Entity2 :
|
|
239
|
+
Entity1 "1" -- "*" Entity2 : relationship description
|
|
238
240
|
```
|
|
239
241
|
|
|
240
242
|
---
|
|
241
243
|
|
|
242
|
-
## 6.
|
|
243
|
-
|
|
244
|
-
<!-- AI-NOTE: IMPLEMENTATION-READY specifications with technical details. -->
|
|
245
|
-
|
|
246
|
-
### 6.1 Design Class Diagram
|
|
247
|
-
|
|
248
|
-
```mermaid
|
|
249
|
-
classDiagram
|
|
250
|
-
class ClassName {
|
|
251
|
-
-privateAttribute: Type
|
|
252
|
-
+publicMethod(): ReturnType
|
|
253
|
-
}
|
|
254
|
-
class InterfaceName {
|
|
255
|
-
+interfaceMethod(): ReturnType
|
|
256
|
-
}
|
|
257
|
-
ClassName ..|> InterfaceName : implements
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### 6.2 Component Diagram
|
|
244
|
+
## 6. Data Format Requirements
|
|
261
245
|
|
|
262
|
-
|
|
263
|
-
graph TB
|
|
264
|
-
C1[Component 1] --> C2[Component 2]
|
|
265
|
-
C2 --> C3[Component 3]
|
|
266
|
-
```
|
|
246
|
+
<!-- AI-NOTE: Focus on user-visible data formats and business data quality. Technical implementation details are handled by Feature Designer. -->
|
|
267
247
|
|
|
268
|
-
### 6.
|
|
269
|
-
|
|
270
|
-
**Output Format**: __________
|
|
271
|
-
|
|
272
|
-
**Encoding**: UTF-8
|
|
273
|
-
|
|
274
|
-
**Validation Rules**:
|
|
275
|
-
- __________
|
|
248
|
+
### 6.1 Data Format Requirements
|
|
276
249
|
|
|
277
|
-
|
|
250
|
+
| Requirement | Description |
|
|
251
|
+
|-------------|-------------|
|
|
252
|
+
| Input Format | {User-visible input formats: forms, file upload (CSV/Excel), etc.} |
|
|
253
|
+
| Output Format | {User-visible output formats: PDF reports, Excel export, etc.} |
|
|
254
|
+
| Data Quality | {Business data quality rules: completeness, accuracy, timeliness} |
|
|
255
|
+
| Compliance | {Data compliance requirements: privacy, retention, audit trail} |
|
|
278
256
|
|
|
279
257
|
---
|
|
280
258
|
|
|
@@ -130,14 +130,14 @@ graph TB
|
|
|
130
130
|
|
|
131
131
|
### 3.4 Feature Breakdown
|
|
132
132
|
|
|
133
|
-
> List all business operation units in this module. Each feature represents a cohesive business operation (e.g.,
|
|
133
|
+
> List all business operation units in this module. Each feature represents a cohesive business operation (e.g., a user-facing feature with business logic, or a backend process without direct user interaction). This breakdown guides downstream Feature Design to generate per-feature specs.
|
|
134
134
|
|
|
135
135
|
> Priority follows MoSCoW method: P0 = Must have (MVP core), P1 = Should have, P2 = Could have, Deferred = Won't have this iteration.
|
|
136
136
|
|
|
137
|
-
| Feature ID | Feature Name | Type | Priority |
|
|
138
|
-
|
|
139
|
-
| F-{MODULE}-01 | {Feature name} |
|
|
140
|
-
| F-{MODULE}-02 | {Feature name} |
|
|
137
|
+
| Feature ID | Feature Name | Type | Priority | Scope | Description |
|
|
138
|
+
|------------|-------------|------|----------|-------|-------------|
|
|
139
|
+
| F-{MODULE}-01 | {Feature name} | User Interaction / Backend Process | P0 (Must) / P1 (Should) / P2 (Could) | {Brief scope description} | {Brief description} |
|
|
140
|
+
| F-{MODULE}-02 | {Feature name} | User Interaction / Backend Process | P0 (Must) / P1 (Should) / P2 (Could) | {Brief scope description} | {Brief description} |
|
|
141
141
|
|
|
142
142
|
#### Feature Dependencies
|
|
143
143
|
|
|
@@ -197,12 +197,12 @@ graph LR
|
|
|
197
197
|
|
|
198
198
|
**Operation Steps Detail:**
|
|
199
199
|
|
|
200
|
-
| Step | Action |
|
|
201
|
-
|
|
202
|
-
| 1 | [User action] | [
|
|
203
|
-
| 2 | [User action] | [
|
|
204
|
-
| 3 | [User action] | [
|
|
205
|
-
| 4 | [User action] | [
|
|
200
|
+
| Step | Action | Expected Outcome | Exception Handling |
|
|
201
|
+
|------|--------|------------------|-------------------|
|
|
202
|
+
| 1 | [User action] | [Expected result] | [Error handling] |
|
|
203
|
+
| 2 | [User action] | [Expected result] | [Error handling] |
|
|
204
|
+
| 3 | [User action] | [Expected result] | [Error handling] |
|
|
205
|
+
| 4 | [User action] | [Expected result] | [Error handling] |
|
|
206
206
|
|
|
207
207
|
## 4. Non-functional Requirements
|
|
208
208
|
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-pm-requirement-simple
|
|
3
|
+
description: SpecCrew PM Simple Requirement Skill. Handles lightweight requirements (field additions, minor feature changes, single-module enhancements) with a streamlined PRD generation process. Produces a single concise PRD document without Master-Sub structure or worker dispatch.
|
|
4
|
+
tools: Read, Write, Glob, Grep, Terminal
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill Overview
|
|
8
|
+
|
|
9
|
+
Simple requirement analysis skill for lightweight changes. Produces a single concise PRD.
|
|
10
|
+
|
|
11
|
+
## Trigger Scenarios
|
|
12
|
+
|
|
13
|
+
- User requests a small change (add field, modify behavior, fix workflow)
|
|
14
|
+
- Requirement scope is within 1-2 modules
|
|
15
|
+
- Estimated 1-5 Features
|
|
16
|
+
|
|
17
|
+
## Methodology Foundation
|
|
18
|
+
|
|
19
|
+
This skill applies ISA-95 Stages 1-3 in lightweight mode:
|
|
20
|
+
|
|
21
|
+
| ISA-95 Stage | Lightweight Application |
|
|
22
|
+
|---|---|
|
|
23
|
+
| Stage 1: Domain Description | Quick scope confirmation (no formal glossary needed) |
|
|
24
|
+
| Stage 2: Functions in Domain | Identify affected functions (no full WBS needed) |
|
|
25
|
+
| Stage 3: Functions of Interest | All identified features are core (no MoSCoW filtering) |
|
|
26
|
+
|
|
27
|
+
> **No separate modeling documents.** Lightweight mode focuses on speed and clarity.
|
|
28
|
+
|
|
29
|
+
## PM Stage Content Boundary
|
|
30
|
+
|
|
31
|
+
> **DO NOT include in PRD:** API definitions, class diagrams, ER diagrams, code snippets, technical metrics.
|
|
32
|
+
> These belong to Feature Designer or System Designer.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Workflow
|
|
37
|
+
|
|
38
|
+
### Step 1: Quick Clarification
|
|
39
|
+
|
|
40
|
+
Confirm the requirement in 1-3 rounds:
|
|
41
|
+
|
|
42
|
+
1. **What to change**: Which page/function/module is affected?
|
|
43
|
+
2. **What the change is**: Add field? Modify logic? New sub-feature?
|
|
44
|
+
3. **Business reason**: Why is this change needed?
|
|
45
|
+
4. **Acceptance criteria**: How to verify the change is correct?
|
|
46
|
+
|
|
47
|
+
> **ISA-95 Stage 1 Thinking** — Confirm affected module boundary and impacted user roles. No formal glossary needed.
|
|
48
|
+
|
|
49
|
+
If requirement is already clear, skip and proceed.
|
|
50
|
+
|
|
51
|
+
**If requirement is complex** (3+ modules, 10+ features, new system), **STOP and redirect**:
|
|
52
|
+
```
|
|
53
|
+
⚠️ This requirement appears complex. Switching to full requirement analysis.
|
|
54
|
+
Invoking skill: speccrew-pm-requirement-analysis/SKILL.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Step 2: Initialize Tracking
|
|
58
|
+
|
|
59
|
+
1. **Determine iteration path**: Use existing or create `speccrew-workspace/iterations/{iteration-id}/`
|
|
60
|
+
|
|
61
|
+
2. **Create checkpoint file** at `01.product-requirement/.checkpoints.json`:
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"stage": "01_prd",
|
|
65
|
+
"complexity": "simple",
|
|
66
|
+
"checkpoints": {
|
|
67
|
+
"requirement_clarification": { "passed": true, "confirmed_at": "{REAL_TIMESTAMP}", "description": "Quick clarification completed" },
|
|
68
|
+
"prd_review": { "passed": false, "confirmed_at": null, "description": "User review and confirmation" }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
Get real timestamp via: `node -e "console.log(new Date().toISOString())"`
|
|
73
|
+
|
|
74
|
+
3. **Update WORKFLOW-PROGRESS.json** (if exists):
|
|
75
|
+
```bash
|
|
76
|
+
node speccrew-workspace/scripts/update-progress.js update-workflow \
|
|
77
|
+
--file speccrew-workspace/iterations/{iteration}/WORKFLOW-PROGRESS.json \
|
|
78
|
+
--stage 01_prd --status in_progress
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 3: Read PRD Template
|
|
82
|
+
|
|
83
|
+
Read: `speccrew-workspace/docs/templates/PRD-TEMPLATE.md`
|
|
84
|
+
|
|
85
|
+
If not found, check: `.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md`
|
|
86
|
+
|
|
87
|
+
### Step 4: Generate Single PRD
|
|
88
|
+
|
|
89
|
+
Create PRD at: `speccrew-workspace/iterations/{iteration}/01.product-requirement/{feature-name}-prd.md`
|
|
90
|
+
|
|
91
|
+
> **ISA-95 Stage 2 Thinking** — List only directly affected functions. No full WBS needed.
|
|
92
|
+
|
|
93
|
+
**Section filling guidance:**
|
|
94
|
+
|
|
95
|
+
| PRD Section | Simple Requirement Approach |
|
|
96
|
+
|---|---|
|
|
97
|
+
| 1. Background & Goals | 2-3 sentences. What's changing and why. |
|
|
98
|
+
| 1.2 Domain Boundary | In-scope: the specific change. Out-of-scope: everything else. |
|
|
99
|
+
| 1.3/1.4 Glossary | Only if new business terms introduced. Skip if unnecessary. |
|
|
100
|
+
| 2. User Stories | 1-3 user stories maximum. |
|
|
101
|
+
| 3. Functional Requirements | Brief description of the change. |
|
|
102
|
+
| 3.3 Feature List | Simple table, 1-5 rows. |
|
|
103
|
+
| 3.4 Feature Breakdown | 1-5 features. All P0. |
|
|
104
|
+
| 4. Non-Functional Requirements | Only if relevant. Skip if not applicable. |
|
|
105
|
+
| 5. Acceptance Criteria | 3-5 concrete, testable criteria. |
|
|
106
|
+
| 6. Boundary | Clear in/out scope. |
|
|
107
|
+
| 7. Assumptions | Only if there are assumptions to document. |
|
|
108
|
+
|
|
109
|
+
> **ISA-95 Stage 3 Thinking** — All identified features are Must-have (P0). No MoSCoW filtering needed.
|
|
110
|
+
|
|
111
|
+
### Step 5: Present for User Review
|
|
112
|
+
|
|
113
|
+
Display PRD summary:
|
|
114
|
+
```
|
|
115
|
+
📄 PRD Generated: {feature-name}-prd.md
|
|
116
|
+
|
|
117
|
+
Summary:
|
|
118
|
+
- Scope: {brief scope}
|
|
119
|
+
- Features: {count} features
|
|
120
|
+
- Modules affected: {module names}
|
|
121
|
+
|
|
122
|
+
Please review and confirm the scope, acceptance criteria, and completeness.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
⚠️ **HARD STOP — WAIT FOR USER CONFIRMATION**
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
DO NOT proceed until user explicitly confirms.
|
|
129
|
+
IF user requests changes → update PRD, then re-present.
|
|
130
|
+
ONLY after user confirms → proceed to Step 6.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Step 6: Finalize PRD Stage
|
|
134
|
+
|
|
135
|
+
After user confirms:
|
|
136
|
+
|
|
137
|
+
1. **Update checkpoint** — set `prd_review.passed = true` with real timestamp
|
|
138
|
+
|
|
139
|
+
2. **Update WORKFLOW-PROGRESS.json**:
|
|
140
|
+
```bash
|
|
141
|
+
node speccrew-workspace/scripts/update-progress.js update-workflow \
|
|
142
|
+
--file speccrew-workspace/iterations/{iteration}/WORKFLOW-PROGRESS.json \
|
|
143
|
+
--stage 01_prd --status confirmed \
|
|
144
|
+
--output "01.product-requirement/{feature-name}-prd.md"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
3. **Output**: `✅ PRD confirmed. PRD stage is complete. Next: Start Feature Design in a new conversation.`
|
|
148
|
+
|
|
149
|
+
4. **END** — Do not proceed further.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Output Checklist
|
|
154
|
+
|
|
155
|
+
- [ ] PRD file created at correct path
|
|
156
|
+
- [ ] All relevant sections filled (skip empty optional sections)
|
|
157
|
+
- [ ] No technical implementation details (no API, no code, no class diagrams)
|
|
158
|
+
- [ ] Feature Breakdown table present with at least 1 feature
|
|
159
|
+
- [ ] Acceptance criteria are concrete and testable
|
|
160
|
+
- [ ] .checkpoints.json created with requirement_clarification passed
|
|
161
|
+
- [ ] Business language only — no technical jargon
|
|
162
|
+
|
|
163
|
+
## Constraints
|
|
164
|
+
|
|
165
|
+
**Must do:**
|
|
166
|
+
- Keep PRD concise — 1-3 page PRDs
|
|
167
|
+
- Use business language throughout
|
|
168
|
+
- Verify with user before finalizing
|
|
169
|
+
- Use real timestamps from `node -e "console.log(new Date().toISOString())"`
|
|
170
|
+
|
|
171
|
+
**Must not do:**
|
|
172
|
+
- Do not generate Master-Sub PRD structure
|
|
173
|
+
- Do not dispatch worker agents
|
|
174
|
+
- Do not generate API definitions, class diagrams, or technical artifacts
|
|
175
|
+
- Do not skip user confirmation
|
|
176
|
+
- Do not auto-transition to Feature Design stage
|
|
@@ -66,7 +66,7 @@ Fill each section using `search_replace`:
|
|
|
66
66
|
- 3.2 Business Process Flow: Module-internal process flow
|
|
67
67
|
- 3.3 Feature List: Module features with P0/P1/P2 priority
|
|
68
68
|
- 3.4 Feature Breakdown: **REQUIRED** — Fill with `{module_features}` data:
|
|
69
|
-
- Feature ID, Feature Name, Type (
|
|
69
|
+
- Feature ID, Feature Name, Type (User Interaction / Backend Process), Scope, Description
|
|
70
70
|
- Feature Dependencies table
|
|
71
71
|
- 3.5 Feature Details: Detailed descriptions for each feature including:
|
|
72
72
|
- Requirement Description
|