claude-code-workflow 6.3.52 → 6.3.54
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/.claude/agents/action-planning-agent.md +26 -1
- package/.claude/agents/cli-lite-planning-agent.md +66 -2
- package/.claude/commands/codex-coordinator.md +513 -0
- package/.claude/commands/flow-create.md +675 -0
- package/.claude/commands/workflow/collaborative-plan-with-file.md +761 -0
- package/.claude/commands/workflow/lite-fix.md +49 -20
- package/.claude/commands/workflow/lite-plan.md +35 -8
- package/.claude/commands/workflow/plan.md +14 -1
- package/.claude/commands/workflow/tools/task-generate-agent.md +35 -24
- package/.claude/commands/workflow/unified-execute-with-file.md +101 -19
- package/.claude/skills/flow-coordinator/SKILL.md +394 -0
- package/.claude/skills/flow-coordinator/templates/analyze.json +16 -0
- package/.claude/skills/flow-coordinator/templates/brainstorm-to-issue.json +36 -0
- package/.claude/skills/flow-coordinator/templates/brainstorm.json +16 -0
- package/.claude/skills/flow-coordinator/templates/bugfix-hotfix.json +16 -0
- package/.claude/skills/flow-coordinator/templates/bugfix.json +47 -0
- package/.claude/skills/flow-coordinator/templates/coupled.json +71 -0
- package/.claude/skills/flow-coordinator/templates/debug.json +16 -0
- package/.claude/skills/flow-coordinator/templates/docs.json +27 -0
- package/.claude/skills/flow-coordinator/templates/full.json +61 -0
- package/.claude/skills/flow-coordinator/templates/issue.json +43 -0
- package/.claude/skills/flow-coordinator/templates/lite-lite-lite.json +16 -0
- package/.claude/skills/flow-coordinator/templates/multi-cli-plan.json +47 -0
- package/.claude/skills/flow-coordinator/templates/rapid-to-issue.json +46 -0
- package/.claude/skills/flow-coordinator/templates/rapid.json +47 -0
- package/.claude/skills/flow-coordinator/templates/review.json +43 -0
- package/.claude/skills/flow-coordinator/templates/tdd.json +34 -0
- package/.claude/skills/flow-coordinator/templates/test-fix.json +26 -0
- package/ccw/dist/tools/claude-cli-tools.d.ts +8 -0
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +13 -2
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor-core.js +24 -3
- package/ccw/dist/tools/cli-executor-core.js.map +1 -1
- package/ccw/src/templates/dashboard-js/components/cli-status.js +28 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +44 -0
- package/ccw/src/tools/claude-cli-tools.ts +20 -2
- package/ccw/src/tools/cli-executor-core.ts +23 -4
- package/package.json +92 -92
- package/.claude/commands/workflow/merge-plans-with-file.md +0 -807
- package/.claude/commands/workflow/quick-plan-with-file.md +0 -808
- package/.codex/prompts/quick-plan-with-file.md +0 -450
|
@@ -37,6 +37,23 @@ Intelligent lightweight bug fixing command with dynamic workflow adaptation base
|
|
|
37
37
|
/workflow:lite-fix -y --hotfix "生产环境数据库连接失败" # Auto + hotfix mode
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
## Output Artifacts
|
|
41
|
+
|
|
42
|
+
| Artifact | Description |
|
|
43
|
+
|----------|-------------|
|
|
44
|
+
| `diagnosis-{angle}.json` | Per-angle diagnosis results (1-4 files based on severity) |
|
|
45
|
+
| `diagnoses-manifest.json` | Index of all diagnosis files |
|
|
46
|
+
| `planning-context.md` | Evidence paths + synthesized understanding |
|
|
47
|
+
| `fix-plan.json` | Structured fix plan (fix-plan-json-schema.json) |
|
|
48
|
+
|
|
49
|
+
**Output Directory**: `.workflow/.lite-fix/{bug-slug}-{YYYY-MM-DD}/`
|
|
50
|
+
|
|
51
|
+
**Agent Usage**:
|
|
52
|
+
- Low/Medium severity → Direct Claude planning (no agent)
|
|
53
|
+
- High/Critical severity → `cli-lite-planning-agent` generates `fix-plan.json`
|
|
54
|
+
|
|
55
|
+
**Schema Reference**: `~/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json`
|
|
56
|
+
|
|
40
57
|
## Auto Mode Defaults
|
|
41
58
|
|
|
42
59
|
When `--yes` or `-y` flag is used:
|
|
@@ -192,11 +209,15 @@ const diagnosisTasks = selectedAngles.map((angle, index) =>
|
|
|
192
209
|
## Task Objective
|
|
193
210
|
Execute **${angle}** diagnosis for bug root cause analysis. Analyze codebase from this specific angle to discover root cause, affected paths, and fix hints.
|
|
194
211
|
|
|
212
|
+
## Output Location
|
|
213
|
+
|
|
214
|
+
**Session Folder**: ${sessionFolder}
|
|
215
|
+
**Output File**: ${sessionFolder}/diagnosis-${angle}.json
|
|
216
|
+
|
|
195
217
|
## Assigned Context
|
|
196
218
|
- **Diagnosis Angle**: ${angle}
|
|
197
219
|
- **Bug Description**: ${bug_description}
|
|
198
220
|
- **Diagnosis Index**: ${index + 1} of ${selectedAngles.length}
|
|
199
|
-
- **Output File**: ${sessionFolder}/diagnosis-${angle}.json
|
|
200
221
|
|
|
201
222
|
## MANDATORY FIRST STEPS (Execute by Agent)
|
|
202
223
|
**You (cli-explore-agent) MUST execute these steps in order:**
|
|
@@ -225,8 +246,6 @@ Execute **${angle}** diagnosis for bug root cause analysis. Analyze codebase fro
|
|
|
225
246
|
|
|
226
247
|
## Expected Output
|
|
227
248
|
|
|
228
|
-
**File**: ${sessionFolder}/diagnosis-${angle}.json
|
|
229
|
-
|
|
230
249
|
**Schema Reference**: Schema obtained in MANDATORY FIRST STEPS step 3, follow schema exactly
|
|
231
250
|
|
|
232
251
|
**Required Fields** (all ${angle} focused):
|
|
@@ -255,9 +274,9 @@ Execute **${angle}** diagnosis for bug root cause analysis. Analyze codebase fro
|
|
|
255
274
|
- [ ] JSON output follows schema exactly
|
|
256
275
|
- [ ] clarification_needs includes options + recommended
|
|
257
276
|
|
|
258
|
-
##
|
|
259
|
-
Write
|
|
260
|
-
Return
|
|
277
|
+
## Execution
|
|
278
|
+
**Write**: \`${sessionFolder}/diagnosis-${angle}.json\`
|
|
279
|
+
**Return**: 2-3 sentence summary of ${angle} diagnosis findings
|
|
261
280
|
`
|
|
262
281
|
)
|
|
263
282
|
)
|
|
@@ -493,6 +512,13 @@ Task(
|
|
|
493
512
|
prompt=`
|
|
494
513
|
Generate fix plan and write fix-plan.json.
|
|
495
514
|
|
|
515
|
+
## Output Location
|
|
516
|
+
|
|
517
|
+
**Session Folder**: ${sessionFolder}
|
|
518
|
+
**Output Files**:
|
|
519
|
+
- ${sessionFolder}/planning-context.md (evidence + understanding)
|
|
520
|
+
- ${sessionFolder}/fix-plan.json (fix plan)
|
|
521
|
+
|
|
496
522
|
## Output Schema Reference
|
|
497
523
|
Execute: cat ~/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json (get schema reference before generating plan)
|
|
498
524
|
|
|
@@ -588,8 +614,9 @@ Generate fix-plan.json with:
|
|
|
588
614
|
- For High/Critical: REQUIRED new fields (rationale, verification, risks, code_skeleton, data_flow, design_decisions)
|
|
589
615
|
- Each task MUST have rationale (why this fix), verification (how to verify success), and risks (potential issues)
|
|
590
616
|
5. Parse output and structure fix-plan
|
|
591
|
-
6. Write
|
|
592
|
-
7.
|
|
617
|
+
6. **Write**: \`${sessionFolder}/planning-context.md\` (evidence paths + understanding)
|
|
618
|
+
7. **Write**: \`${sessionFolder}/fix-plan.json\`
|
|
619
|
+
8. Return brief completion summary
|
|
593
620
|
|
|
594
621
|
## Output Format for CLI
|
|
595
622
|
Include these sections in your fix-plan output:
|
|
@@ -747,22 +774,24 @@ SlashCommand(command="/workflow:lite-execute --in-memory --mode bugfix")
|
|
|
747
774
|
|
|
748
775
|
```
|
|
749
776
|
.workflow/.lite-fix/{bug-slug}-{YYYY-MM-DD}/
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
777
|
+
├── diagnosis-{angle1}.json # Diagnosis angle 1
|
|
778
|
+
├── diagnosis-{angle2}.json # Diagnosis angle 2
|
|
779
|
+
├── diagnosis-{angle3}.json # Diagnosis angle 3 (if applicable)
|
|
780
|
+
├── diagnosis-{angle4}.json # Diagnosis angle 4 (if applicable)
|
|
781
|
+
├── diagnoses-manifest.json # Diagnosis index
|
|
782
|
+
├── planning-context.md # Evidence + understanding
|
|
783
|
+
└── fix-plan.json # Fix plan
|
|
756
784
|
```
|
|
757
785
|
|
|
758
786
|
**Example**:
|
|
759
787
|
```
|
|
760
|
-
.workflow/.lite-fix/user-avatar-upload-fails-413-2025-11-25
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
788
|
+
.workflow/.lite-fix/user-avatar-upload-fails-413-2025-11-25/
|
|
789
|
+
├── diagnosis-error-handling.json
|
|
790
|
+
├── diagnosis-dataflow.json
|
|
791
|
+
├── diagnosis-validation.json
|
|
792
|
+
├── diagnoses-manifest.json
|
|
793
|
+
├── planning-context.md
|
|
794
|
+
└── fix-plan.json
|
|
766
795
|
```
|
|
767
796
|
|
|
768
797
|
## Error Handling
|
|
@@ -37,6 +37,23 @@ Intelligent lightweight planning command with dynamic workflow adaptation based
|
|
|
37
37
|
/workflow:lite-plan -y -e "优化数据库查询性能" # Auto mode + force exploration
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
## Output Artifacts
|
|
41
|
+
|
|
42
|
+
| Artifact | Description |
|
|
43
|
+
|----------|-------------|
|
|
44
|
+
| `exploration-{angle}.json` | Per-angle exploration results (1-4 files based on complexity) |
|
|
45
|
+
| `explorations-manifest.json` | Index of all exploration files |
|
|
46
|
+
| `planning-context.md` | Evidence paths + synthesized understanding |
|
|
47
|
+
| `plan.json` | Structured implementation plan (plan-json-schema.json) |
|
|
48
|
+
|
|
49
|
+
**Output Directory**: `.workflow/.lite-plan/{task-slug}-{YYYY-MM-DD}/`
|
|
50
|
+
|
|
51
|
+
**Agent Usage**:
|
|
52
|
+
- Low complexity → Direct Claude planning (no agent)
|
|
53
|
+
- Medium/High complexity → `cli-lite-planning-agent` generates `plan.json`
|
|
54
|
+
|
|
55
|
+
**Schema Reference**: `~/.claude/workflows/cli-templates/schemas/plan-json-schema.json`
|
|
56
|
+
|
|
40
57
|
## Auto Mode Defaults
|
|
41
58
|
|
|
42
59
|
When `--yes` or `-y` flag is used:
|
|
@@ -193,11 +210,15 @@ const explorationTasks = selectedAngles.map((angle, index) =>
|
|
|
193
210
|
## Task Objective
|
|
194
211
|
Execute **${angle}** exploration for task planning context. Analyze codebase from this specific angle to discover relevant structure, patterns, and constraints.
|
|
195
212
|
|
|
213
|
+
## Output Location
|
|
214
|
+
|
|
215
|
+
**Session Folder**: ${sessionFolder}
|
|
216
|
+
**Output File**: ${sessionFolder}/exploration-${angle}.json
|
|
217
|
+
|
|
196
218
|
## Assigned Context
|
|
197
219
|
- **Exploration Angle**: ${angle}
|
|
198
220
|
- **Task Description**: ${task_description}
|
|
199
221
|
- **Exploration Index**: ${index + 1} of ${selectedAngles.length}
|
|
200
|
-
- **Output File**: ${sessionFolder}/exploration-${angle}.json
|
|
201
222
|
|
|
202
223
|
## MANDATORY FIRST STEPS (Execute by Agent)
|
|
203
224
|
**You (cli-explore-agent) MUST execute these steps in order:**
|
|
@@ -225,8 +246,6 @@ Execute **${angle}** exploration for task planning context. Analyze codebase fro
|
|
|
225
246
|
|
|
226
247
|
## Expected Output
|
|
227
248
|
|
|
228
|
-
**File**: ${sessionFolder}/exploration-${angle}.json
|
|
229
|
-
|
|
230
249
|
**Schema Reference**: Schema obtained in MANDATORY FIRST STEPS step 3, follow schema exactly
|
|
231
250
|
|
|
232
251
|
**Required Fields** (all ${angle} focused):
|
|
@@ -252,9 +271,9 @@ Execute **${angle}** exploration for task planning context. Analyze codebase fro
|
|
|
252
271
|
- [ ] JSON output follows schema exactly
|
|
253
272
|
- [ ] clarification_needs includes options + recommended
|
|
254
273
|
|
|
255
|
-
##
|
|
256
|
-
Write
|
|
257
|
-
Return
|
|
274
|
+
## Execution
|
|
275
|
+
**Write**: \`${sessionFolder}/exploration-${angle}.json\`
|
|
276
|
+
**Return**: 2-3 sentence summary of ${angle} findings
|
|
258
277
|
`
|
|
259
278
|
)
|
|
260
279
|
)
|
|
@@ -443,6 +462,13 @@ Task(
|
|
|
443
462
|
prompt=`
|
|
444
463
|
Generate implementation plan and write plan.json.
|
|
445
464
|
|
|
465
|
+
## Output Location
|
|
466
|
+
|
|
467
|
+
**Session Folder**: ${sessionFolder}
|
|
468
|
+
**Output Files**:
|
|
469
|
+
- ${sessionFolder}/planning-context.md (evidence + understanding)
|
|
470
|
+
- ${sessionFolder}/plan.json (implementation plan)
|
|
471
|
+
|
|
446
472
|
## Output Schema Reference
|
|
447
473
|
Execute: cat ~/.claude/workflows/cli-templates/schemas/plan-json-schema.json (get schema reference before generating plan)
|
|
448
474
|
|
|
@@ -492,8 +518,9 @@ Generate plan.json following the schema obtained above. Key constraints:
|
|
|
492
518
|
2. Execute CLI planning using Gemini (Qwen fallback)
|
|
493
519
|
3. Read ALL exploration files for comprehensive context
|
|
494
520
|
4. Synthesize findings and generate plan following schema
|
|
495
|
-
5. Write
|
|
496
|
-
6.
|
|
521
|
+
5. **Write**: \`${sessionFolder}/planning-context.md\` (evidence paths + understanding)
|
|
522
|
+
6. **Write**: \`${sessionFolder}/plan.json\`
|
|
523
|
+
7. Return brief completion summary
|
|
497
524
|
`
|
|
498
525
|
)
|
|
499
526
|
```
|
|
@@ -119,7 +119,7 @@ CONTEXT: Existing user database schema, REST API endpoints
|
|
|
119
119
|
**After Phase 1**: Initialize planning-notes.md with user intent
|
|
120
120
|
|
|
121
121
|
```javascript
|
|
122
|
-
// Create
|
|
122
|
+
// Create planning notes document with N+1 context support
|
|
123
123
|
const planningNotesPath = `.workflow/active/${sessionId}/planning-notes.md`
|
|
124
124
|
const userGoal = structuredDescription.goal
|
|
125
125
|
const userConstraints = structuredDescription.context || "None specified"
|
|
@@ -144,6 +144,19 @@ Write(planningNotesPath, `# Planning Notes
|
|
|
144
144
|
|
|
145
145
|
## Consolidated Constraints (Phase 4 Input)
|
|
146
146
|
1. ${userConstraints}
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Task Generation (Phase 4)
|
|
151
|
+
(To be filled by action-planning-agent)
|
|
152
|
+
|
|
153
|
+
## N+1 Context
|
|
154
|
+
### Decisions
|
|
155
|
+
| Decision | Rationale | Revisit? |
|
|
156
|
+
|----------|-----------|----------|
|
|
157
|
+
|
|
158
|
+
### Deferred
|
|
159
|
+
- [ ] (For N+1)
|
|
147
160
|
`)
|
|
148
161
|
```
|
|
149
162
|
|
|
@@ -378,16 +378,26 @@ Hard Constraints:
|
|
|
378
378
|
- Return completion status with document count and task breakdown summary
|
|
379
379
|
|
|
380
380
|
## PLANNING NOTES RECORD (REQUIRED)
|
|
381
|
-
After completing
|
|
381
|
+
After completing, update planning-notes.md:
|
|
382
382
|
|
|
383
383
|
**File**: .workflow/active/{session_id}/planning-notes.md
|
|
384
|
-
**Location**: Create new section after "## Consolidated Constraints"
|
|
385
|
-
**Format**:
|
|
386
|
-
\`\`\`
|
|
387
|
-
## Task Generation (Phase 4)
|
|
388
384
|
|
|
385
|
+
1. **Task Generation (Phase 4)**: Task count and key tasks
|
|
386
|
+
2. **N+1 Context**: Key decisions (with rationale) + deferred items
|
|
387
|
+
|
|
388
|
+
\`\`\`markdown
|
|
389
|
+
## Task Generation (Phase 4)
|
|
389
390
|
### [Action-Planning Agent] YYYY-MM-DD
|
|
390
|
-
- **
|
|
391
|
+
- **Tasks**: [count] ([IDs])
|
|
392
|
+
|
|
393
|
+
## N+1 Context
|
|
394
|
+
### Decisions
|
|
395
|
+
| Decision | Rationale | Revisit? |
|
|
396
|
+
|----------|-----------|----------|
|
|
397
|
+
| [choice] | [why] | [Yes/No] |
|
|
398
|
+
|
|
399
|
+
### Deferred
|
|
400
|
+
- [ ] [item] - [reason]
|
|
391
401
|
\`\`\`
|
|
392
402
|
`
|
|
393
403
|
)
|
|
@@ -543,19 +553,13 @@ Hard Constraints:
|
|
|
543
553
|
- Return: task count, task IDs, dependency summary (internal + cross-module)
|
|
544
554
|
|
|
545
555
|
## PLANNING NOTES RECORD (REQUIRED)
|
|
546
|
-
After completing
|
|
556
|
+
After completing, append to planning-notes.md:
|
|
547
557
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
**
|
|
558
|
+
\`\`\`markdown
|
|
559
|
+
### [${module.name}] YYYY-MM-DD
|
|
560
|
+
- **Tasks**: [count] ([IDs])
|
|
561
|
+
- **CROSS deps**: [placeholders used]
|
|
551
562
|
\`\`\`
|
|
552
|
-
## Task Generation (Phase 4)
|
|
553
|
-
|
|
554
|
-
### [Action-Planning Agent - ${module.name}] YYYY-MM-DD
|
|
555
|
-
- **Note**: [智能补充:简短总结本模块任务数量、关键任务等]
|
|
556
|
-
\`\`\`
|
|
557
|
-
|
|
558
|
-
**Note**: Multiple module agents will append their records. Phase 3 Integration Coordinator will add final summary.
|
|
559
563
|
`
|
|
560
564
|
)
|
|
561
565
|
);
|
|
@@ -638,14 +642,21 @@ Module Count: ${modules.length}
|
|
|
638
642
|
- Return: task count, per-module breakdown, resolved dependency count
|
|
639
643
|
|
|
640
644
|
## PLANNING NOTES RECORD (REQUIRED)
|
|
641
|
-
After
|
|
645
|
+
After integration, update planning-notes.md:
|
|
642
646
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
**
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
647
|
+
\`\`\`markdown
|
|
648
|
+
### [Coordinator] YYYY-MM-DD
|
|
649
|
+
- **Total**: [count] tasks
|
|
650
|
+
- **Resolved**: [CROSS:: resolutions]
|
|
651
|
+
|
|
652
|
+
## N+1 Context
|
|
653
|
+
### Decisions
|
|
654
|
+
| Decision | Rationale | Revisit? |
|
|
655
|
+
|----------|-----------|----------|
|
|
656
|
+
| CROSS::X → IMPL-Y | [why this resolution] | [Yes/No] |
|
|
657
|
+
|
|
658
|
+
### Deferred
|
|
659
|
+
- [ ] [unresolved CROSS or conflict] - [reason]
|
|
649
660
|
\`\`\`
|
|
650
661
|
`
|
|
651
662
|
)
|
|
@@ -155,27 +155,65 @@ bash(`mkdir -p ${executionFolder}`)
|
|
|
155
155
|
|
|
156
156
|
## Plan Format Parsers
|
|
157
157
|
|
|
158
|
-
Support multiple plan sources:
|
|
158
|
+
Support multiple plan sources (all JSON plans follow plan-json-schema.json):
|
|
159
159
|
|
|
160
160
|
```javascript
|
|
161
161
|
function parsePlan(content, filePath) {
|
|
162
162
|
const ext = filePath.split('.').pop()
|
|
163
163
|
|
|
164
164
|
if (filePath.includes('IMPL_PLAN')) {
|
|
165
|
-
return parseImplPlan(content) // From /workflow:plan
|
|
165
|
+
return parseImplPlan(content) // From /workflow:plan (markdown)
|
|
166
166
|
} else if (filePath.includes('brainstorm')) {
|
|
167
167
|
return parseBrainstormPlan(content) // From /workflow:brainstorm-with-file
|
|
168
168
|
} else if (filePath.includes('synthesis')) {
|
|
169
169
|
return parseSynthesisPlan(content) // From /workflow:brainstorm-with-file synthesis.json
|
|
170
170
|
} else if (filePath.includes('conclusions')) {
|
|
171
171
|
return parseConclusionsPlan(content) // From /workflow:analyze-with-file conclusions.json
|
|
172
|
-
} else if (filePath.endsWith('.json') && content.includes('tasks')) {
|
|
173
|
-
return
|
|
172
|
+
} else if (filePath.endsWith('.json') && content.includes('"tasks"')) {
|
|
173
|
+
return parsePlanJson(content) // Standard plan-json-schema (lite-plan, collaborative-plan, sub-plans)
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
throw new Error(`Unsupported plan format: ${filePath}`)
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
+
// Standard plan-json-schema parser
|
|
180
|
+
// Handles: lite-plan, collaborative-plan, sub-plans (all follow same schema)
|
|
181
|
+
function parsePlanJson(content) {
|
|
182
|
+
const plan = JSON.parse(content)
|
|
183
|
+
|
|
184
|
+
return {
|
|
185
|
+
type: plan.merge_metadata ? 'collaborative-plan' : 'lite-plan',
|
|
186
|
+
title: plan.summary?.split('.')[0] || 'Untitled Plan',
|
|
187
|
+
slug: plan._metadata?.session_id || generateSlug(plan.summary),
|
|
188
|
+
summary: plan.summary,
|
|
189
|
+
approach: plan.approach,
|
|
190
|
+
tasks: plan.tasks.map(task => ({
|
|
191
|
+
id: task.id,
|
|
192
|
+
type: inferTaskTypeFromAction(task.action),
|
|
193
|
+
title: task.title,
|
|
194
|
+
description: task.description,
|
|
195
|
+
dependencies: task.depends_on || [],
|
|
196
|
+
agent_type: selectAgentFromTask(task),
|
|
197
|
+
prompt: buildPromptFromTask(task),
|
|
198
|
+
files_to_modify: task.modification_points?.map(mp => mp.file) || [],
|
|
199
|
+
expected_output: task.acceptance || [],
|
|
200
|
+
priority: task.effort?.complexity === 'high' ? 'high' : 'normal',
|
|
201
|
+
estimated_duration: task.effort?.estimated_hours ? `${task.effort.estimated_hours}h` : null,
|
|
202
|
+
verification: task.verification,
|
|
203
|
+
risks: task.risks,
|
|
204
|
+
source_agent: task.source_agent // From collaborative-plan sub-agents
|
|
205
|
+
})),
|
|
206
|
+
flow_control: plan.flow_control,
|
|
207
|
+
data_flow: plan.data_flow,
|
|
208
|
+
design_decisions: plan.design_decisions,
|
|
209
|
+
estimatedDuration: plan.estimated_time,
|
|
210
|
+
recommended_execution: plan.recommended_execution,
|
|
211
|
+
complexity: plan.complexity,
|
|
212
|
+
merge_metadata: plan.merge_metadata, // Present if from collaborative-plan
|
|
213
|
+
_metadata: plan._metadata
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
179
217
|
// IMPL_PLAN.md parser
|
|
180
218
|
function parseImplPlan(content) {
|
|
181
219
|
// Extract:
|
|
@@ -216,6 +254,65 @@ function parseSynthesisPlan(content) {
|
|
|
216
254
|
recommendations: synthesis.recommendations
|
|
217
255
|
}
|
|
218
256
|
}
|
|
257
|
+
|
|
258
|
+
// Helper: Infer task type from action field
|
|
259
|
+
function inferTaskTypeFromAction(action) {
|
|
260
|
+
const actionMap = {
|
|
261
|
+
'Create': 'code',
|
|
262
|
+
'Update': 'code',
|
|
263
|
+
'Implement': 'code',
|
|
264
|
+
'Refactor': 'code',
|
|
265
|
+
'Add': 'code',
|
|
266
|
+
'Delete': 'code',
|
|
267
|
+
'Configure': 'config',
|
|
268
|
+
'Test': 'test',
|
|
269
|
+
'Fix': 'debug'
|
|
270
|
+
}
|
|
271
|
+
return actionMap[action] || 'code'
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// Helper: Select agent based on task properties
|
|
275
|
+
function selectAgentFromTask(task) {
|
|
276
|
+
if (task.verification?.unit_tests?.length > 0) {
|
|
277
|
+
return 'tdd-developer'
|
|
278
|
+
} else if (task.action === 'Test') {
|
|
279
|
+
return 'test-fix-agent'
|
|
280
|
+
} else if (task.action === 'Fix') {
|
|
281
|
+
return 'debug-explore-agent'
|
|
282
|
+
} else {
|
|
283
|
+
return 'code-developer'
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Helper: Build prompt from task details
|
|
288
|
+
function buildPromptFromTask(task) {
|
|
289
|
+
let prompt = `## Task: ${task.title}\n\n${task.description}\n\n`
|
|
290
|
+
|
|
291
|
+
if (task.modification_points?.length > 0) {
|
|
292
|
+
prompt += `### Modification Points\n`
|
|
293
|
+
task.modification_points.forEach(mp => {
|
|
294
|
+
prompt += `- **${mp.file}**: ${mp.target} → ${mp.change}\n`
|
|
295
|
+
})
|
|
296
|
+
prompt += '\n'
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
if (task.implementation?.length > 0) {
|
|
300
|
+
prompt += `### Implementation Steps\n`
|
|
301
|
+
task.implementation.forEach((step, i) => {
|
|
302
|
+
prompt += `${i + 1}. ${step}\n`
|
|
303
|
+
})
|
|
304
|
+
prompt += '\n'
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
if (task.acceptance?.length > 0) {
|
|
308
|
+
prompt += `### Acceptance Criteria\n`
|
|
309
|
+
task.acceptance.forEach(ac => {
|
|
310
|
+
prompt += `- ${ac}\n`
|
|
311
|
+
})
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return prompt
|
|
315
|
+
}
|
|
219
316
|
```
|
|
220
317
|
|
|
221
318
|
---
|
|
@@ -776,21 +873,6 @@ function calculateParallel(tasks) {
|
|
|
776
873
|
| Agent unavailable | Fallback to universal-executor |
|
|
777
874
|
| Execution interrupted | Support resume with `/workflow:unified-execute-with-file --continue` |
|
|
778
875
|
|
|
779
|
-
## Usage Recommendations
|
|
780
|
-
|
|
781
|
-
Use `/workflow:unified-execute-with-file` when:
|
|
782
|
-
- Executing any planning document (IMPL_PLAN.md, brainstorm conclusions, analysis recommendations)
|
|
783
|
-
- Multiple tasks with dependencies need orchestration
|
|
784
|
-
- Want minimal progress tracking without clutter
|
|
785
|
-
- Need to handle failures gracefully and resume
|
|
786
|
-
- Want to parallelize where possible but ensure correctness
|
|
787
|
-
|
|
788
|
-
Use for consuming output from:
|
|
789
|
-
- `/workflow:plan` → IMPL_PLAN.md
|
|
790
|
-
- `/workflow:brainstorm-with-file` → synthesis.json → execution
|
|
791
|
-
- `/workflow:analyze-with-file` → conclusions.json → execution
|
|
792
|
-
- `/workflow:debug-with-file` → recommendations → execution
|
|
793
|
-
- `/workflow:lite-plan` → task JSONs → execution
|
|
794
876
|
|
|
795
877
|
## Session Resume
|
|
796
878
|
|