speccrew 0.1.12 → 0.2.0

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.
Files changed (75) hide show
  1. package/.speccrew/agents/speccrew-feature-designer.md +120 -0
  2. package/.speccrew/agents/speccrew-product-manager.md +54 -0
  3. package/.speccrew/agents/speccrew-system-designer.md +150 -14
  4. package/.speccrew/agents/speccrew-system-developer.md +309 -37
  5. package/.speccrew/agents/speccrew-task-worker.md +43 -0
  6. package/.speccrew/agents/speccrew-team-leader.md +108 -11
  7. package/.speccrew/agents/speccrew-test-manager.md +278 -0
  8. package/.speccrew/skills/speccrew-dev-backend/SKILL.md +44 -0
  9. package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +44 -0
  10. package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +44 -0
  11. package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +44 -0
  12. package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +70 -0
  13. package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +158 -0
  14. package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +65 -0
  15. package/.speccrew/skills/speccrew-sd-backend/SKILL.md +38 -0
  16. package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +38 -0
  17. package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +38 -0
  18. package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +38 -0
  19. package/.speccrew/skills/speccrew-test-case-design/SKILL.md +33 -0
  20. package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +34 -0
  21. package/.speccrew/skills/speccrew-test-execute/SKILL.md +34 -0
  22. package/README.ar.md +70 -3
  23. package/README.bn.md +52 -0
  24. package/README.bs.md +70 -3
  25. package/README.da.md +70 -3
  26. package/README.de.md +70 -3
  27. package/README.el.md +52 -0
  28. package/README.en.md +69 -2
  29. package/README.es.md +70 -3
  30. package/README.fr.md +70 -3
  31. package/README.it.md +70 -3
  32. package/README.ja.md +70 -3
  33. package/README.ko.md +70 -3
  34. package/README.md +69 -2
  35. package/README.no.md +70 -3
  36. package/README.pl.md +70 -3
  37. package/README.pt-BR.md +70 -3
  38. package/README.ru.md +70 -3
  39. package/README.th.md +69 -2
  40. package/README.tr.md +69 -2
  41. package/README.uk.md +69 -2
  42. package/README.vi.md +52 -0
  43. package/README.zh-TW.md +70 -3
  44. package/docs/GETTING-STARTED.ar.md +78 -4
  45. package/docs/GETTING-STARTED.bn.md +78 -4
  46. package/docs/GETTING-STARTED.bs.md +78 -4
  47. package/docs/GETTING-STARTED.da.md +78 -4
  48. package/docs/GETTING-STARTED.de.md +78 -4
  49. package/docs/GETTING-STARTED.el.md +78 -4
  50. package/docs/GETTING-STARTED.en.md +78 -4
  51. package/docs/GETTING-STARTED.es.md +78 -4
  52. package/docs/GETTING-STARTED.fr.md +78 -4
  53. package/docs/GETTING-STARTED.it.md +78 -4
  54. package/docs/GETTING-STARTED.ja.md +79 -5
  55. package/docs/GETTING-STARTED.ko.md +79 -5
  56. package/docs/GETTING-STARTED.md +78 -4
  57. package/docs/GETTING-STARTED.no.md +78 -4
  58. package/docs/GETTING-STARTED.pl.md +78 -4
  59. package/docs/GETTING-STARTED.pt-BR.md +78 -4
  60. package/docs/GETTING-STARTED.ru.md +78 -4
  61. package/docs/GETTING-STARTED.th.md +79 -5
  62. package/docs/GETTING-STARTED.tr.md +78 -4
  63. package/docs/GETTING-STARTED.uk.md +78 -4
  64. package/docs/GETTING-STARTED.vi.md +79 -5
  65. package/docs/GETTING-STARTED.zh-TW.md +79 -5
  66. package/package.json +1 -1
  67. package/.speccrew/skills/speccrew-create-agents/SKILL.md +0 -98
  68. package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +0 -54
  69. package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +0 -79
  70. package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +0 -80
  71. package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +0 -233
  72. package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +0 -202
  73. package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +0 -155
  74. package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +0 -586
  75. package/workspace-template/docs/solutions/harness.md +0 -410
@@ -15,6 +15,75 @@ Your core task is: based on the System Design (HOW to build), execute and coordi
15
15
 
16
16
  # Workflow
17
17
 
18
+ ## Step 0: Workflow Progress Management
19
+
20
+ ### Phase 0.1: Stage Gate — Verify Upstream Completion
21
+
22
+ Before starting development, verify upstream stage completion:
23
+
24
+ 1. **Read WORKFLOW-PROGRESS.json** from workspace root:
25
+ - Path: `speccrew-workspace/WORKFLOW-PROGRESS.json`
26
+
27
+ 2. **Verify System Design stage status**:
28
+ - Check `stages.03_system_design.status == "confirmed"`
29
+ - If status is not "confirmed": **STOP** and report:
30
+ > "System Design stage has not been confirmed. Please complete and confirm the System Design stage before proceeding to Development."
31
+
32
+ 3. **Update Development stage status**:
33
+ - Set `stages.04_development.status` to `"in_progress"`
34
+ - Record `started_at` with current timestamp (ISO 8601 format)
35
+ - Write updated WORKFLOW-PROGRESS.json
36
+
37
+ ### Phase 0.2: Check Resume State
38
+
39
+ Check for existing checkpoint state to support resume:
40
+
41
+ 1. **Read .checkpoints.json** (if exists):
42
+ - Path: `speccrew-workspace/iterations/{current}/04.development/.checkpoints.json`
43
+
44
+ 2. **Determine resume point based on passed checkpoints**:
45
+
46
+ | Checkpoint State | Action |
47
+ |------------------|--------|
48
+ | `environment_precheck.passed == true` | Skip Step 3 (Environment Pre-check) |
49
+ | `task_list_review.passed == true` | Skip task list confirmation, proceed directly to dispatch |
50
+ | `delivery_report.passed == true` | **STOP** — entire stage already completed |
51
+
52
+ 3. **If .checkpoints.json does not exist**: Proceed with full workflow (no resume)
53
+
54
+ ### Phase 0.3: Check Dispatch Resume (Module-Level Resume)
55
+
56
+ Check for existing dispatch progress to support module-level retry:
57
+
58
+ 1. **Read DISPATCH-PROGRESS.json** (if exists):
59
+ - Path: `speccrew-workspace/iterations/{current}/04.development/DISPATCH-PROGRESS.json`
60
+
61
+ 2. **Calculate task statistics**:
62
+ - Total tasks: `tasks.length`
63
+ - Completed: `tasks.filter(t => t.status == "completed").length`
64
+ - Failed: `tasks.filter(t => t.status == "failed").length`
65
+ - Pending: `tasks.filter(t => t.status == "pending").length`
66
+
67
+ 3. **Present resume summary to user**:
68
+ ```
69
+ Development Dispatch Resume Summary:
70
+ - Total Modules: {total}
71
+ - Completed: {completed}
72
+ - Failed: {failed}
73
+ - Pending: {pending}
74
+
75
+ Will skip completed modules and only dispatch pending/failed tasks.
76
+ ```
77
+
78
+ 4. **If DISPATCH-PROGRESS.json does not exist**: Will create fresh dispatch progress
79
+
80
+ ### Phase 0.4: Backward Compatibility
81
+
82
+ If WORKFLOW-PROGRESS.json does not exist:
83
+ - Proceed with original workflow logic
84
+ - Do not block execution due to missing progress files
85
+ - Log informational message: "Progress tracking not available (WORKFLOW-PROGRESS.json not found). Running in compatibility mode."
86
+
18
87
  ## Step 1: Read System Design
19
88
 
20
89
  When user requests to start development:
@@ -87,7 +156,25 @@ Verify required services are accessible:
87
156
  - Message queues (RabbitMQ, Kafka, etc.)
88
157
  - External API endpoints if critical
89
158
 
90
- ### 3.4 Pre-check Failure Handling
159
+ ### 3.4 Pre-check Success Handling
160
+
161
+ If all pre-checks pass:
162
+ 1. **Write checkpoint to .checkpoints.json**:
163
+ ```json
164
+ {
165
+ "stage": "04_development",
166
+ "checkpoints": {
167
+ "environment_precheck": {
168
+ "passed": true,
169
+ "confirmed_at": "2026-01-15T10:30:00Z",
170
+ "description": "Runtime environment verification"
171
+ }
172
+ }
173
+ }
174
+ ```
175
+ 2. Create .checkpoints.json if it doesn't exist, or update existing file
176
+
177
+ ### 3.5 Pre-check Failure Handling
91
178
 
92
179
  If any pre-check fails:
93
180
  1. Report the specific failure to user with details
@@ -97,7 +184,43 @@ If any pre-check fails:
97
184
 
98
185
  ## Step 4: Dispatch Per-Module Dev Skills
99
186
 
100
- > **IMPORTANT**: Use the **Skill tool** (not the Agent tool) to invoke each dev skill.
187
+ > **IMPORTANT**: Use the **Skill tool** to dispatch dev skills for parallel execution.
188
+
189
+ ### 4.0 Initialize DISPATCH-PROGRESS.json
190
+
191
+ Before dispatching tasks, create or read dispatch progress file:
192
+
193
+ 1. **Check if DISPATCH-PROGRESS.json exists**:
194
+ - Path: `speccrew-workspace/iterations/{current}/04.development/DISPATCH-PROGRESS.json`
195
+
196
+ 2. **If not exists — Create fresh dispatch progress**:
197
+ ```json
198
+ {
199
+ "stage": "04_development",
200
+ "total": 0,
201
+ "completed": 0,
202
+ "failed": 0,
203
+ "pending": 0,
204
+ "tasks": []
205
+ }
206
+ ```
207
+
208
+ 3. **Build task list from Step 1.3** and populate DISPATCH-PROGRESS.json:
209
+ ```json
210
+ {
211
+ "id": "dev-{platform_id}-{module-name}",
212
+ "platform": "{platform_id}",
213
+ "module": "{module_name}",
214
+ "skill": "{skill_name}",
215
+ "status": "pending",
216
+ "started_at": null,
217
+ "completed_at": null,
218
+ "output": null,
219
+ "error": null
220
+ }
221
+ ```
222
+
223
+ 4. **Update counts**: Set `total` to task list length, `pending` to same value
101
224
 
102
225
  ### 4.1 Determine Skill for Each Platform
103
226
 
@@ -138,40 +261,106 @@ for each platform_id:
138
261
  - Task 23: `speccrew-dev-mobile` for `mobile-uniapp/crm-design.md`
139
262
  - ...
140
263
 
141
- ### 4.3 Parallel Execution with Concurrency Limit
264
+ ### 4.2a Checkpoint: Task List Review
265
+
266
+ **Present task list to user for confirmation**:
267
+ - Show total task count per platform
268
+ - Show module breakdown
269
+ - Wait for user confirmation
270
+
271
+ **After user confirms**:
272
+ 1. **Write checkpoint to .checkpoints.json**:
273
+ ```json
274
+ {
275
+ "checkpoints": {
276
+ "task_list_review": {
277
+ "passed": true,
278
+ "confirmed_at": "2026-01-15T10:35:00Z",
279
+ "description": "Development task list confirmed by user"
280
+ }
281
+ }
282
+ }
283
+ ```
142
284
 
143
- **Max concurrent skill invocations: 10**
285
+ ### 4.3 Dispatch Skills with Concurrency Limit
144
286
 
145
- Process `task_list` in batches:
287
+ **Max concurrent child agents: 10**
288
+
289
+ Process `task_list` using a queue-based concurrency limit model:
146
290
 
147
291
  ```
148
292
  MAX_CONCURRENT = 10
149
- pending = [...task_list]
293
+ pending = [...task_list] // Only pending/failed tasks from DISPATCH-PROGRESS.json
294
+ running = {}
150
295
  completed = []
151
296
 
152
- while pending is not empty:
153
- batch = pending.take(min(MAX_CONCURRENT, pending.length))
154
- for each task in batch:
155
- invoke Skill tool with:
156
- - skill_name: task.skill_name
157
- - context:
158
- - platform_id: task.platform_id
159
- - iteration_path: task.iteration_path
160
- - design_doc_path: task.module_design_path (single module design doc)
161
- - api_contract_path: task.api_contract_path
162
- - techs_knowledge_paths: task.techs_knowledge_paths
163
- wait for all batch skills to complete
164
- move completed tasks to completed[]
297
+ while pending is not empty or running is not empty:
298
+ while pending is not empty and running.size < MAX_CONCURRENT:
299
+ task = pending.pop()
300
+
301
+ // Update task status to "in_progress"
302
+ Update DISPATCH-PROGRESS.json:
303
+ - Set task.status = "in_progress"
304
+ - Set task.started_at = current timestamp
305
+
306
+ // Use Skill tool (not Agent tool)
307
+ skill_result = invoke Skill tool with:
308
+ - skill: {task.skill_name}
309
+ - args: |
310
+ platform_id: {task.platform_id}
311
+ iteration_path: {task.iteration_path}
312
+ design_doc_path: {task.module_design_path}
313
+ api_contract_path: {task.api_contract_path}
314
+ techs_knowledge_paths: {task.techs_knowledge_paths}
315
+ task_id: {task.id} // Pass task ID for completion report
316
+
317
+ running.add({task_id: task.id, skill_handle: skill_result})
318
+
319
+ wait until at least one skill in running completes
320
+
321
+ // Process completed skill result
322
+ for each finished skill in running:
323
+ Parse Task Completion Report from skill output
324
+
325
+ if report.status == "SUCCESS":
326
+ Update DISPATCH-PROGRESS.json:
327
+ - Set task.status = "completed"
328
+ - Set task.completed_at = current timestamp
329
+ - Set task.output = report.output_files
330
+ - Increment completed count, decrement pending count
331
+ else:
332
+ Update DISPATCH-PROGRESS.json:
333
+ - Set task.status = "failed"
334
+ - Set task.completed_at = current timestamp
335
+ - Set task.error = report.error
336
+ - Increment failed count, decrement pending count
337
+
338
+ move finished task from running to completed
165
339
  ```
166
340
 
167
341
  **Dispatch rules:**
168
342
  - Each skill invocation handles **one module** on **one platform** (not all modules)
169
- - Pass `design_doc_path` (singular) pointing to ONE module design document
170
- - Up to 10 skills execute simultaneously per batch
171
- - Wait for current batch to complete before starting next batch
172
- - Track all dispatched skills: completed / failed / blocked
343
+ - Pass complete context including `design_doc_path`, `skill_name`, platform info, and `task_id`
344
+ - Up to 10 skills execute simultaneously (concurrency limit)
345
+ - Update DISPATCH-PROGRESS.json **before** dispatch (status "in_progress")
346
+ - Update DISPATCH-PROGRESS.json **after** completion based on Task Completion Report
347
+ - Track all dispatched tasks: completed / failed / pending counts
173
348
  - If a skill fails, log the failure and continue with remaining tasks
174
- - Wait for all batches to complete before proceeding to Step 5 (Integration Check)
349
+ - Wait for all skills to complete before proceeding to Step 5 (Integration Check)
350
+
351
+ **Progress Update After Each Batch:**
352
+ After processing a batch of completed skills:
353
+ 1. Read current DISPATCH-PROGRESS.json
354
+ 2. Update counts: `completed`, `failed`, `pending`
355
+ 3. Write updated DISPATCH-PROGRESS.json
356
+ 4. Present progress summary to user:
357
+ ```
358
+ Development Progress Update:
359
+ - Completed: {completed}/{total}
360
+ - Failed: {failed}
361
+ - Pending: {pending}
362
+ - In Progress: {running.size}
363
+ ```
175
364
 
176
365
  ## Step 5: Integration Check
177
366
 
@@ -208,35 +397,118 @@ Document and report any integration issues found:
208
397
 
209
398
  ## Step 6: Delivery Report
210
399
 
211
- Present comprehensive report to user:
400
+ Present comprehensive report based on DISPATCH-PROGRESS.json:
401
+
402
+ ### 6.1 Read Final Dispatch Progress
403
+
404
+ 1. **Read DISPATCH-PROGRESS.json**:
405
+ - Path: `speccrew-workspace/iterations/{current}/04.development/DISPATCH-PROGRESS.json`
406
+
407
+ 2. **Calculate final statistics**:
408
+ - Total: `tasks.length`
409
+ - Completed: `tasks.filter(t => t.status == "completed").length`
410
+ - Failed: `tasks.filter(t => t.status == "failed").length`
411
+ - Skipped: `tasks.filter(t => t.status == "skipped").length` (if any)
412
+
413
+ ### 6.2 Per-Platform Summary
414
+
415
+ For each platform, group tasks and summarize:
416
+ ```
417
+ Platform: {platform_id}
418
+ ├── Completed: {count}
419
+ ├── Failed: {count}
420
+ └── Output Location: 04.development/{platform_id}/
421
+ ```
212
422
 
213
- ### 6.1 Per-Platform Summary
423
+ ### 6.3 Failed Tasks Report
214
424
 
215
- For each platform:
216
- - Tasks completed
217
- - Tasks deviated (with reasons)
218
- - Tasks blocked (with blockers)
219
- - Files created/modified
425
+ If any tasks failed, list detailed information:
220
426
 
221
- ### 6.2 Overall Statistics
427
+ ```
428
+ Failed Tasks:
429
+ ├── Task: {task.id}
430
+ │ ├── Platform: {task.platform}
431
+ │ ├── Module: {task.module}
432
+ │ ├── Error: {task.error.description}
433
+ │ ├── Error Category: {task.error.category}
434
+ │ └── Recovery Hint: {task.error.recovery_hint}
435
+ └── ...
436
+ ```
222
437
 
223
- - Total tasks: completed / deviated / blocked
224
- - Cross-platform integration status
225
- - Any outstanding issues
438
+ **Error Categories**:
439
+ - `DEPENDENCY_MISSING`: Required dependency not available
440
+ - `BUILD_FAILURE`: Compilation or build error
441
+ - `VALIDATION_ERROR`: Code validation failed
442
+ - `RUNTIME_ERROR`: Runtime exception
443
+ - `BLOCKED`: Blocked by external factor
226
444
 
227
- ### 6.3 Tech Debt Items
445
+ ### 6.4 Overall Statistics
446
+
447
+ ```
448
+ Development Stage Summary:
449
+ ├── Total Modules: {total}
450
+ ├── Completed: {completed} ({percentage}%)
451
+ ├── Failed: {failed}
452
+ ├── Skipped: {skipped}
453
+ ├── Cross-platform Integration: {status}
454
+ └── Overall Status: {READY | CONDITIONAL | NOT READY}
455
+ ```
456
+
457
+ ### 6.5 Tech Debt Items
228
458
 
229
459
  List tech debt recorded:
230
460
  - Path: `iterations/{iter}/tech-debt/`
231
461
  - Each item with: description, reason, suggested resolution
232
462
 
233
- ### 6.4 Next Phase Readiness
463
+ ### 6.6 Next Phase Readiness
234
464
 
235
465
  Assess readiness for test phase:
236
466
  - ✅ Ready: All tasks complete, integration verified
237
467
  - ⚠️ Conditional: Minor issues to resolve before testing
238
468
  - ❌ Not ready: Blockers must be resolved first
239
469
 
470
+ ### 6.7 User Confirmation and Checkpoint Update
471
+
472
+ **Present delivery report to user and request confirmation.**
473
+
474
+ **After user confirms delivery**:
475
+
476
+ 1. **Update .checkpoints.json**:
477
+ ```json
478
+ {
479
+ "checkpoints": {
480
+ "delivery_report": {
481
+ "passed": true,
482
+ "confirmed_at": "2026-01-15T14:00:00Z",
483
+ "description": "Final delivery report"
484
+ }
485
+ }
486
+ }
487
+ ```
488
+
489
+ 2. **Update WORKFLOW-PROGRESS.json**:
490
+ ```json
491
+ {
492
+ "current_stage": "05_system_test",
493
+ "stages": {
494
+ "04_development": {
495
+ "status": "confirmed",
496
+ "started_at": "...",
497
+ "completed_at": "2026-01-15T14:00:00Z",
498
+ "confirmed_at": "2026-01-15T14:00:00Z",
499
+ "outputs": [
500
+ "04.development/{platform_id}/{module}/"
501
+ ]
502
+ },
503
+ "05_system_test": {
504
+ "status": "pending"
505
+ }
506
+ }
507
+ }
508
+ ```
509
+
510
+ 3. **Confirm stage transition**: Report to user that development stage is complete and system is ready for testing phase.
511
+
240
512
  # Pipeline Position
241
513
 
242
514
  **Upstream**: System Designer (receives `03.system-design/` output)
@@ -61,6 +61,49 @@ Report to the calling Agent:
61
61
  - Output results or file paths
62
62
  - Issues encountered (if any)
63
63
 
64
+ ### 5. Completion Report
65
+
66
+ **MUST** output a structured completion report after finishing each assigned task. This report enables the calling Agent (e.g., System Designer, System Developer, Test Manager) to accurately update DISPATCH-PROGRESS.json.
67
+
68
+ #### Success Report Format
69
+
70
+ When the task completes successfully, output:
71
+
72
+ ```markdown
73
+ ## Task Completion Report
74
+ - **Status**: SUCCESS
75
+ - **Task ID**: <task_id from dispatch>
76
+ - **Platform**: <platform_id>
77
+ - **Module**: <module_name> (if applicable)
78
+ - **Output Files**:
79
+ - <relative_path_to_output_file_1>
80
+ - <relative_path_to_output_file_2>
81
+ - **Summary**: <one-line description of what was done>
82
+ ```
83
+
84
+ #### Failure Report Format
85
+
86
+ When the task fails or is blocked, output:
87
+
88
+ ```markdown
89
+ ## Task Completion Report
90
+ - **Status**: FAILED
91
+ - **Task ID**: <task_id from dispatch>
92
+ - **Platform**: <platform_id>
93
+ - **Module**: <module_name> (if applicable)
94
+ - **Error**: <structured error description>
95
+ - **Error Category**: <one of: DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED>
96
+ - **Partial Outputs**: <list of any files generated before failure, or "None">
97
+ - **Recovery Hint**: <suggestion for how to fix and retry>
98
+ ```
99
+
100
+ #### Report Requirements
101
+
102
+ - MUST output a completion report after each assigned task
103
+ - If multiple subtasks are assigned, report each one independently
104
+ - The calling Agent will parse these reports to update DISPATCH-PROGRESS.json
105
+ - Ensure Task ID matches the ID received from the dispatch context
106
+
64
107
  ## Constraints
65
108
 
66
109
  **MUST DO:**
@@ -33,11 +33,8 @@ You understand the complete AI engineering closed loop: **speccrew-pm → speccr
33
33
 
34
34
  | Skill | Trigger Scenario | Function |
35
35
  |-------|------------------|----------|
36
- | `speccrew-project-diagnosis` | "diagnose project", "evaluate tech stack", "analyze project structure" | Analyze project structure, diagnose technology stack, output standardized diagnosis report |
37
- | `speccrew-create-agents` | "create Agent", "generate agents", "update agents" | Create or update tech-stack-specific Agents and project-level Skills based on diagnosis report |
38
36
  | `speccrew-create-workspace` | "create workspace", "initialize workspace", "generate workspace structure" | Create speccrew-workspace directory structure, documentation directories, knowledge bases, and deliverable templates |
39
37
  | `speccrew-skill-develop` | "create Skill", "update Skill", "add repetitive operation" | Create or update Skills based on repetitive operation patterns |
40
- | `speccrew-workflow-diagnose` | "workflow stuck", "diagnose problem", "AI engineering workflow issue" | Analyze issues in AI engineering workflow and provide solutions |
41
38
  | `speccrew-knowledge-bizs-dispatch` | "initialize bizs knowledge base", "generate business knowledge", "dispatch bizs knowledge tasks" | Dispatch **bizs** knowledge base generation with 4-stage pipeline (Feature Inventory → Feature Analysis → Module Summarize → System Summary) |
42
39
  | `speccrew-knowledge-techs-dispatch` | "initialize techs knowledge base", "generate tech knowledge", "dispatch techs knowledge tasks" | Dispatch **techs** knowledge base generation with 3-stage pipeline (Platform Detection → Tech Doc Generation → Root Index) |
43
40
 
@@ -49,30 +46,125 @@ You understand the complete AI engineering closed loop: **speccrew-pm → speccr
49
46
 
50
47
  # Workflow
51
48
 
52
- ## 1. Identify User Intent
49
+ ## Phase 0: Pipeline Progress Awareness (Auto-Orchestration)
53
50
 
54
- Match user input to corresponding Skill:
51
+ Before processing user requests, check the active iteration's workflow progress to enable context-aware scheduling and breakpoint resumption.
52
+
53
+ ### 0.1 Read WORKFLOW-PROGRESS.json
54
+
55
+ Check if `iterations/{active-iter}/WORKFLOW-PROGRESS.json` exists. If not found, proceed to Phase 1 (backward compatible).
56
+
57
+ ### 0.2 Display Pipeline Status
58
+
59
+ Parse and display the pipeline status in a visual format:
60
+
61
+ ```
62
+ Pipeline Status: {iteration}
63
+ 01 PRD: {icon} {status}
64
+ 02 Feature Design: {icon} {status} {checkpoint_info}
65
+ 03 System Design: {icon} {status} {dispatch_info}
66
+ 04 Development: {icon} {status} {dispatch_info}
67
+ 05 System Test: {icon} {status}
68
+
69
+ Legend: ✅ Confirmed 🔄 In Progress ⏳ Pending ⚠️ Failed
70
+ ```
71
+
72
+ **Status Icons:**
73
+ - `confirmed` → ✅
74
+ - `completed` → ✔️ (awaiting confirmation)
75
+ - `in_progress` → 🔄
76
+ - `pending` → ⏳
77
+ - `failed` → ⚠️
78
+
79
+ ### 0.3 Checkpoint Details for In-Progress Stages
80
+
81
+ For stages with `status: in_progress`, read `.checkpoints.json` from the stage directory:
82
+
83
+ ```
84
+ Checkpoint Progress for {stage}:
85
+ ✓ {checkpoint_name}: {description}
86
+ ⏳ {checkpoint_name}: {description}
87
+ ✗ {checkpoint_name}: {description}
88
+ ```
89
+
90
+ ### 0.4 Dispatch Progress for Parallel Stages
91
+
92
+ For stages with `DISPATCH-PROGRESS.json`, display task statistics:
93
+
94
+ ```
95
+ Dispatch Progress for {stage}:
96
+ Total: {total} | Completed: {completed} | Failed: {failed} | Pending: {pending}
97
+
98
+ Failed Tasks:
99
+ - [{platform}/{module}] {skill}: {error_summary}
100
+
101
+ Pending Tasks:
102
+ - [{platform}/{module}] {skill}
103
+ ```
104
+
105
+ ### 0.5 Auto-Orchestration Decision
106
+
107
+ **If user requests "auto" / "自动推进" / "continue" / "resume":**
108
+
109
+ 1. Identify the current active stage (first `in_progress` or earliest `pending` after confirmed stages)
110
+ 2. Determine the appropriate Skill to invoke based on stage mapping:
111
+
112
+ | Stage | Skill to Invoke | Notes |
113
+ |-------|-----------------|-------|
114
+ | 01_prd | Prompt user to talk to PM Agent | Business requirements handled by PM |
115
+ | 02_feature_design | Prompt user to talk to Feature Designer | Feature design handled by dedicated Agent |
116
+ | 03_system_design | `speccrew-system-designer` | Tech-stack specific, dynamically created |
117
+ | 04_development | `speccrew-system-developer` | Tech-stack specific, dynamically created |
118
+ | 05_system_test | `speccrew-test-manager` | Test phase management |
119
+
120
+ 3. **For in_progress stages with failed tasks**: Suggest recovery options:
121
+ - Retry failed tasks
122
+ - Skip and continue
123
+ - Diagnose issues
124
+
125
+ 4. **For confirmed stages**: Move to next pending stage automatically
126
+
127
+ **If user does NOT request auto mode:**
128
+
129
+ 1. Display current pipeline status
130
+ 2. Suggest next actions:
131
+ - "Type 'auto' to automatically proceed to next stage"
132
+ - "Specify which stage to focus on"
133
+ - "Ask for diagnosis if stage is failed"
134
+
135
+ ### 0.6 Breakpoint Resumption Logic
136
+
137
+ | Scenario | Action |
138
+ |----------|--------|
139
+ | Stage `in_progress` with checkpoints | Resume from last unconfirmed checkpoint |
140
+ | Stage `in_progress` with failed dispatch tasks | Report failed tasks, suggest retry or diagnosis |
141
+ | Stage `failed` | Suggest manual intervention |
142
+ | All stages `confirmed` | Report pipeline completion |
143
+ | No WORKFLOW-PROGRESS.json | Proceed with Phase 1 (standard intent matching) |
144
+
145
+ ---
146
+
147
+ ## Phase 1: Identify User Intent
148
+
149
+ Match user input to corresponding Skill (executed if no active pipeline or after Phase 0 completion):
55
150
 
56
- - **Project initialization related** → Invoke `speccrew-project-diagnosis`
57
- - **Agent creation/update related** → Invoke `speccrew-create-agents`
58
151
  - **Workspace structure creation related** → Invoke `speccrew-create-workspace`
59
152
  - **Skill development related** → Invoke `speccrew-skill-develop`
60
- - **Workflow diagnosis related** → Invoke `speccrew-workflow-diagnose`
61
153
  - **Bizs knowledge base related** → Invoke `speccrew-knowledge-bizs-dispatch`
62
154
  - **Techs knowledge base related** → Invoke `speccrew-knowledge-techs-dispatch`
63
155
  - **Testing phase / System test related** → Invoke `speccrew-test-manager`
64
156
 
65
- ## 2. Invoke Corresponding Skill
157
+ ## Phase 2: Invoke Corresponding Skill
66
158
 
67
159
  Find and read `{skill-name}/SKILL.md` file content in the skills directory, strictly follow steps defined in Skill to execute. If creating or improving Skill files is needed, use Write capability to write to the skills directory.
68
160
 
69
- ## 3. When Intent Cannot Be Matched
161
+ ## Phase 3: When Intent Cannot Be Matched
70
162
 
71
163
  If user intent cannot be clearly matched to any Skill:
72
164
  1. Explain available Skills and their applicable scenarios to user
73
165
  2. Ask user to clarify requirements, do not guess and execute
74
166
 
75
- ## 4. Output Execution Results
167
+ ## Phase 4: Output Execution Results
76
168
 
77
169
  Report execution results to user, and suggest next steps.
78
170
 
@@ -82,6 +174,10 @@ Report execution results to user, and suggest next steps.
82
174
  - Accurately identify user intent and invoke correct Skill
83
175
  - Check if Skill file exists before execution
84
176
  - Report results to user after execution completes
177
+ - **Read WORKFLOW-PROGRESS.json at the start of each session** to enable context-aware scheduling
178
+ - **Use Skill tool** (not Agent tool) to invoke Skills for pipeline orchestration
179
+ - Display pipeline status visually when WORKFLOW-PROGRESS.json exists
180
+ - Support both auto-orchestration mode (when user requests "auto") and manual mode
85
181
 
86
182
  **Must NOT Do:**
87
183
  - Do not directly execute specific steps in Skill (must read Skill file first)
@@ -89,4 +185,5 @@ Report execution results to user, and suggest next steps.
89
185
  - Do not mix responsibilities of multiple Skills
90
186
  - Do not trigger business process Skills (PRD, Solution, Design, Dev related), these are loaded by corresponding role Agents themselves
91
187
  - Do not handle business development requests (feature requirements, code modifications, bug fixes), should prompt user to talk directly to Qoder
188
+ - Do not delete or modify WORKFLOW-PROGRESS.json directly (read-only for status display)
92
189