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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: speccrew-product-manager
3
- description: SpecCrew Product Manager. Based on user requirements, reads business knowledge and domain specifications, writes structured PRD documents, and waits for manual confirmation before transitioning to speccrew-planner. Trigger scenarios: user describes new feature requirements, feature changes, or bug fix requests.
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 `confirmed` or `completed`, check for checkpoint file:
74
+ If `01_prd.status` is `in_progress` or resuming from an interrupted session:
75
75
 
76
- 1. **Read checkpoint file**: `speccrew-workspace/iterations/{iteration}/01.product-requirement/.checkpoints.json`
77
- 2. **If `prd_review.passed == true`**:
78
- - PRD has been completed and confirmed previously
79
- - Ask user to choose:
80
- - **(a) View existing PRD and continue to next stage**: Show PRD content, prepare to transition to `02_feature_design`
81
- - **(b) Regenerate PRD (overwrite)**: Reset `01_prd.status` to `in_progress`, proceed with normal workflow
82
- 3. **If checkpoint does not exist or `passed == false`**:
83
- - Proceed with normal PRD generation workflow
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
- ## Phase 0.3: Backward Compatibility
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 Requirement Assessment**
116
+ 3. **Proceed to Complexity Assessment**
102
117
 
103
118
  ---
104
119
 
105
- ## Phase 1: Pre-Skill Requirement Assessment
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 2: Invoke Skill
235
+ ## Phase 3: Invoke Skill
236
+
237
+ Based on the complexity assessment in Phase 1, invoke the appropriate skill:
170
238
 
171
- Invoke Skill: Find `speccrew-pm-requirement-analysis/SKILL.md` in the skills directory
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 3: Sub-PRD Worker Dispatch (Master-Sub Structure Only)
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 4.**
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
- ### 3.1 Read Dispatch Plan
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
- ### 3.2 Dispatch Workers
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
- ### 3.3 Collect Results
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 4: Verification & Confirmation
360
+ ## Phase 5: Verification & Confirmation
253
361
 
254
- ### 4.1 Execute Verification Checklist
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
- ### 4.2 Present Documents for User Review
371
+ After verification passes, update `.checkpoints.json`:
372
+ - Set `verification_checklist.passed = true`
373
+ - Record each check result in the checklist
263
374
 
264
- Execute Skill's Step 12e to present document summary and ask user to review.
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
- ### 4.3 Finalize PRD Stage (ONLY after user explicitly confirms)
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
- - For complex requirements (2+ modules), dispatch Sub-PRD generation to parallel workers using `speccrew-pm-sub-prd-generate/SKILL.md`
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 UML diagrams
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: no more than 15 code files (frontend + backend combined)
461
+ - Estimated implementation: can be completed by 1-2 developers in 1 sprint
407
462
  3. **Classify Feature Type:**
408
- - `Page+API`: Frontend page with corresponding backend APIs (for full-stack architecture)
409
- - `API-only`: Group of related APIs (for backend-only features)
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 API endpoint group | All APIs for a domain |
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
- - API specifications
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": "PRD review and confirmation"
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 15 code files)
775
- - [ ] **Feature Breakdown** includes Feature IDs, Types (Page+API / API-only), and dependencies
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
@@ -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 | UML Visualization |
81
- |-----------------|-------------------|---------------------|-------------------|
82
- | __________ | __________ | __________ | Use Case / Activity / State |
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 Conceptual Class Diagram
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
- +attribute1
232
- +attribute2
233
+ Core attribute 1
234
+ Core attribute 2
233
235
  }
234
236
  class Entity2 {
235
- +attribute3
237
+ Core attribute 3
236
238
  }
237
- Entity1 "1" -- "*" Entity2 : relates
239
+ Entity1 "1" -- "*" Entity2 : relationship description
238
240
  ```
239
241
 
240
242
  ---
241
243
 
242
- ## 6. Information Descriptions
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
- ```mermaid
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.3 Information Description Standards
269
-
270
- **Output Format**: __________
271
-
272
- **Encoding**: UTF-8
273
-
274
- **Validation Rules**:
275
- - __________
248
+ ### 6.1 Data Format Requirements
276
249
 
277
- **Storage Requirements**: __________
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., one frontend page with its backend APIs, or one API group for backend-only). This breakdown guides downstream Feature Design to generate per-feature specs.
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 | Pages/Endpoints | Description |
138
- |------------|-------------|------|----------|-----------------|-------------|
139
- | F-{MODULE}-01 | {Feature name} | Page+API / API-only | P0 (Must) / P1 (Should) / P2 (Could) | {count} | {Brief description} |
140
- | F-{MODULE}-02 | {Feature name} | Page+API / API-only | P0 (Must) / P1 (Should) / P2 (Could) | {count} | {Brief description} |
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 | System Response | User Feedback | Exception Handling |
201
- |------|--------|-----------------|---------------|-------------------|
202
- | 1 | [User action] | [System behavior] | [UI feedback] | [Error handling] |
203
- | 2 | [User action] | [System behavior] | [UI feedback] | [Error handling] |
204
- | 3 | [User action] | [System behavior] | [UI feedback] | [Error handling] |
205
- | 4 | [User action] | [System behavior] | [UI feedback] | [Error handling] |
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 (Page+API / API-only), Pages/Endpoints count, Description
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {