speccrew 0.3.6 → 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-fd-feature-design/SKILL.md +36 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +191 -66
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +25 -41
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +38 -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)
|
|
@@ -4,6 +4,18 @@ description: Feature Design SOP. Guide Feature Designer Agent to transform PRD r
|
|
|
4
4
|
tools: Read, Write, Glob, Grep
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
# Methodology Foundation
|
|
8
|
+
|
|
9
|
+
This skill applies the ISA-95 six-stage methodology (Stages 4-6) as an internal thinking framework:
|
|
10
|
+
|
|
11
|
+
| ISA-95 Stage | Integrated Into | Purpose |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Stage 4: Information Flows | Feature Spec Section 3 (Interaction Flow) | Map cross-module data flows, identify API endpoints |
|
|
14
|
+
| Stage 5: Categories of Information | Feature Spec Section 4 (Data Field Definition) | Classify data entities, build data dictionary |
|
|
15
|
+
| Stage 6: Information Descriptions | Feature Spec Section 5 (Business Rules) + API Contract | Define validation rules, output standards, traceability |
|
|
16
|
+
|
|
17
|
+
> ⚠️ **No separate modeling documents.** The methodology guides thinking quality, not document quantity.
|
|
18
|
+
|
|
7
19
|
# Trigger Scenarios
|
|
8
20
|
|
|
9
21
|
- PRD has been confirmed, user requests to start feature design
|
|
@@ -336,6 +348,14 @@ Document user actions and system responses:
|
|
|
336
348
|
User Action → Frontend Response → Backend API Call
|
|
337
349
|
```
|
|
338
350
|
|
|
351
|
+
> **ISA-95 Stage 4 Thinking — Information Flows of Interest**
|
|
352
|
+
> When designing interaction flows:
|
|
353
|
+
> - **Cross-module Information Flow**: Map all data flows between this feature and other modules/systems. Identify data source, destination, format, and frequency.
|
|
354
|
+
> - **Sequence Diagram Coverage**: The sequence diagram must cover the complete interaction chain — user action → frontend → backend → database → external systems.
|
|
355
|
+
> - **Interface Identification**: Every data exchange point becomes a potential API endpoint. List all interface interactions with direction, format, and core fields.
|
|
356
|
+
> - **Exception Flows**: Identify and document alternative/exception paths, not just the happy path.
|
|
357
|
+
> These elements flow into Feature Spec Section 3 (Interaction Flow) — no separate DFD document needed.
|
|
358
|
+
|
|
339
359
|
**Example:**
|
|
340
360
|
```
|
|
341
361
|
1. User clicks "New User" button
|
|
@@ -424,6 +444,14 @@ For each new entity:
|
|
|
424
444
|
|-------|------|-------------|-------------|
|
|
425
445
|
| {field name} | {data type} | {required/unique/etc} | {purpose} |
|
|
426
446
|
|
|
447
|
+
> **ISA-95 Stage 5 Thinking — Categories of Information**
|
|
448
|
+
> When defining data fields:
|
|
449
|
+
> - **Information Classification**: Categorize data entities (master data, transactional data, reference data, computed data). This determines storage strategy and update frequency.
|
|
450
|
+
> - **Data Dictionary Rigor**: Every field must have: name, type, constraints, semantic description, and data source.
|
|
451
|
+
> - **Semantic Consistency**: Field names and definitions must align with the domain glossary established in the PRD clarification phase. No "同物异名" (same thing, different names).
|
|
452
|
+
> - **Entity Relationships**: Identify core entity relationships (1:1, 1:N, N:N) that will drive database design downstream.
|
|
453
|
+
> These elements flow into Feature Spec Section 4 (Data Field Definition) — no separate data dictionary document needed.
|
|
454
|
+
|
|
427
455
|
### 7.2 Modifications to Existing Data Structures
|
|
428
456
|
|
|
429
457
|
| Entity | Change Type | Details | Impact |
|
|
@@ -451,6 +479,14 @@ EntityA --N:1--> EntityC
|
|
|
451
479
|
|
|
452
480
|
## Step 8: Business Rules and Constraints
|
|
453
481
|
|
|
482
|
+
> **ISA-95 Stage 6 Thinking — Information Descriptions**
|
|
483
|
+
> When defining business rules and constraints:
|
|
484
|
+
> - **Validation Rules**: Define field-level validation (format, range, required), cross-field validation, and business logic validation.
|
|
485
|
+
> - **Output Format Standards**: Specify information output format (JSON for API, specific encoding), ensuring consistency with downstream API Contract.
|
|
486
|
+
> - **Permission Rules**: Define data access permissions that will map to API authorization logic.
|
|
487
|
+
> - **Traceability**: Every business rule should trace back to a PRD requirement. Every data field should trace to a user story.
|
|
488
|
+
> These elements flow into Feature Spec Section 5 (Business Rules) and prepare the foundation for API Contract generation.
|
|
489
|
+
|
|
454
490
|
### 8.1 Permission Rules
|
|
455
491
|
|
|
456
492
|
| Function | Required Permission | Scope |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: speccrew-pm-requirement-analysis
|
|
3
|
-
description: PRD Writing SOP with ISA-95
|
|
3
|
+
description: PRD Writing SOP with ISA-95 methodology integration. Guide PM Agent through requirements clarification, business domain analysis, and PRD document generation. Applies ISA-95 Stages 1-3 as internal thinking framework for clarification, functional decomposition, and prioritization — no separate modeling documents. Use when PM needs to write PRD, organize requirements, or create structured requirement documents.
|
|
4
4
|
tools: Read, Write, Glob, Grep
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,8 +8,19 @@ 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
|
|
12
|
-
|
|
11
|
+
- User needs structured requirement document with business-level diagrams (use case diagrams, business process flows, activity diagrams)
|
|
12
|
+
|
|
13
|
+
## Methodology Foundation
|
|
14
|
+
|
|
15
|
+
This skill applies the ISA-95 six-stage methodology (Stages 1-3) as an internal thinking framework:
|
|
16
|
+
|
|
17
|
+
| ISA-95 Stage | Integrated Into | Purpose |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| Stage 1: Domain Description | Clarification process | Define domain boundary, participants, glossary |
|
|
20
|
+
| Stage 2: Functions in Domain | PRD Section 3 (Functional Requirements) | WBS decomposition, capability mapping |
|
|
21
|
+
| Stage 3: Functions of Interest | PRD Section 3.4 (Feature Breakdown) | MoSCoW prioritization, MVP scoping |
|
|
22
|
+
|
|
23
|
+
> ⚠️ **No separate modeling documents.** The methodology guides thinking quality, not document quantity.
|
|
13
24
|
|
|
14
25
|
# Workflow
|
|
15
26
|
|
|
@@ -23,6 +34,18 @@ tools: Read, Write, Glob, Grep
|
|
|
23
34
|
|
|
24
35
|
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before filling sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
25
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
|
+
|
|
26
49
|
## Step 1: Requirements Clarification (MANDATORY)
|
|
27
50
|
|
|
28
51
|
⚠️ **MANDATORY: This step CANNOT be skipped.**
|
|
@@ -37,6 +60,13 @@ IF user provided incomplete input:
|
|
|
37
60
|
|
|
38
61
|
Use progressive questioning to clarify requirements. Do NOT ask all questions at once.
|
|
39
62
|
|
|
63
|
+
> **ISA-95 Stage 1 Thinking — Domain Description**
|
|
64
|
+
> During clarification, apply domain description methodology:
|
|
65
|
+
> - **Domain Boundary**: Explicitly define what is in-scope and out-of-scope. Record in clarification summary.
|
|
66
|
+
> - **External Participants**: Identify all user roles, external systems, and integration points.
|
|
67
|
+
> - **Domain Glossary**: Unify key business terms to eliminate ambiguity across stakeholders.
|
|
68
|
+
> These elements should naturally flow into the clarification summary, NOT as a separate document.
|
|
69
|
+
|
|
40
70
|
### Round 1: Core Understanding
|
|
41
71
|
|
|
42
72
|
Ask these first (2-3 questions max per round):
|
|
@@ -125,6 +155,49 @@ IF both conditions met → Proceed to Step 2
|
|
|
125
155
|
IF any condition fails → STOP and complete the missing items
|
|
126
156
|
```
|
|
127
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
|
+
|
|
128
201
|
**Principles:**
|
|
129
202
|
- Ask 2-3 questions per round, not 5+ at once
|
|
130
203
|
- Adapt questions based on previous answers (skip what's already clear)
|
|
@@ -198,94 +271,68 @@ Evaluate requirement complexity to determine the appropriate workflow path:
|
|
|
198
271
|
| Modules involved | 1 module | 2+ modules or new domain |
|
|
199
272
|
| Domain clarity | Well-understood domain | New/unclear domain |
|
|
200
273
|
| Cross-module deps | None or minimal | Significant |
|
|
201
|
-
| Template | PRD-TEMPLATE.md only |
|
|
274
|
+
| Template | PRD-TEMPLATE.md only | PRD-TEMPLATE.md (with deeper analysis) |
|
|
202
275
|
|
|
203
276
|
**Workflow Path:**
|
|
204
277
|
- **Simple path**: Skip to Step 7 (Read PRD Template)
|
|
205
278
|
- **Complex path**: Proceed to Step 5 (ISA-95 Business Modeling) → Step 6 (Module Decomposition)
|
|
206
279
|
|
|
207
|
-
## Step 5: ISA-95 Business Modeling (Complex Requirements Only)
|
|
280
|
+
## Step 5: ISA-95 Business Modeling Thinking (Complex Requirements Only)
|
|
208
281
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md
|
|
212
|
-
```
|
|
282
|
+
> ⚠️ **This step is a THINKING PROCESS, not a document generation step.**
|
|
283
|
+
> Apply ISA-95 methodology internally to deepen your analysis. Results flow into the PRD.
|
|
213
284
|
|
|
214
|
-
|
|
285
|
+
Apply ISA-95 six stages as internal thinking framework:
|
|
215
286
|
|
|
216
|
-
### 5.1 Stage 1 - Domain Description
|
|
287
|
+
### 5.1 Stage 1 - Domain Description (Thinking)
|
|
217
288
|
- Define domain boundary (in-scope, out-of-scope)
|
|
218
289
|
- Identify external participants (users, systems, agents)
|
|
219
290
|
- Create domain glossary
|
|
220
|
-
-
|
|
291
|
+
- Visualize system context (mental model or rough sketch)
|
|
221
292
|
|
|
222
293
|
**Checkpoint A: Briefly confirm domain boundary with user before proceeding.**
|
|
223
294
|
Ask: "Here is the domain boundary and key participants. Does this match your understanding?"
|
|
224
295
|
|
|
225
|
-
### 5.2 Stage 2 - Functions in Domain
|
|
226
|
-
- Create WBS decomposition (
|
|
296
|
+
### 5.2 Stage 2 - Functions in Domain (Thinking)
|
|
297
|
+
- Create WBS decomposition (mental or rough sketch)
|
|
227
298
|
- Map functions to business capabilities
|
|
228
|
-
-
|
|
299
|
+
- Identify module boundaries
|
|
229
300
|
|
|
230
|
-
### 5.3 Stage 3 - Functions of Interest
|
|
301
|
+
### 5.3 Stage 3 - Functions of Interest (Thinking)
|
|
231
302
|
- Apply MoSCoW prioritization
|
|
232
|
-
-
|
|
303
|
+
- Identify core vs non-core functions
|
|
233
304
|
- Document non-core functions and their iteration plan
|
|
234
305
|
|
|
235
306
|
**Checkpoint B: Confirm MVP scope with user before proceeding.**
|
|
236
307
|
Ask: "Here are the core functions (Must have) and deferred functions. Is the MVP scope correct?"
|
|
237
308
|
|
|
238
|
-
### 5.4 Stage 4 - Information Flows
|
|
309
|
+
### 5.4 Stage 4 - Information Flows (Thinking)
|
|
239
310
|
- Document core information flows
|
|
240
|
-
-
|
|
241
|
-
-
|
|
242
|
-
- List interface interactions
|
|
311
|
+
- Identify key interfaces
|
|
312
|
+
- Understand data movement patterns
|
|
243
313
|
|
|
244
|
-
### 5.5 Stage 5 - Categories of Information
|
|
314
|
+
### 5.5 Stage 5 - Categories of Information (Thinking)
|
|
245
315
|
- Define information categories
|
|
246
|
-
-
|
|
247
|
-
-
|
|
316
|
+
- Identify core entities
|
|
317
|
+
- Understand data relationships
|
|
318
|
+
|
|
319
|
+
### 5.6 Stage 6 - Information Descriptions (Thinking)
|
|
320
|
+
- Consider technical implications
|
|
321
|
+
- Identify component boundaries
|
|
322
|
+
- Note implementation considerations
|
|
248
323
|
|
|
249
|
-
|
|
250
|
-
- Create design class diagram with technical details
|
|
251
|
-
- Create component diagram (graph TB)
|
|
252
|
-
- Document implementation standards
|
|
324
|
+
**Checkpoint C: Present analysis summary to user for final confirmation.**
|
|
253
325
|
|
|
254
|
-
|
|
326
|
+
> All ISA-95 thinking results will be reflected in the PRD document, NOT as a separate modeling file.
|
|
255
327
|
|
|
256
328
|
**Key rules for this step:**
|
|
257
329
|
- Use 3 checkpoints (A/B/C) for progressive confirmation, not all-at-once
|
|
258
|
-
-
|
|
259
|
-
|
|
260
|
-
- No nested subgraphs
|
|
261
|
-
- No `direction` keyword
|
|
262
|
-
- No `style` definitions
|
|
263
|
-
- No special characters in node text
|
|
264
|
-
- **Write modeling document using template-fill workflow:**
|
|
265
|
-
|
|
266
|
-
**5.7a Copy Template to Document Path:**
|
|
267
|
-
1. Read `templates/BIZS-MODELING-TEMPLATE.md`
|
|
268
|
-
2. Replace top-level placeholders (feature name, domain name, etc.)
|
|
269
|
-
3. Create document using `create_file` at: `iterations/{number}-{type}-{name}/01.product-requirement/{feature-name}-bizs-modeling.md`
|
|
270
|
-
|
|
271
|
-
**5.7b Fill Each Section Using search_replace:**
|
|
272
|
-
Fill each modeling stage section with results from Stages 1-6 above, using `search_replace` per section.
|
|
273
|
-
> ⚠️ FORBIDDEN: `create_file` to rewrite entire document. MUST use `search_replace` per section.
|
|
274
|
-
|
|
275
|
-
**ISA-95 Quick Reference:**
|
|
276
|
-
|
|
277
|
-
| Stage | Focus | Key Output | UML Type |
|
|
278
|
-
|-------|-------|------------|----------|
|
|
279
|
-
| 1. Domain Description | Boundary, terminology | System context diagram | graph TD |
|
|
280
|
-
| 2. Functions in Domain | All functions | WBS, use case diagram | graph TD, graph TB |
|
|
281
|
-
| 3. Functions of Interest | Core functions (MVP) | MoSCoW table | graph TB |
|
|
282
|
-
| 4. Information Flows | Interactions, interfaces | Sequence diagram, DFD | sequenceDiagram, graph TD |
|
|
283
|
-
| 5. Categories of Information | Entities, data dictionary | Conceptual class diagram | classDiagram |
|
|
284
|
-
| 6. Information Descriptions | Design details | Design class diagram | classDiagram, graph TB |
|
|
330
|
+
- This is an analysis phase — focus on understanding, not documentation
|
|
331
|
+
- Results integrate into PRD Sections 3-7 during Step 9
|
|
285
332
|
|
|
286
333
|
## Step 6: Module Decomposition & Ordering (Complex Requirements Only)
|
|
287
334
|
|
|
288
|
-
|
|
335
|
+
Based on ISA-95 analysis from Step 5, map identified modules into independent units. For each module:
|
|
289
336
|
|
|
290
337
|
### 6.1 Define Module List
|
|
291
338
|
|
|
@@ -295,7 +342,7 @@ Map WBS Level-1 nodes from Stage 2 into independent modules. For each module:
|
|
|
295
342
|
|
|
296
343
|
### 6.2 Cross-Module Dependency Matrix
|
|
297
344
|
|
|
298
|
-
|
|
345
|
+
Based on information flow analysis from Step 5, identify dependencies:
|
|
299
346
|
|
|
300
347
|
| Module | Depends On | Dependency Type | Shared Entities |
|
|
301
348
|
|--------|-----------|-----------------|-----------------|
|
|
@@ -381,6 +428,14 @@ Fill in according to the template structure, requirements:
|
|
|
381
428
|
- **Background & Goals**: Explain why we're doing this and what success looks like
|
|
382
429
|
- **User Stories**: `As a [user role], I want [to do something], so that [I can achieve some goal]`
|
|
383
430
|
- **Functional Requirements**: Group by priority (P0 Core / P1 Important / P2 Optional)
|
|
431
|
+
|
|
432
|
+
> **ISA-95 Stage 2 Thinking — Functions in Domain**
|
|
433
|
+
> When decomposing functional requirements:
|
|
434
|
+
> - **WBS Decomposition**: Break down the system into functional modules using Work Breakdown Structure logic. Each module should map to a clear business capability.
|
|
435
|
+
> - **Function-Capability Mapping**: Every function must answer "what business capability does this deliver?"
|
|
436
|
+
> - **Module Boundaries**: Ensure modules have clear boundaries with minimal coupling.
|
|
437
|
+
> This thinking drives PRD Section 3 content quality — no separate WBS document needed.
|
|
438
|
+
|
|
384
439
|
- **Feature Breakdown**: Extract business operation units for downstream Feature Design (see Step 9.1)
|
|
385
440
|
- **Non-functional Requirements**: Performance, security, compatibility, etc.
|
|
386
441
|
- **Acceptance Criteria**: Quantifiable, verifiable definition of done
|
|
@@ -391,15 +446,22 @@ Fill in according to the template structure, requirements:
|
|
|
391
446
|
|
|
392
447
|
For both simple and complex requirements, extract Feature Breakdown to guide downstream Feature Design:
|
|
393
448
|
|
|
449
|
+
> **ISA-95 Stage 3 Thinking — Functions of Interest**
|
|
450
|
+
> When creating the Feature Breakdown table:
|
|
451
|
+
> - **MoSCoW Prioritization**: Classify each feature as Must-have (P0), Should-have (P1), Could-have (P2), or Won't-have (deferred).
|
|
452
|
+
> - **MVP Focus**: The Feature Breakdown table IS the MVP definition. Features marked P0 form the core scope.
|
|
453
|
+
> - **Non-core Exclusion**: Explicitly note deferred features in Section 6 (Boundary & Constraints) with planned iteration.
|
|
454
|
+
> The Feature Breakdown table in Section 3.4 serves as the core function selection — no separate priority matrix needed.
|
|
455
|
+
|
|
394
456
|
**Analysis Steps:**
|
|
395
457
|
1. **Analyze user stories and functional requirements** for this module/feature
|
|
396
458
|
2. **Identify business operation units** - each unit should represent:
|
|
397
459
|
- A complete business operation (e.g., "Customer List Management" includes search, filter, pagination, tag management)
|
|
398
460
|
- Can span 1-2 pages but remains business-cohesive
|
|
399
|
-
- Estimated implementation:
|
|
461
|
+
- Estimated implementation: can be completed by 1-2 developers in 1 sprint
|
|
400
462
|
3. **Classify Feature Type:**
|
|
401
|
-
- `
|
|
402
|
-
- `
|
|
463
|
+
- `User Interaction`: Features involving user interface and business logic
|
|
464
|
+
- `Backend Process`: Background processing or business logic without direct user interaction
|
|
403
465
|
4. **Assign Feature IDs**: Use format `F-{MODULE}-{NN}` (e.g., F-CRM-01, F-CRM-02)
|
|
404
466
|
5. **Document dependencies**: Identify data or workflow dependencies between features
|
|
405
467
|
|
|
@@ -409,7 +471,7 @@ For both simple and complex requirements, extract Feature Breakdown to guide dow
|
|
|
409
471
|
| Single CRUD operation group | Complete module with 5+ CRUDs |
|
|
410
472
|
| One list page with filters | Entire reporting subsystem |
|
|
411
473
|
| One form with validation | Multi-step wizard with 10+ steps |
|
|
412
|
-
| Single
|
|
474
|
+
| Single business process | All processes for a domain |
|
|
413
475
|
|
|
414
476
|
**Output:** Complete the Feature Breakdown table in Section 3.4 of the PRD template.
|
|
415
477
|
|
|
@@ -429,7 +491,7 @@ When the requirement involves modifying existing system functions, clearly mark
|
|
|
429
491
|
- User stories (prefix the story)
|
|
430
492
|
- Functional requirements (prefix each requirement)
|
|
431
493
|
- UI mockups descriptions
|
|
432
|
-
-
|
|
494
|
+
- System capability changes
|
|
433
495
|
|
|
434
496
|
**Example:**
|
|
435
497
|
```markdown
|
|
@@ -616,6 +678,29 @@ After outputting the dispatch plan:
|
|
|
616
678
|
|
|
617
679
|
IF any check fails → Report error and fix before proceeding.
|
|
618
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
|
+
|
|
619
704
|
---
|
|
620
705
|
|
|
621
706
|
### Step 12e: Present Documents for User Review
|
|
@@ -700,10 +785,50 @@ Content (use the REAL timestamp from the command output):
|
|
|
700
785
|
{
|
|
701
786
|
"stage": "01_prd",
|
|
702
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
|
+
},
|
|
703
828
|
"prd_review": {
|
|
704
829
|
"passed": true,
|
|
705
830
|
"confirmed_at": "{REAL_TIMESTAMP_FROM_COMMAND}",
|
|
706
|
-
"description": "
|
|
831
|
+
"description": "User review and confirmation of all PRD documents"
|
|
707
832
|
}
|
|
708
833
|
}
|
|
709
834
|
}
|
|
@@ -764,8 +889,8 @@ When you are ready to proceed with Feature Design, please start a new conversati
|
|
|
764
889
|
- [ ] PRD structure (single vs master-sub) determined appropriately
|
|
765
890
|
- [ ] **[Master-Sub]** Master PRD includes architecture overview, module list, dependency matrix, implementation phases
|
|
766
891
|
- [ ] **[Master-Sub]** Each Sub-PRD covers exactly one module with interface contracts
|
|
767
|
-
- [ ] **Feature Breakdown** extracted with appropriate granularity (each feature
|
|
768
|
-
- [ ] **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
|
|
769
894
|
- [ ] PRD completely filled according to template structure
|
|
770
895
|
- [ ] User story granularity aligns with "single iteration completable" principle
|
|
771
896
|
- [ ] Acceptance criteria are quantifiable and verifiable
|
package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
INTERNAL REFERENCE ONLY — This template is NOT used to generate standalone documents.
|
|
3
|
+
ISA-95 methodology is internalized into the PRD generation process.
|
|
4
|
+
All modeling insights should flow into PRD-TEMPLATE.md sections.
|
|
5
|
+
See SKILL.md "Methodology Foundation" section for the integration mapping.
|
|
6
|
+
-->
|
|
1
7
|
# Business Modeling - [Feature/Skill Name]
|
|
2
8
|
|
|
3
9
|
## Document Info
|
|
@@ -71,9 +77,9 @@ graph TD
|
|
|
71
77
|
|
|
72
78
|
### 2.2 Function-Capability Mapping Table
|
|
73
79
|
|
|
74
|
-
| Function Module | Core Sub-function | Business Capability |
|
|
75
|
-
|
|
76
|
-
| __________ | __________ | __________ |
|
|
80
|
+
| Function Module | Core Sub-function | Business Capability |
|
|
81
|
+
|-----------------|-------------------|---------------------|
|
|
82
|
+
| __________ | __________ | __________ |
|
|
77
83
|
|
|
78
84
|
### 2.3 UML Visualization (As Needed)
|
|
79
85
|
|
|
@@ -217,58 +223,36 @@ graph TD
|
|
|
217
223
|
|-------------|-----------------|-----------|-------------|-------------|
|
|
218
224
|
| __________ | __________ | String/Number/Enum | Non-null | __________ |
|
|
219
225
|
|
|
220
|
-
### 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).
|
|
221
229
|
|
|
222
230
|
```mermaid
|
|
223
231
|
classDiagram
|
|
224
232
|
class Entity1 {
|
|
225
|
-
|
|
226
|
-
|
|
233
|
+
Core attribute 1
|
|
234
|
+
Core attribute 2
|
|
227
235
|
}
|
|
228
236
|
class Entity2 {
|
|
229
|
-
|
|
237
|
+
Core attribute 3
|
|
230
238
|
}
|
|
231
|
-
Entity1 "1" -- "*" Entity2 :
|
|
239
|
+
Entity1 "1" -- "*" Entity2 : relationship description
|
|
232
240
|
```
|
|
233
241
|
|
|
234
242
|
---
|
|
235
243
|
|
|
236
|
-
## 6.
|
|
237
|
-
|
|
238
|
-
<!-- AI-NOTE: IMPLEMENTATION-READY specifications with technical details. -->
|
|
239
|
-
|
|
240
|
-
### 6.1 Design Class Diagram
|
|
241
|
-
|
|
242
|
-
```mermaid
|
|
243
|
-
classDiagram
|
|
244
|
-
class ClassName {
|
|
245
|
-
-privateAttribute: Type
|
|
246
|
-
+publicMethod(): ReturnType
|
|
247
|
-
}
|
|
248
|
-
class InterfaceName {
|
|
249
|
-
+interfaceMethod(): ReturnType
|
|
250
|
-
}
|
|
251
|
-
ClassName ..|> InterfaceName : implements
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
### 6.2 Component Diagram
|
|
244
|
+
## 6. Data Format Requirements
|
|
255
245
|
|
|
256
|
-
|
|
257
|
-
graph TB
|
|
258
|
-
C1[Component 1] --> C2[Component 2]
|
|
259
|
-
C2 --> C3[Component 3]
|
|
260
|
-
```
|
|
246
|
+
<!-- AI-NOTE: Focus on user-visible data formats and business data quality. Technical implementation details are handled by Feature Designer. -->
|
|
261
247
|
|
|
262
|
-
### 6.
|
|
263
|
-
|
|
264
|
-
**Output Format**: __________
|
|
265
|
-
|
|
266
|
-
**Encoding**: UTF-8
|
|
267
|
-
|
|
268
|
-
**Validation Rules**:
|
|
269
|
-
- __________
|
|
248
|
+
### 6.1 Data Format Requirements
|
|
270
249
|
|
|
271
|
-
|
|
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} |
|
|
272
256
|
|
|
273
257
|
---
|
|
274
258
|
|
|
@@ -8,6 +8,31 @@
|
|
|
8
8
|
### 1.2 Goals
|
|
9
9
|
[Describe the business objectives to be achieved]
|
|
10
10
|
|
|
11
|
+
### 1.3 Domain Boundary
|
|
12
|
+
|
|
13
|
+
**In-Scope Domains:**
|
|
14
|
+
- {Domain 1: brief description}
|
|
15
|
+
- {Domain 2: brief description}
|
|
16
|
+
|
|
17
|
+
**Out-of-Scope Domains:**
|
|
18
|
+
- {Domain 1: reason for exclusion}
|
|
19
|
+
|
|
20
|
+
**External Participants:**
|
|
21
|
+
|
|
22
|
+
| Participant Type | Name | Description |
|
|
23
|
+
|------------------|------|-------------|
|
|
24
|
+
| User | {Role name} | {Role description} |
|
|
25
|
+
| System | {System name} | {Integration description} |
|
|
26
|
+
|
|
27
|
+
### 1.4 Domain Glossary
|
|
28
|
+
|
|
29
|
+
> Unify key business terms to eliminate cross-stakeholder ambiguity.
|
|
30
|
+
|
|
31
|
+
| Term | Definition | Related Concepts |
|
|
32
|
+
|------|------------|------------------|
|
|
33
|
+
| {Term 1} | {Precise definition} | {Related terms or modules} |
|
|
34
|
+
| {Term 2} | {Precise definition} | {Related terms or modules} |
|
|
35
|
+
|
|
11
36
|
## 2. User Stories
|
|
12
37
|
|
|
13
38
|
### 2.1 Target Users
|
|
@@ -105,12 +130,14 @@ graph TB
|
|
|
105
130
|
|
|
106
131
|
### 3.4 Feature Breakdown
|
|
107
132
|
|
|
108
|
-
> 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
|
+
|
|
135
|
+
> Priority follows MoSCoW method: P0 = Must have (MVP core), P1 = Should have, P2 = Could have, Deferred = Won't have this iteration.
|
|
109
136
|
|
|
110
|
-
| Feature ID | Feature Name | Type |
|
|
111
|
-
|
|
112
|
-
| F-{MODULE}-01 | {Feature name} |
|
|
113
|
-
| 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} |
|
|
114
141
|
|
|
115
142
|
#### Feature Dependencies
|
|
116
143
|
|
|
@@ -170,12 +197,12 @@ graph LR
|
|
|
170
197
|
|
|
171
198
|
**Operation Steps Detail:**
|
|
172
199
|
|
|
173
|
-
| Step | Action |
|
|
174
|
-
|
|
175
|
-
| 1 | [User action] | [
|
|
176
|
-
| 2 | [User action] | [
|
|
177
|
-
| 3 | [User action] | [
|
|
178
|
-
| 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] |
|
|
179
206
|
|
|
180
207
|
## 4. Non-functional Requirements
|
|
181
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
|