speccrew 0.1.12 → 0.2.1

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 (80) 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-knowledge-bizs-api-analyze/SKILL.md +59 -29
  15. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +37 -15
  16. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +29 -4
  17. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +71 -4
  18. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +60 -30
  19. package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +65 -0
  20. package/.speccrew/skills/speccrew-sd-backend/SKILL.md +38 -0
  21. package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +38 -0
  22. package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +38 -0
  23. package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +38 -0
  24. package/.speccrew/skills/speccrew-test-case-design/SKILL.md +33 -0
  25. package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +34 -0
  26. package/.speccrew/skills/speccrew-test-execute/SKILL.md +34 -0
  27. package/README.ar.md +70 -3
  28. package/README.bn.md +52 -0
  29. package/README.bs.md +70 -3
  30. package/README.da.md +70 -3
  31. package/README.de.md +70 -3
  32. package/README.el.md +52 -0
  33. package/README.en.md +69 -2
  34. package/README.es.md +70 -3
  35. package/README.fr.md +70 -3
  36. package/README.it.md +70 -3
  37. package/README.ja.md +70 -3
  38. package/README.ko.md +70 -3
  39. package/README.md +69 -2
  40. package/README.no.md +70 -3
  41. package/README.pl.md +70 -3
  42. package/README.pt-BR.md +70 -3
  43. package/README.ru.md +70 -3
  44. package/README.th.md +69 -2
  45. package/README.tr.md +69 -2
  46. package/README.uk.md +69 -2
  47. package/README.vi.md +52 -0
  48. package/README.zh-TW.md +70 -3
  49. package/docs/GETTING-STARTED.ar.md +78 -4
  50. package/docs/GETTING-STARTED.bn.md +78 -4
  51. package/docs/GETTING-STARTED.bs.md +78 -4
  52. package/docs/GETTING-STARTED.da.md +78 -4
  53. package/docs/GETTING-STARTED.de.md +78 -4
  54. package/docs/GETTING-STARTED.el.md +78 -4
  55. package/docs/GETTING-STARTED.en.md +78 -4
  56. package/docs/GETTING-STARTED.es.md +78 -4
  57. package/docs/GETTING-STARTED.fr.md +78 -4
  58. package/docs/GETTING-STARTED.it.md +78 -4
  59. package/docs/GETTING-STARTED.ja.md +79 -5
  60. package/docs/GETTING-STARTED.ko.md +79 -5
  61. package/docs/GETTING-STARTED.md +78 -4
  62. package/docs/GETTING-STARTED.no.md +78 -4
  63. package/docs/GETTING-STARTED.pl.md +78 -4
  64. package/docs/GETTING-STARTED.pt-BR.md +78 -4
  65. package/docs/GETTING-STARTED.ru.md +78 -4
  66. package/docs/GETTING-STARTED.th.md +79 -5
  67. package/docs/GETTING-STARTED.tr.md +78 -4
  68. package/docs/GETTING-STARTED.uk.md +78 -4
  69. package/docs/GETTING-STARTED.vi.md +79 -5
  70. package/docs/GETTING-STARTED.zh-TW.md +79 -5
  71. package/package.json +1 -1
  72. package/.speccrew/skills/speccrew-create-agents/SKILL.md +0 -98
  73. package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +0 -54
  74. package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +0 -79
  75. package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +0 -80
  76. package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +0 -233
  77. package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +0 -202
  78. package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +0 -155
  79. 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
  80. package/workspace-template/docs/solutions/harness.md +0 -410
@@ -71,8 +71,8 @@ Analyze one specific UI feature from source code, extract business functionality
71
71
 
72
72
  **Generated Files (MANDATORY - Task is NOT complete until all files are written):**
73
73
  1. `{{documentPath}}` - Feature documentation file
74
- 2. `{{completed_dir}}/{{fileName}}.done.json` - Completion status marker
75
- 3. `{{completed_dir}}/{{fileName}}.graph.json` - Graph data marker
74
+ 2. `{{completed_dir}}/{module}-{subpath}-{fileName}.done.json` - Completion status marker
75
+ 3. `{{completed_dir}}/{module}-{subpath}-{fileName}.graph.json` - Graph data marker
76
76
 
77
77
  **Return Value (JSON format):**
78
78
  ```json
@@ -808,7 +808,7 @@ After analysis is complete, write the results to marker files for dispatch to pr
808
808
  > **ASSUMPTION**: The `completed_dir` directory already exists (pre-created by dispatch Stage 2). If write fails, report error — do NOT attempt to create directories.
809
809
 
810
810
  ### Pre-write Checklist (VERIFY before writing each file):
811
- - [ ] Filename follows `{fileName}` pattern (file name only)
811
+ - [ ] Filename follows `{module}-{subpath}-{fileName}` pattern (see naming convention below)
812
812
  - [ ] File content is valid JSON (not empty)
813
813
  - [ ] All required fields are present and non-empty
814
814
  - [ ] File is written with UTF-8 encoding
@@ -829,30 +829,57 @@ After analysis is complete, write the results to marker files for dispatch to pr
829
829
 
830
830
  **✅ CORRECT Format - MUST USE:**
831
831
  ```
832
- {completed_dir}/{fileName}.done.json ← Completion status marker (JSON format)
833
- {completed_dir}/{fileName}.graph.json ← Graph data marker (JSON format)
832
+ {completed_dir}/{module}-{subpath}-{fileName}.done.json ← Completion status marker (JSON format)
833
+ {completed_dir}/{module}-{subpath}-{fileName}.graph.json ← Graph data marker (JSON format)
834
834
  ```
835
835
 
836
+ **Naming Rule Explanation:**
837
+
838
+ The marker filename MUST follow the composite naming pattern `{module}-{subpath}-{fileName}` to prevent conflicts between same-named source files.
839
+
840
+ **How to Extract Each Component from `{{sourcePath}}`:**
841
+
842
+ 1. **module**: Use `{{module}}` input variable directly (e.g., `system`, `trade`, `bpm`)
843
+
844
+ 2. **subpath**: Extract the middle path between the platform source root and the file name:
845
+ - Remove the top-level directory prefix (e.g., `yudao-ui/yudao-ui-admin-vue3/src/views/`)
846
+ - Remove the file name at the end
847
+ - Replace path separators (`/`) with hyphens (`-`)
848
+ - If the file is at the module root directory, subpath will be empty → omit from filename
849
+
850
+ 3. **fileName**: Use `{{fileName}}` input variable (file name WITHOUT extension)
851
+
836
852
  **Examples:**
837
- - `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/index.done.json`
838
- - `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/index.graph.json`
853
+
854
+ | sourcePath | module | subpath | fileName | Marker Filename |
855
+ |------------|--------|---------|----------|-----------------|
856
+ | `yudao-ui/yudao-ui-admin-vue3/src/views/system/notify/message/index.vue` | `system` | `notify-message` | `index` | `system-notify-message-index.done.json` |
857
+ | `yudao-ui/yudao-ui-admin-vue3/src/views/system/user/index.vue` | `system` | `user` | `index` | `system-user-index.done.json` |
858
+ | `yudao-ui/yudao-ui-admin-vue3/src/views/bpm/process-instance/index.vue` | `bpm` | `process-instance` | `index` | `bpm-process-instance-index.done.json` |
859
+
860
+ **Special Case - Empty subpath:**
861
+ - If the file is directly in the module root directory (no subpath), use format: `{module}-{fileName}.done.json`
862
+ - Example: `yudao-ui/yudao-ui-admin-vue3/src/views/system/index.vue` → `system-index.done.json`
863
+
864
+ **Full Path Examples:**
865
+ - `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/system-notify-message-index.done.json`
866
+ - `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/system-user-index.graph.json`
839
867
 
840
868
  **❌ WRONG Format - NEVER USE:**
841
869
  ```
842
- {fileName}.completed.json ← WRONG extension
843
- {fileName}.done ← WRONG extension (missing .json)
844
- {fileName}.done.txt ← WRONG extension
845
- {fileName}_done.json ← WRONG separator and extension
846
- {fileName}-completed.json ← WRONG separator and extension
870
+ {fileName}.done.json ← WRONG: missing module and subpath (causes conflicts)
871
+ {fileName}.graph.json ← WRONG: missing module and subpath (causes conflicts)
872
+ {module}-{fileName}.done.json ← WRONG: missing subpath (may still conflict)
873
+ {fileName}.completed.json ← WRONG extension
874
+ {fileName}.done ← WRONG extension (missing .json)
875
+ {fileName}_done.json ← WRONG separator and extension
847
876
  ```
848
877
 
849
878
  **❌ WRONG Filename Examples - NEVER USE:**
879
+ - `index.done.json` - WRONG: missing module and subpath (conflicts with other `index.vue` files)
880
+ - `system-index.done.json` - WRONG: missing subpath (if file is in `system/notify/message/`)
850
881
  - `index.completed.json` - WRONG: uses `.completed.json` instead of `.done.json`
851
- - `index.done` - WRONG: uses `.done` instead of `.done.json`
852
- - `index.done.txt` - WRONG: uses `.done.txt` instead of `.done.json`
853
882
  - `index_done.json` - WRONG: uses underscore and wrong extension
854
- - `dict-index.done.json` - WRONG: has module prefix
855
- - `system-index.done.json` - WRONG: has module prefix
856
883
 
857
884
  ---
858
885
 
@@ -942,9 +969,9 @@ After analysis is complete, write the results to marker files for dispatch to pr
942
969
  > {"fileName": "index", "status": "success", ...}
943
970
  > ```
944
971
 
945
- Use the Write tool to create file at `{{completed_dir}}/{{fileName}}.done.json`:
972
+ Use the Write tool to create file at `{{completed_dir}}/{module}-{subpath}-{fileName}.done.json`:
946
973
 
947
- **Full path example:** `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/index.done.json`
974
+ **Full path example:** `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/system-notify-message-index.done.json`
948
975
 
949
976
  **Complete JSON Template (ALL fields required):**
950
977
  ```json
@@ -981,12 +1008,13 @@ After analysis is complete, write the results to marker files for dispatch to pr
981
1008
 
982
1009
  > **⚠️ CRITICAL**: The `documentPath` field is MANDATORY. It MUST match the `{{documentPath}}` variable from Step 5a. This is used to verify the document was created successfully.
983
1010
 
984
- ⚠️ **CRITICAL NAMING RULE:** Filename MUST be `{fileName}.done.json`, where `fileName` is the feature file name (e.g., `index`, `UserForm`, `AiKnowledgeDocumentCreateListReqVO`).
985
- - ✅ CORRECT: `index.done.json` (using file name directly)
986
- - ✅ CORRECT: `UserForm.done.json` (using file name directly)
1011
+ ⚠️ **CRITICAL NAMING RULE:** Filename MUST be `{module}-{subpath}-{fileName}.done.json` to prevent conflicts between same-named files.
1012
+ - ✅ CORRECT: `system-notify-message-index.done.json` (full composite naming)
1013
+ - ✅ CORRECT: `system-user-index.done.json` (full composite naming)
1014
+ - ✅ CORRECT: `bpm-index.done.json` (when subpath is empty, file at module root)
1015
+ - ❌ WRONG: `index.done.json` (missing module and subpath - will conflict)
987
1016
  - ❌ WRONG: `index.done` (missing .json extension)
988
- - ❌ WRONG: `dict-index.done.json` (using old featureId format)
989
- - ❌ WRONG: `system-index.done.json` (using module prefix)
1017
+ - ❌ WRONG: `system-index.done.json` (missing subpath when file is in nested directory)
990
1018
 
991
1019
  ⚠️ **CRITICAL:** The file MUST contain valid JSON content. Empty files or files with only whitespace will cause processing failures.
992
1020
 
@@ -994,9 +1022,9 @@ After analysis is complete, write the results to marker files for dispatch to pr
994
1022
 
995
1023
  > **⚠️ CRITICAL FORMAT REQUIREMENT**: The `.graph.json` file MUST be valid JSON and **MUST include the root-level `module` field**. Do NOT rely on scripts to infer the module from `.done` file - the `module` field MUST be explicitly present at the root level of `.graph.json`.
996
1024
 
997
- Use the Write tool to create file at `{{completed_dir}}/{{fileName}}.graph.json`:
1025
+ Use the Write tool to create file at `{{completed_dir}}/{module}-{subpath}-{fileName}.graph.json`:
998
1026
 
999
- **Full path example:** `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/index.graph.json`
1027
+ **Full path example:** `d:/dev/speccrew/speccrew-workspace/knowledges/base/sync-state/knowledge-bizs/completed/system-notify-message-index.graph.json`
1000
1028
 
1001
1029
  ```json
1002
1030
  {
@@ -1031,11 +1059,13 @@ After analysis is complete, write the results to marker files for dispatch to pr
1031
1059
  > - Do NOT assume scripts will fall back to reading from `.done` file
1032
1060
  > - Missing `module` field will cause the graph merge pipeline to reject this file
1033
1061
 
1034
- ⚠️ **CRITICAL NAMING RULE:** Filename MUST be `{fileName}.graph.json`, where `fileName` is the feature file name (e.g., `index`, `UserForm`, `AiKnowledgeDocumentCreateListReqVO`).
1035
- - ✅ CORRECT: `index.graph.json` (using file name directly)
1036
- - ✅ CORRECT: `UserForm.graph.json` (using file name directly)
1062
+ ⚠️ **CRITICAL NAMING RULE:** Filename MUST be `{module}-{subpath}-{fileName}.graph.json` to prevent conflicts between same-named files.
1063
+ - ✅ CORRECT: `system-notify-message-index.graph.json` (full composite naming)
1064
+ - ✅ CORRECT: `system-user-index.graph.json` (full composite naming)
1065
+ - ✅ CORRECT: `bpm-index.graph.json` (when subpath is empty, file at module root)
1066
+ - ❌ WRONG: `index.graph.json` (missing module and subpath - will conflict)
1037
1067
  - ❌ WRONG: `dict-index.graph.json` (using old featureId format)
1038
- - ❌ WRONG: `system-index.graph.json` (using module prefix)
1068
+ - ❌ WRONG: `system-index.graph.json` (missing subpath when file is in nested directory)
1039
1069
 
1040
1070
  ⚠️ **CRITICAL:** The file MUST contain valid JSON content. Empty files or files with only whitespace will cause processing failures.
1041
1071
 
@@ -1047,7 +1077,7 @@ After analysis is complete, write the results to marker files for dispatch to pr
1047
1077
  - [ ] Each `calls` edge has proper metadata with trigger information
1048
1078
  - [ ] No API import is left without a corresponding edge
1049
1079
 
1050
- **Output:** "Step 7 Status: ✅ COMPLETED - Marker files written ({{completed_dir}}/{{fileName}}.done, .graph.json)"
1080
+ **Output:** "Step 7 Status: ✅ COMPLETED - Marker files written ({{completed_dir}}/{module}-{subpath}-{fileName}.done.json, .graph.json)"
1051
1081
 
1052
1082
  **On Failure:** "Step 7 Status: ⚠️ PARTIAL - Marker file write failed, but analysis completed"
1053
1083
 
@@ -442,6 +442,69 @@ Please confirm the following key points:
442
442
 
443
443
  After confirmation, you can start the Solution Agent for solution planning.
444
444
 
445
+ ## Step 13: Write Progress Files
446
+
447
+ After user confirms the PRD, write progress tracking files:
448
+
449
+ ### 13a Write Checkpoint File
450
+
451
+ Write or update the checkpoint file at:
452
+ ```
453
+ speccrew-workspace/iterations/{iteration}/01.product-requirement/.checkpoints.json
454
+ ```
455
+
456
+ Content:
457
+ ```json
458
+ {
459
+ "stage": "01_prd",
460
+ "checkpoints": {
461
+ "prd_review": {
462
+ "passed": true,
463
+ "confirmed_at": "<current-ISO-timestamp>",
464
+ "description": "PRD review and confirmation"
465
+ }
466
+ }
467
+ }
468
+ ```
469
+
470
+ ### 13b Update Workflow Progress
471
+
472
+ Read and update the WORKFLOW-PROGRESS.json file:
473
+
474
+ 1. **Read**: `speccrew-workspace/iterations/{iteration}/WORKFLOW-PROGRESS.json`
475
+ 2. **Update the following fields**:
476
+ - `current_stage` = "02_feature_design"
477
+ - `01_prd.status` = "confirmed"
478
+ - `01_prd.completed_at` = `<current-ISO-timestamp>`
479
+ - `01_prd.confirmed_at` = `<current-ISO-timestamp>`
480
+ - `01_prd.outputs` = `["01.product-requirement/{feature-name}-prd.md"]`
481
+
482
+ **Example updated stage entry**:
483
+ ```json
484
+ {
485
+ "01_prd": {
486
+ "status": "confirmed",
487
+ "started_at": "2026-04-08T10:00:00Z",
488
+ "completed_at": "2026-04-08T11:30:00Z",
489
+ "confirmed_at": "2026-04-08T11:35:00Z",
490
+ "outputs": [
491
+ "01.product-requirement/user-management-prd.md"
492
+ ]
493
+ }
494
+ }
495
+ ```
496
+
497
+ ### 13c Handle Missing Progress File
498
+
499
+ If WORKFLOW-PROGRESS.json does not exist (backward compatibility):
500
+ - Create the file with initial structure
501
+ - Set `01_prd` to confirmed state directly
502
+ - Other stages remain as `pending`
503
+
504
+ **Status Flow**: `pending` → `in_progress` → `completed` → `confirmed`
505
+
506
+ ---
507
+
445
508
  # Knowledge Loading Strategy
446
509
 
447
510
  1. **First**: Read `system-overview.md` for system context
@@ -473,3 +536,5 @@ After confirmation, you can start the Solution Agent for solution planning.
473
536
  - [ ] **[If modifying existing features]** All changes marked with [EXISTING]/[MODIFIED]/[NEW]
474
537
  - [ ] Files written to correct paths
475
538
  - [ ] Summary shown to user and confirmation requested
539
+ - [ ] **[After confirmation]** Checkpoint file written to `01.product-requirement/.checkpoints.json`
540
+ - [ ] **[After confirmation]** WORKFLOW-PROGRESS.json updated with confirmed status and outputs
@@ -191,6 +191,44 @@ Files Generated:
191
191
  - {list all file paths}
192
192
  ```
193
193
 
194
+ ## Step 7: Task Completion Report
195
+
196
+ After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
197
+
198
+ ### On Success
199
+
200
+ ```
201
+ ## Task Completion Report
202
+ - **Status**: SUCCESS
203
+ - **Task ID**: {task_id from context}
204
+ - **Platform**: {platform_id}
205
+ - **Feature**: {feature_name}
206
+ - **Output Files**:
207
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/INDEX.md
208
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module1}-design.md
209
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module2}-design.md
210
+ - **Summary**: Backend system design completed for {feature_name} on {platform_id} with {count} module designs
211
+ ```
212
+
213
+ ### On Failure
214
+
215
+ ```
216
+ ## Task Completion Report
217
+ - **Status**: FAILED
218
+ - **Task ID**: {task_id from context}
219
+ - **Platform**: {platform_id}
220
+ - **Feature**: {feature_name}
221
+ - **Output Files**: []
222
+ - **Error**: {description of what went wrong}
223
+ - **Error Category**: DEPENDENCY_MISSING | VALIDATION_ERROR | BLOCKED
224
+ - **Recovery Hint**: {suggestion for how to resolve or retry}
225
+ ```
226
+
227
+ **Error Categories:**
228
+ - `DEPENDENCY_MISSING`: Required input file or knowledge document not found
229
+ - `VALIDATION_ERROR`: Input validation failed (e.g., invalid Feature Spec format)
230
+ - `BLOCKED`: Blocked by external dependency or prerequisite not met
231
+
194
232
  # Key Rules
195
233
 
196
234
  | Rule | Description |
@@ -208,6 +208,44 @@ Concerns/Trade-offs:
208
208
  4. Are all API calls from API Contract covered?
209
209
  5. Is the native integration approach suitable?
210
210
 
211
+ ## Step 7: Task Completion Report
212
+
213
+ After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
214
+
215
+ ### On Success
216
+
217
+ ```
218
+ ## Task Completion Report
219
+ - **Status**: SUCCESS
220
+ - **Task ID**: {task_id from context}
221
+ - **Platform**: {platform_id}
222
+ - **Feature**: {feature_name}
223
+ - **Output Files**:
224
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/INDEX.md
225
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module1}-design.md
226
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module2}-design.md
227
+ - **Summary**: Desktop system design completed for {feature_name} on {platform_id} with {count} module designs
228
+ ```
229
+
230
+ ### On Failure
231
+
232
+ ```
233
+ ## Task Completion Report
234
+ - **Status**: FAILED
235
+ - **Task ID**: {task_id from context}
236
+ - **Platform**: {platform_id}
237
+ - **Feature**: {feature_name}
238
+ - **Output Files**: []
239
+ - **Error**: {description of what went wrong}
240
+ - **Error Category**: DEPENDENCY_MISSING | VALIDATION_ERROR | BLOCKED
241
+ - **Recovery Hint**: {suggestion for how to resolve or retry}
242
+ ```
243
+
244
+ **Error Categories:**
245
+ - `DEPENDENCY_MISSING`: Required input file or knowledge document not found
246
+ - `VALIDATION_ERROR`: Input validation failed (e.g., invalid Feature Spec format)
247
+ - `BLOCKED`: Blocked by external dependency or prerequisite not met
248
+
211
249
  # Key Rules
212
250
 
213
251
  | Rule | Description |
@@ -196,6 +196,44 @@ Concerns/Trade-offs:
196
196
  3. Do the pseudo-code patterns match project conventions?
197
197
  4. Are all API calls from API Contract covered?
198
198
 
199
+ ## Step 7: Task Completion Report
200
+
201
+ After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
202
+
203
+ ### On Success
204
+
205
+ ```
206
+ ## Task Completion Report
207
+ - **Status**: SUCCESS
208
+ - **Task ID**: {task_id from context}
209
+ - **Platform**: {platform_id}
210
+ - **Feature**: {feature_name}
211
+ - **Output Files**:
212
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/INDEX.md
213
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module1}-design.md
214
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module2}-design.md
215
+ - **Summary**: Frontend system design completed for {feature_name} on {platform_id} with {count} module designs
216
+ ```
217
+
218
+ ### On Failure
219
+
220
+ ```
221
+ ## Task Completion Report
222
+ - **Status**: FAILED
223
+ - **Task ID**: {task_id from context}
224
+ - **Platform**: {platform_id}
225
+ - **Feature**: {feature_name}
226
+ - **Output Files**: []
227
+ - **Error**: {description of what went wrong}
228
+ - **Error Category**: DEPENDENCY_MISSING | VALIDATION_ERROR | BLOCKED
229
+ - **Recovery Hint**: {suggestion for how to resolve or retry}
230
+ ```
231
+
232
+ **Error Categories:**
233
+ - `DEPENDENCY_MISSING`: Required input file or knowledge document not found
234
+ - `VALIDATION_ERROR`: Input validation failed (e.g., invalid Feature Spec format)
235
+ - `BLOCKED`: Blocked by external dependency or prerequisite not met
236
+
199
237
  # Key Rules
200
238
 
201
239
  | Rule | Description |
@@ -204,6 +204,44 @@ Concerns/Trade-offs:
204
204
  4. Are all API calls from API Contract covered?
205
205
  5. Are platform-specific features (permissions, native integration) properly handled?
206
206
 
207
+ ## Step 7: Task Completion Report
208
+
209
+ After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
210
+
211
+ ### On Success
212
+
213
+ ```
214
+ ## Task Completion Report
215
+ - **Status**: SUCCESS
216
+ - **Task ID**: {task_id from context}
217
+ - **Platform**: {platform_id}
218
+ - **Feature**: {feature_name}
219
+ - **Output Files**:
220
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/INDEX.md
221
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module1}-design.md
222
+ - speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module2}-design.md
223
+ - **Summary**: Mobile system design completed for {feature_name} on {platform_id} with {count} module designs
224
+ ```
225
+
226
+ ### On Failure
227
+
228
+ ```
229
+ ## Task Completion Report
230
+ - **Status**: FAILED
231
+ - **Task ID**: {task_id from context}
232
+ - **Platform**: {platform_id}
233
+ - **Feature**: {feature_name}
234
+ - **Output Files**: []
235
+ - **Error**: {description of what went wrong}
236
+ - **Error Category**: DEPENDENCY_MISSING | VALIDATION_ERROR | BLOCKED
237
+ - **Recovery Hint**: {suggestion for how to resolve or retry}
238
+ ```
239
+
240
+ **Error Categories:**
241
+ - `DEPENDENCY_MISSING`: Required input file or knowledge document not found
242
+ - `VALIDATION_ERROR`: Input validation failed (e.g., invalid Feature Spec format)
243
+ - `BLOCKED`: Blocked by external dependency or prerequisite not met
244
+
207
245
  # Key Rules
208
246
 
209
247
  | Rule | Description |
@@ -302,3 +302,36 @@ Fill each section with test case data using `search_replace`.
302
302
  - [ ] Preconditions are clearly stated for each test case
303
303
  - [ ] Steps are detailed enough for execution without ambiguity
304
304
  - [ ] Document written to correct output path
305
+
306
+ ---
307
+
308
+ # Task Completion Report
309
+
310
+ Upon completion (success or failure), output the following report format:
311
+
312
+ ## Success Report
313
+ ```
314
+ ## Task Completion Report
315
+ - **Status**: SUCCESS
316
+ - **Task ID**: <from dispatch context, e.g., "test-case-web-vue">
317
+ - **Platform**: <platform_id, e.g., "web-vue">
318
+ - **Phase**: test_case_design
319
+ - **Output Files**:
320
+ - `speccrew-workspace/iterations/{iteration}/05.system-test/cases/{platform_id}/[feature]-test-cases.md`
321
+ - **Summary**: Test case design completed with {count} test cases covering {dimensions} dimensions
322
+ ```
323
+
324
+ ## Failure Report
325
+ ```
326
+ ## Task Completion Report
327
+ - **Status**: FAILED
328
+ - **Task ID**: <from dispatch context>
329
+ - **Platform**: <platform_id>
330
+ - **Phase**: test_case_design
331
+ - **Output Files**: None
332
+ - **Summary**: Test case design failed during {step}
333
+ - **Error**: <detailed error description>
334
+ - **Error Category**: DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED
335
+ - **Partial Outputs**: <list of partially generated files or "None">
336
+ - **Recovery Hint**: <suggestion for recovery, e.g., "Check feature spec document exists at specified path">
337
+ ```
@@ -344,3 +344,37 @@ Fill each section with code plan data from Step 4.
344
344
  - [ ] Shared fixtures and helpers are extracted properly
345
345
  - [ ] Arrange-Act-Assert structure maintained in tests
346
346
  - [ ] Code plan document written to correct path
347
+
348
+ ---
349
+
350
+ # Task Completion Report
351
+
352
+ Upon completion (success or failure), output the following report format:
353
+
354
+ ## Success Report
355
+ ```
356
+ ## Task Completion Report
357
+ - **Status**: SUCCESS
358
+ - **Task ID**: <from dispatch context, e.g., "test-code-web-vue">
359
+ - **Platform**: <platform_id, e.g., "web-vue">
360
+ - **Phase**: test_code_gen
361
+ - **Output Files**:
362
+ - `speccrew-workspace/iterations/{iteration}/05.system-test/code/{platform_id}/[feature]-test-code-plan.md`
363
+ - <list of generated test source files>
364
+ - **Summary**: Test code generation completed with {file_count} files covering {case_count} test cases
365
+ ```
366
+
367
+ ## Failure Report
368
+ ```
369
+ ## Task Completion Report
370
+ - **Status**: FAILED
371
+ - **Task ID**: <from dispatch context>
372
+ - **Platform**: <platform_id>
373
+ - **Phase**: test_code_gen
374
+ - **Output Files**: <list of partial outputs or "None">
375
+ - **Summary**: Test code generation failed during {step}
376
+ - **Error**: <detailed error description>
377
+ - **Error Category**: DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED
378
+ - **Partial Outputs**: <list of partially generated files or "None">
379
+ - **Recovery Hint**: <suggestion for recovery, e.g., "Verify test case document format is valid">
380
+ ```
@@ -291,3 +291,37 @@ Each bug report must include:
291
291
  - [ ] Bug severity is classified (Critical/High/Medium/Low)
292
292
  - [ ] All bug reports written to correct output path
293
293
  - [ ] Test report written to correct output path
294
+
295
+ ---
296
+
297
+ # Task Completion Report
298
+
299
+ Upon completion (success or failure), output the following report format:
300
+
301
+ ## Success Report
302
+ ```
303
+ ## Task Completion Report
304
+ - **Status**: SUCCESS
305
+ - **Task ID**: <from dispatch context, e.g., "test-exec-web-vue">
306
+ - **Platform**: <platform_id, e.g., "web-vue">
307
+ - **Phase**: test_execution
308
+ - **Output Files**:
309
+ - `speccrew-workspace/iterations/{iteration}/05.system-test/reports/[feature]-test-report.md`
310
+ - `speccrew-workspace/iterations/{iteration}/05.system-test/bugs/[feature]-bug-{seq}.md` (if any failures)
311
+ - **Summary**: Test execution completed with {passed}/{total} passed, {failed} failed, {skipped} skipped
312
+ ```
313
+
314
+ ## Failure Report
315
+ ```
316
+ ## Task Completion Report
317
+ - **Status**: FAILED
318
+ - **Task ID**: <from dispatch context>
319
+ - **Platform**: <platform_id>
320
+ - **Phase**: test_execution
321
+ - **Output Files**: <list of partial outputs or "None">
322
+ - **Summary**: Test execution failed during {step}
323
+ - **Error**: <detailed error description>
324
+ - **Error Category**: DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED
325
+ - **Partial Outputs**: <list of partially generated files or "None">
326
+ - **Recovery Hint**: <suggestion for recovery, e.g., "Check test dependencies are installed and test configuration is valid">
327
+ ```
package/README.ar.md CHANGED
@@ -41,6 +41,58 @@ SpecCrew هو إطار عمل مدمج لفريق تطوير افتراضي با
41
41
 
42
42
  ---
43
43
 
44
+ ## ✨ الميزات الرئيسية
45
+
46
+ ### 🏭 فريق البرمجيات الافتراضي
47
+ توليد بنقرة واحدة **7 أدوار وكيل احترافية** + **30+ سير عمل للمهارات**، بناء فريق برمجيات افتراضي كامل:
48
+ - **Team Leader** - الجدولة العالمية وإدارة التكرارات
49
+ - **Product Manager** - تحليل المتطلبات وإخراج PRD
50
+ - **Feature Designer** - تصميم الميزات + عقود API
51
+ - **System Designer** - تصميم الأنظمة Frontend/Backend/Mobile/Desktop
52
+ - **System Developer** - التطوير المتوازي متعدد المنصات
53
+ - **Test Manager** - تنسيق الاختبار في ثلاث مراحل
54
+ - **Task Worker** - تنفيذ المهام الفرعية المتوازية
55
+
56
+ ### 📐 نمذجة ISA-95 ذات المراحل الست
57
+ استنادًا إلى منهجية النمذجة الدولية **ISA-95**، توحيد تحويل متطلبات الأعمال إلى أنظمة البرمجيات:
58
+ ```
59
+ Domain Descriptions → Functions in Domains → Functions of Interest
60
+ ↓ ↓ ↓
61
+ Information Flows → Categories of Information → Information Descriptions
62
+ ```
63
+ - كل مرحلة تتوافق مع مخططات UML محددة (حالات الاستخدام، التسلسل، الفئات)
64
+ - متطلبات الأعمال "تُصقل خطوة بخطوة"، بدون فقدان المعلومات
65
+ - المخرجات قابلة للاستخدام مباشرة في التطوير
66
+
67
+ ### 📚 نظام قاعدة المعرفة
68
+ بنية قاعدة معرفية من ثلاثة مستويات تضمن عمل الذكاء الاصطناعي دائمًا استنادًا إلى "مصدر الحقيقة الوحيد":
69
+
70
+ | المستوى | الدليل | المحتوى | الغرض |
71
+ |---------|--------|---------|--------|
72
+ | L1 معرفة النظام | `knowledge/techs/` | مجموعة التقنيات، البنية، الاتفاقيات | الذكاء الاصطناعي يفهم الحدود التقنية للمشروع |
73
+ | L2 معرفة الأعمال | `knowledge/bizs/` | وظائف الوحدات، تدفقات الأعمال، الكيانات | الذكاء الاصطناعي يفهم منطق الأعمال |
74
+ | L3 منتجات التكرار | `iterations/iXXX/` | PRD، وثائق التصميم، تقارير الاختبار | سلسلة التتبع الكاملة للمتطلبات الحالية |
75
+
76
+ ### 🔄 خط أنابيب المعرفة ذي الأربع مراحل
77
+ **بنية توليد المعرفة الآلية**، توليد تلقائي لوثائق الأعمال/التقنية من الكود المصدري:
78
+ ```
79
+ المرحلة 1: مسح الكود المصدري → توليد قائمة الوحدات
80
+ المرحلة 2: التحليل المتوازي → استخراج الميزات (عاملين متعددين متوازيًا)
81
+ المرحلة 3: التلخيص المتوازي → إكمال نظرة عامة على الوحدات (عاملين متعددين متوازيًا)
82
+ المرحلة 4: تجميع النظام → توليد بانوراما النظام
83
+ ```
84
+ - يدعم **المزامنة الكاملة** و**المزامنة التزايدي** (استنادًا إلى Git diff)
85
+ - شخص واحد يحسن، الفريق يشارك
86
+
87
+ ### 🔧 Harness إطار التنفيذ العملي
88
+ **إطار تنفيذ موحد**، يضمن تحويل مستندات التصميم بدقة إلى تعليمات تطوير قابلة للتنفيذ:
89
+ - **مبدأ دليل العمليات**: Skill هو SOP، خطوات واضحة ومتتالية ومكتملة ذاتياً
90
+ - **عقد المدخلات والمخرجات**: تعريف واضح للواجهات، تنفيذ صارم مثل الكود الزائف
91
+ - **بنية الإفصاح التدريجي**: تحميل الطبقات للمعلومات، تجنب التحميل الزائد للسياق
92
+ - **تفويض الوكلاء الفرعيين**: المهام المعقدة تُقسم تلقائياً، التنفيذ المتوازي يضمن الجودة
93
+
94
+ ---
95
+
44
96
  ## 8 مشاكل أساسية تم حلها
45
97
 
46
98
  ### 1. الذكاء الاصطناعي يتجاهل توثيق المشروع الحالي (فجوة المعرفة)
@@ -189,7 +241,7 @@ speccrew init --ide claude
189
241
 
190
242
  بعد التهيئة، سيتم إنشاء ما يلي في مشروعك:
191
243
  - `.qoder/agents/` / `.cursor/agents/` / `.claude/agents/` — 7 تعريفات أدوار Agent
192
- - `.qoder/skills/` / `.cursor/skills/` / `.claude/skills/` — 38 سير عمل Skill
244
+ - `.qoder/skills/` / `.cursor/skills/` / `.claude/skills/` — 30+ سير عمل Skill
193
245
  - `speccrew-workspace/` — مساحة العمل (أدلة التكرار، قاعدة المعرفة، قوالب المستندات)
194
246
  - `.speccrewrc` — ملف تكوين SpecCrew
195
247
 
@@ -213,7 +265,22 @@ speccrew update --ide claude
213
265
 
214
266
  > تتطلب مخرجات كل مرحلة تأكيداً بشرياً قبل الانتقال إلى المرحلة التالية.
215
267
 
216
- ### 4. أوامر CLI الأخرى
268
+ ### 4. تحديث SpecCrew
269
+
270
+ عندما يتم إصدار نسخة جديدة من SpecCrew، يتطلب الأمر خطوتين لإكمال التحديث:
271
+
272
+ ```bash
273
+ # Step 1: 更新全局 CLI 工具到最新版本
274
+ npm install -g speccrew@latest
275
+
276
+ # Step 2: 同步项目中的 Agents 和 Skills 到最新版本
277
+ cd /path/to/your-project
278
+ speccrew update
279
+ ```
280
+
281
+ > **ملاحظة**: يقوم الأمر `npm install -g speccrew@latest` بتحديث أداة CLI نفسها، بينما يقوم الأمر `speccrew update` بتحديث ملفات تعريف Agent و Skill في المشروع. يجب تنفيذ الخطوتين لإكمال التحديث الكامل.
282
+
283
+ ### 5. أوامر CLI الأخرى
217
284
 
218
285
  ```bash
219
286
  speccrew list # عرض قائمة agents و skills المثبتة
@@ -239,7 +306,7 @@ your-project/
239
306
  │ │ ├── speccrew-system-developer.md # مطور النظام: التطوير المتوازي حسب المنصة
240
307
  │ │ ├── speccrew-test-manager.md # مدير الاختبار: تنسيق الاختبار ثلاثي المراحل
241
308
  │ │ └── speccrew-task-worker.md # عامل المهام: تنفيذ المهام الفرعية المتوازية
242
- │ └── skills/ # 38 مهارة (مجمعة حسب الوظيفة)
309
+ │ └── skills/ # 30+ مهارة (مجمعة حسب الوظيفة)
243
310
  │ ├── speccrew-pm-*/ # إدارة المنتج (تحليل المتطلبات، التقييم)
244
311
  │ ├── speccrew-fd-*/ # تصميم الميزات (Feature Design، عقد API)
245
312
  │ ├── speccrew-sd-*/ # تصميم النظام (واجهة/خلفية/محمول/سطح مكتب)