speccrew 0.1.11 → 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 +163 -25
  4. package/.speccrew/agents/speccrew-system-developer.md +357 -52
  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 +285 -9
  8. package/.speccrew/skills/speccrew-dev-backend/SKILL.md +47 -1
  9. package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +51 -6
  10. package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +49 -3
  11. package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +50 -5
  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
@@ -95,50 +182,185 @@ If any pre-check fails:
95
182
  3. Wait for user to resolve before proceeding
96
183
  4. Re-run pre-check after user confirms resolution
97
184
 
98
- ## Step 4: Dispatch Per-Platform Dev Skills
185
+ ## Step 4: Dispatch Per-Module Dev Skills
186
+
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
99
224
 
100
225
  ### 4.1 Determine Skill for Each Platform
101
226
 
102
227
  Platform type mapping:
103
228
 
104
229
  | Platform prefix | Skill to invoke |
105
- |-----------------|-----------------|
230
+ |-----------------|------------------|
106
231
  | `web-*` | `speccrew-dev-frontend` |
107
232
  | `backend-*` | `speccrew-dev-backend` |
108
233
  | `mobile-*` | `speccrew-dev-mobile` |
109
234
  | `desktop-*` | `speccrew-dev-desktop` |
110
235
 
111
- ### 4.2 Dispatch Parameters
112
-
113
- For each platform, pass the following context:
114
- - `platform_id`: Platform identifier from design overview
115
- - `iteration_path`: Path to current iteration directory
116
- - `design_doc_paths`: List of module design documents for this platform
117
- - `techs_knowledge_paths`: Relevant techs knowledge file paths
118
-
119
- ### 4.3 Multi-Platform Parallel Execution
120
-
121
- When multiple platforms are identified in DESIGN-OVERVIEW.md, invoke `speccrew-task-worker` agents in parallel:
122
- - Each worker handles one platform's development end-to-end
123
- - Each worker receives:
124
- - `skill_name`: Per-platform dev skill based on platform type:
125
- - `web-*` `speccrew-dev-frontend`
126
- - `backend-*` `speccrew-dev-backend`
127
- - `mobile-*` → `speccrew-dev-mobile`
128
- - `desktop-*` → `speccrew-dev-desktop`
129
- - `context`:
130
- - `platform_id`: Platform identifier from design overview
131
- - `iteration_path`: Path to current iteration directory
132
- - `design_doc_paths`: List of module design documents for this platform (from `03.system-design/{platform_id}/`)
133
- - `api_contract_path`: Path to API Contract document
134
- - `techs_knowledge_paths`: Relevant techs knowledge file paths for this platform
135
- - Parallel execution pattern:
136
- - Worker 1: speccrew-dev-frontend for web-vue → implements frontend code
137
- - Worker 2: speccrew-dev-backend for backend-springboot → implements backend code
138
- - Worker N: platform-specific skill for {platform_id} → implements platform code
139
- - All workers execute simultaneously to maximize efficiency
140
- - Track all dispatched workers and their completion status
141
- - Wait for all workers to complete before proceeding to Step 5 (Integration Check)
236
+ ### 4.2 Build Module Task List
237
+
238
+ From Step 1.3, flatten all module design documents into a unified task list:
239
+
240
+ ```
241
+ task_list = []
242
+ for each platform_id:
243
+ read INDEX.md → get module design file list
244
+ for each module_design_doc:
245
+ task_list.append({
246
+ platform_id,
247
+ skill_name: determined by platform prefix (see 4.1),
248
+ module_design_path: 03.system-design/{platform_id}/{module}-design.md,
249
+ techs_knowledge_paths: relevant techs knowledge for this platform,
250
+ api_contract_path: API Contract path,
251
+ iteration_path: current iteration directory
252
+ })
253
+ ```
254
+
255
+ **Example** (3 platforms × ~11 modules each = ~33 tasks):
256
+ - Task 1: `speccrew-dev-backend` for `backend-spring/crm-design.md`
257
+ - Task 2: `speccrew-dev-backend` for `backend-spring/member-design.md`
258
+ - ...
259
+ - Task 12: `speccrew-dev-frontend` for `web-vue/crm-design.md`
260
+ - ...
261
+ - Task 23: `speccrew-dev-mobile` for `mobile-uniapp/crm-design.md`
262
+ - ...
263
+
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
+ ```
284
+
285
+ ### 4.3 Dispatch Skills with Concurrency Limit
286
+
287
+ **Max concurrent child agents: 10**
288
+
289
+ Process `task_list` using a queue-based concurrency limit model:
290
+
291
+ ```
292
+ MAX_CONCURRENT = 10
293
+ pending = [...task_list] // Only pending/failed tasks from DISPATCH-PROGRESS.json
294
+ running = {}
295
+ completed = []
296
+
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
339
+ ```
340
+
341
+ **Dispatch rules:**
342
+ - Each skill invocation handles **one module** on **one platform** (not all modules)
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
348
+ - If a skill fails, log the failure and continue with remaining tasks
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
+ ```
142
364
 
143
365
  ## Step 5: Integration Check
144
366
 
@@ -175,35 +397,118 @@ Document and report any integration issues found:
175
397
 
176
398
  ## Step 6: Delivery Report
177
399
 
178
- Present comprehensive report to user:
179
-
180
- ### 6.1 Per-Platform Summary
181
-
182
- For each platform:
183
- - Tasks completed
184
- - Tasks deviated (with reasons)
185
- - Tasks blocked (with blockers)
186
- - Files created/modified
187
-
188
- ### 6.2 Overall Statistics
189
-
190
- - Total tasks: completed / deviated / blocked
191
- - Cross-platform integration status
192
- - Any outstanding issues
193
-
194
- ### 6.3 Tech Debt Items
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
+ ```
422
+
423
+ ### 6.3 Failed Tasks Report
424
+
425
+ If any tasks failed, list detailed information:
426
+
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
+ ```
437
+
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
444
+
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
195
458
 
196
459
  List tech debt recorded:
197
460
  - Path: `iterations/{iter}/tech-debt/`
198
461
  - Each item with: description, reason, suggested resolution
199
462
 
200
- ### 6.4 Next Phase Readiness
463
+ ### 6.6 Next Phase Readiness
201
464
 
202
465
  Assess readiness for test phase:
203
466
  - ✅ Ready: All tasks complete, integration verified
204
467
  - ⚠️ Conditional: Minor issues to resolve before testing
205
468
  - ❌ Not ready: Blockers must be resolved first
206
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
+
207
512
  # Pipeline Position
208
513
 
209
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