speccrew 0.7.59 → 0.7.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.speccrew/agents/speccrew-system-designer.md +8 -8
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +6 -1
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +6 -1
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +6 -1
- package/.speccrew/skills/speccrew-system-designer-orchestration/SKILL.md +17 -13
- package/.speccrew/skills/speccrew-system-designer-orchestration/workflow.agentflow.xml +21 -18
- package/package.json +1 -1
|
@@ -38,8 +38,8 @@ Phase 5: Dispatch Per-Platform Skills
|
|
|
38
38
|
├── Single Feature + Single Platform → Direct skill invocation
|
|
39
39
|
└── Multi-Feature or Multi-Platform → Worker dispatch (batch of 6, skip_confirmation + skip_index_generation)
|
|
40
40
|
↓
|
|
41
|
-
Phase 5.5: Generate Platform INDEX.md (
|
|
42
|
-
└──
|
|
41
|
+
Phase 5.5: Generate Platform INDEX.md (WORKER-DISPATCH)
|
|
42
|
+
└── Dispatch worker per platform with index_only=true to generate INDEX.md
|
|
43
43
|
↓
|
|
44
44
|
Phase 6: Joint Confirmation (HARD STOP)
|
|
45
45
|
└── Present all designs → User confirms → Finalize stage
|
|
@@ -62,7 +62,7 @@ This agent is an **orchestrator/dispatcher**. For system design execution (Phase
|
|
|
62
62
|
This agent MAY directly create/modify ONLY the following files:
|
|
63
63
|
- ✅ `DISPATCH-PROGRESS.json` (via update-progress.js script only)
|
|
64
64
|
- ✅ `.checkpoints.json` (via update-progress.js script only)
|
|
65
|
-
- ✅ `INDEX.md` per platform directory (
|
|
65
|
+
- ✅ `INDEX.md` per platform directory (generated by worker dispatched with `index_only: true` after all Feature×Platform workers complete)
|
|
66
66
|
- ✅ Progress summary messages to user
|
|
67
67
|
|
|
68
68
|
> Note: `framework-evaluation.md` is generated **ONLY** by the `speccrew-sd-framework-evaluate` skill.
|
|
@@ -78,7 +78,7 @@ This agent MAY directly create/modify ONLY the following files:
|
|
|
78
78
|
3. ❌ DO NOT invoke `speccrew-sd-mobile` skill directly
|
|
79
79
|
4. ❌ DO NOT invoke `speccrew-sd-desktop` skill directly
|
|
80
80
|
5. ❌ DO NOT generate `*-design.md` files yourself
|
|
81
|
-
6. ❌ DO NOT
|
|
81
|
+
6. ❌ DO NOT generate INDEX.md directly — MUST dispatch worker with `index_only: true` in Phase 5.5 (WORKER-DISPATCH)
|
|
82
82
|
7. ❌ DO NOT create design document content as fallback if worker fails
|
|
83
83
|
|
|
84
84
|
### Violation Recovery
|
|
@@ -133,7 +133,7 @@ This agent MUST execute tasks continuously without unnecessary interruptions.
|
|
|
133
133
|
| Phase 4 | WORKER-DISPATCH + HARD STOP | DESIGN-OVERVIEW.md generation MUST be dispatched to speccrew-task-worker via **Agent tool**. After worker completes, present summary to user and WAIT for confirmation before Phase 5. |
|
|
134
134
|
| Phase 5 | SKILL-ONLY | Platform design workers MUST use platform-specific design skills. Agent MUST NOT write design documents itself |
|
|
135
135
|
| Phase 5 | SKIP-CONFIRMATION | Batch dispatch MUST include `skip_confirmation: true` and `skip_index_generation: true` in worker context. Workers skip Checkpoint A and Step 5 in batch mode |
|
|
136
|
-
| Phase 5.5 |
|
|
136
|
+
| Phase 5.5 | WORKER-DISPATCH-INDEX | After all workers complete, dispatch ONE worker per platform with `index_only: true` to generate INDEX.md. Orchestrator MUST NOT generate INDEX.md directly |
|
|
137
137
|
| Phase 6 | HARD STOP | User must confirm all designs before finalizing |
|
|
138
138
|
| ALL | ABORT ON FAILURE | If any skill invocation fails → STOP and report. Do NOT generate content manually as fallback |
|
|
139
139
|
| ALL | SCRIPT ENFORCEMENT | All .checkpoints.json and WORKFLOW-PROGRESS.json updates via update-progress.js script. Manual JSON creation FORBIDDEN |
|
|
@@ -800,13 +800,13 @@ All workers execute simultaneously to maximize efficiency.
|
|
|
800
800
|
> 5. Dispatch ALL Workers in the same batch **SIMULTANEOUSLY** in a single turn
|
|
801
801
|
> 6. **Wait** for ALL Workers in the batch to complete before dispatching next batch
|
|
802
802
|
> 7. Update DISPATCH-PROGRESS.json after each Worker completes
|
|
803
|
-
> 8. After ALL workers complete,
|
|
803
|
+
> 8. After ALL workers complete, dispatch ONE worker per platform with `index_only: true` to generate INDEX.md (WORKER-DISPATCH — see Phase 5.5 in orchestration SKILL.md)
|
|
804
804
|
> **FORBIDDEN**:
|
|
805
805
|
> - ❌ DO NOT group multiple features into one Worker
|
|
806
806
|
> - ❌ DO NOT use Skill tool to invoke platform skills (when Features ≥ 2 OR Platforms ≥ 2)
|
|
807
807
|
> - ❌ DO NOT dispatch Workers sequentially — ALL in same batch must be simultaneous
|
|
808
808
|
> - ❌ DO NOT generate *-design.md files yourself as fallback
|
|
809
|
-
> - ❌ DO NOT let individual workers generate INDEX.md in batch mode — set `skip_index_generation: true`;
|
|
809
|
+
> - ❌ DO NOT let individual workers generate INDEX.md in batch mode — set `skip_index_generation: true`; INDEX.md is generated in Phase 5.5 by separate worker with `index_only: true`
|
|
810
810
|
|
|
811
811
|
### 5.5 Update DISPATCH-PROGRESS.json
|
|
812
812
|
|
|
@@ -1096,7 +1096,7 @@ Otherwise
|
|
|
1096
1096
|
- DO NOT create or manually edit DISPATCH-PROGRESS.json, .checkpoints.json, or WORKFLOW-PROGRESS.json — use update-progress.js script only
|
|
1097
1097
|
- DO NOT update WORKFLOW-PROGRESS.json status to "confirmed" before joint user confirmation in Phase 6
|
|
1098
1098
|
- DO NOT proceed to the next batch or Phase 6 if any Phase 5 batch worker failure rate > 50% — follow the Batch Failure recovery flow in Phase 5.6
|
|
1099
|
-
- DO NOT
|
|
1099
|
+
- DO NOT generate INDEX.md directly — set `skip_index_generation: true` in Feature×Platform worker context; dispatch separate worker with `index_only: true` in Phase 5.5 (WORKER-DISPATCH)
|
|
1100
1100
|
- DO NOT skip backward compatibility checks for old format Feature Specs
|
|
1101
1101
|
- DO NOT automatically transition to or invoke the next stage agent — user starts next stage in a new conversation
|
|
1102
1102
|
|
|
@@ -30,12 +30,15 @@ tools: Read, Write, Glob, Grep
|
|
|
30
30
|
|
|
31
31
|
## Step 1: Read Inputs
|
|
32
32
|
|
|
33
|
+
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
34
|
+
|
|
33
35
|
**Input Parameters** (from agent context):
|
|
34
36
|
- `feature_id` (optional): Feature identifier, e.g., `F-CRM-01`. If provided, use new naming format.
|
|
35
37
|
- `feature_name`: Feature name, e.g., `customer-list`.
|
|
36
38
|
- `platform_id`: Target platform, e.g., `backend-spring`, `backend-nestjs`.
|
|
37
39
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
38
40
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
|
+
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
39
42
|
|
|
40
43
|
Read in order:
|
|
41
44
|
|
|
@@ -166,7 +169,9 @@ Verify the completed design document:
|
|
|
166
169
|
|
|
167
170
|
## Step 5: Generate Platform INDEX.md
|
|
168
171
|
|
|
169
|
-
> **Conditional Execution**:
|
|
172
|
+
> **Conditional Execution**:
|
|
173
|
+
> - If `skip_index_generation` = `true`, **skip this entire Step 5**.
|
|
174
|
+
> - If `index_only` = `true`, this step is the ONLY step to execute (Steps 1-4 are skipped).
|
|
170
175
|
|
|
171
176
|
After all module designs are complete:
|
|
172
177
|
|
|
@@ -30,12 +30,15 @@ tools: Read, Write, Glob, Grep
|
|
|
30
30
|
|
|
31
31
|
## Step 1: Read Inputs
|
|
32
32
|
|
|
33
|
+
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
34
|
+
|
|
33
35
|
**Input Parameters** (from agent context):
|
|
34
36
|
- `feature_id` (optional): Feature identifier, e.g., `F-CRM-01`. If provided, use new naming format.
|
|
35
37
|
- `feature_name`: Feature name, e.g., `customer-list`.
|
|
36
38
|
- `platform_id`: Target platform, e.g., `frontend-vue`, `frontend-react`.
|
|
37
39
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
38
40
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
|
+
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
39
42
|
|
|
40
43
|
Read in order:
|
|
41
44
|
|
|
@@ -149,7 +152,9 @@ Verify the completed design document:
|
|
|
149
152
|
|
|
150
153
|
## Step 5: Generate Platform INDEX.md
|
|
151
154
|
|
|
152
|
-
> **Conditional Execution**:
|
|
155
|
+
> **Conditional Execution**:
|
|
156
|
+
> - If `skip_index_generation` = `true`, **skip this entire Step 5**.
|
|
157
|
+
> - If `index_only` = `true`, this step is the ONLY step to execute (Steps 1-4 are skipped).
|
|
153
158
|
|
|
154
159
|
After all module designs are complete:
|
|
155
160
|
|
|
@@ -30,12 +30,15 @@ tools: Read, Write, Glob, Grep
|
|
|
30
30
|
|
|
31
31
|
## Step 1: Read Inputs
|
|
32
32
|
|
|
33
|
+
> **Conditional Execution**: If `index_only` = `true`, **skip Steps 1-4** and jump directly to Step 5 to generate INDEX.md.
|
|
34
|
+
|
|
33
35
|
**Input Parameters** (from agent context):
|
|
34
36
|
- `feature_id` (optional): Feature identifier, e.g., `F-CRM-01`.
|
|
35
37
|
- `feature_name`: Feature name, e.g., `customer-list`.
|
|
36
38
|
- `platform_id`: Target platform, e.g., `mobile-uniapp`, `mobile-flutter`.
|
|
37
39
|
- `skip_confirmation` (optional, boolean): When `true`, skip Checkpoint A user confirmation (used in batch dispatch mode)
|
|
38
40
|
- `skip_index_generation` (optional, boolean): When `true`, skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
41
|
+
- `index_only` (optional, boolean): When `true`, skip Steps 1-4 and ONLY execute Step 5 (INDEX.md generation). Used after all platform workers complete.
|
|
39
42
|
|
|
40
43
|
Read in order:
|
|
41
44
|
|
|
@@ -147,7 +150,9 @@ Verify the completed design document:
|
|
|
147
150
|
|
|
148
151
|
## Step 5: Generate Platform INDEX.md
|
|
149
152
|
|
|
150
|
-
> **Conditional Execution**:
|
|
153
|
+
> **Conditional Execution**:
|
|
154
|
+
> - If `skip_index_generation` = `true`, **skip this entire Step 5**.
|
|
155
|
+
> - If `index_only` = `true`, this step is the ONLY step to execute (Steps 1-4 are skipped).
|
|
151
156
|
|
|
152
157
|
After all module designs are complete:
|
|
153
158
|
|
|
@@ -135,7 +135,7 @@ This skill MUST execute tasks continuously without unnecessary interruptions.
|
|
|
135
135
|
d. Update DISPATCH-PROGRESS.json for each completed Worker
|
|
136
136
|
e. Log batch progress
|
|
137
137
|
6. After all batches complete, read final progress summary
|
|
138
|
-
7.
|
|
138
|
+
7. Dispatch worker per platform with `index_only: true` to generate INDEX.md (see Phase 5.5)
|
|
139
139
|
|
|
140
140
|
**CRITICAL**: Each Worker handles exactly ONE feature on ONE platform. DO NOT group multiple features or platforms into a single Worker.
|
|
141
141
|
|
|
@@ -143,20 +143,24 @@ This skill MUST execute tasks continuously without unnecessary interruptions.
|
|
|
143
143
|
- `skip_confirmation: true` — Workers skip Checkpoint A user confirmation (not feasible in batch mode)
|
|
144
144
|
- `skip_index_generation: true` — Workers skip Step 5 INDEX.md generation (INDEX.md will be generated by orchestrator after all workers complete)
|
|
145
145
|
|
|
146
|
-
### Phase 5.5: INDEX.md Generation (
|
|
146
|
+
### Phase 5.5: INDEX.md Generation (WORKER-DISPATCH)
|
|
147
147
|
|
|
148
|
-
After ALL Feature×Platform workers complete successfully,
|
|
148
|
+
After ALL Feature×Platform workers complete successfully, dispatch ONE worker per platform to generate INDEX.md. Each worker receives `index_only: true` and `skip_index_generation: false`, executing ONLY Step 5 of the platform skill.
|
|
149
149
|
|
|
150
|
-
**
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
**Dispatch parameters per platform**:
|
|
151
|
+
- `agent`: speccrew-task-worker
|
|
152
|
+
- `skill`: speccrew-sd-${platform.type}
|
|
153
|
+
- `skill_path`: ${ide_skills_dir}/speccrew-sd-${platform.type}/SKILL.md
|
|
154
|
+
- `context`:
|
|
155
|
+
- `index_only: true`
|
|
156
|
+
- `skip_index_generation: false`
|
|
157
|
+
- `platform_id`: ${platform.id}
|
|
158
|
+
- `output_dir`: ${iterations_dir}/${current_iteration}/03.system-design/${platform.id}
|
|
159
|
+
- `completed_documents`: ${platform.completed_documents}
|
|
160
|
+
- `techs_knowledge_dir`: ${techs_knowledge_dir}
|
|
161
|
+
- `workspace_path`: ${workspace_path}
|
|
158
162
|
|
|
159
|
-
**FORBIDDEN**:
|
|
163
|
+
**FORBIDDEN**: Orchestrator generating INDEX.md directly. INDEX.md MUST be generated by worker.
|
|
160
164
|
|
|
161
165
|
**Example** (5 features × 3 platforms = 15 workers, 3 batches of 6/6/3):
|
|
162
166
|
- Batch 1: Workers 1-6 (parallel)
|
|
@@ -189,7 +193,7 @@ DO NOT proceed past these checkpoints without explicit user confirmation.
|
|
|
189
193
|
- **DO NOT generate framework-evaluation.md yourself** — Only workers generate it
|
|
190
194
|
- **DO NOT create scripts for batch analysis** — Workers handle this via their own skill
|
|
191
195
|
- **DO NOT fallback to inline execution if worker fails** — ABORT instead
|
|
192
|
-
- **DO NOT let individual workers generate INDEX.md in batch mode** — `skip_index_generation: true` must be set;
|
|
196
|
+
- **DO NOT let individual workers generate INDEX.md in batch mode** — `skip_index_generation: true` must be set; INDEX.md is generated in Phase 5.5 by separate worker with `index_only: true`
|
|
193
197
|
- **DO NOT skip reading workflow.agentflow.xml** — XML is the execution authority
|
|
194
198
|
- **DO NOT generate DESIGN-OVERVIEW.md yourself** — Dispatch speccrew-task-worker with speccrew-sd-design-overview-generate skill
|
|
195
199
|
- **DO NOT use Skill tool for Phase 4 design overview generation** — Skill tool executes inline, Agent tool creates a worker
|
|
@@ -426,30 +426,33 @@
|
|
|
426
426
|
<!-- batch-update is available via: node update-progress.js batch-update --file <progress.json> --tasks-file <tasks.json> -->
|
|
427
427
|
<!-- Use when orchestrator needs to batch-update multiple task statuses at once -->
|
|
428
428
|
|
|
429
|
-
<!-- Phase 5.5: Generate Platform INDEX.md (
|
|
430
|
-
<block type="rule" id="P5-IDX-R1" level="mandatory" desc="INDEX.md Generation
|
|
429
|
+
<!-- Phase 5.5: Generate Platform INDEX.md (WORKER-DISPATCH) -->
|
|
430
|
+
<block type="rule" id="P5-IDX-R1" level="mandatory" desc="INDEX.md Generation via Worker Dispatch">
|
|
431
431
|
<field name="text">
|
|
432
|
-
After
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
3. Fill sections using search_replace with actual content from:
|
|
437
|
-
- Tech stack summary from techs knowledge
|
|
438
|
-
- Module list table from completed design documents
|
|
439
|
-
- Shared design decisions from architecture knowledge
|
|
440
|
-
4. Verify all placeholders are replaced
|
|
441
|
-
FORBIDDEN: Dispatching a worker for INDEX.md generation.
|
|
432
|
+
After ALL Feature×Platform workers complete, dispatch ONE worker per platform to generate INDEX.md.
|
|
433
|
+
- Each worker receives index_only=true, skip_index_generation=false
|
|
434
|
+
- Worker executes ONLY Step 5 of the platform skill
|
|
435
|
+
- FORBIDDEN: Orchestrator generating INDEX.md directly (must use worker)
|
|
442
436
|
</field>
|
|
443
437
|
</block>
|
|
444
438
|
<block type="loop" id="P5-IDX-L1" over="${platforms}" as="platform">
|
|
445
|
-
<block type="task" id="P5-IDX-
|
|
446
|
-
desc="
|
|
447
|
-
<field name="
|
|
448
|
-
<field name="
|
|
449
|
-
<field name="
|
|
450
|
-
<field name="
|
|
439
|
+
<block type="task" id="P5-IDX-DISPATCH" action="dispatch-to-worker" status="pending"
|
|
440
|
+
desc="Dispatch worker to generate INDEX.md for ${platform.id}">
|
|
441
|
+
<field name="agent">speccrew-task-worker</field>
|
|
442
|
+
<field name="skill">speccrew-sd-${platform.type}</field>
|
|
443
|
+
<field name="skill_path">${ide_skills_dir}/speccrew-sd-${platform.type}/SKILL.md</field>
|
|
444
|
+
<field name="context">
|
|
445
|
+
index_only: true
|
|
446
|
+
skip_index_generation: false
|
|
447
|
+
platform_id: ${platform.id}
|
|
448
|
+
output_dir: ${iterations_dir}/${current_iteration}/03.system-design/${platform.id}
|
|
449
|
+
completed_documents: ${platform.completed_documents}
|
|
450
|
+
techs_knowledge_dir: ${techs_knowledge_dir}
|
|
451
|
+
workspace_path: ${workspace_path}
|
|
452
|
+
</field>
|
|
451
453
|
</block>
|
|
452
454
|
</block>
|
|
455
|
+
<block type="gateway" id="P5-IDX-GW1" mode="wait" desc="Wait for all INDEX.md workers to complete"/>
|
|
453
456
|
|
|
454
457
|
<!-- Step 5.5: Read final dispatch progress -->
|
|
455
458
|
<block type="task" id="P5-B5" action="run-script" status="pending"
|