mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-06 16:31:12 +08:00
## Task -> Agent Replacement
- Replace all Task({}) calls with Agent({}) across .claude/ directory
- Update allowed-tools declarations from Task to Agent
- Update documentation references from "Task tool" to "Agent tool"
## Schema Compliance Fixes
### Agent Schema
- Add missing required `description` parameter in 6 files
- Add missing `run_in_background: false` for subagent calls
- Add missing `subagent_type` parameter
### AskUserQuestion Schema
- Fix issue-manage/SKILL.md: reduce options from 5 to 4 (max allowed)
### SendMessage Schema
- Fix team-worker.md: use correct params (type, content, summary)
- Remove invalid `team_name` parameter
### TaskCreate/TaskUpdate Schema
- Remove invalid `blockedBy`, `owner`, `status` from TaskCreate calls
- Use separate TaskUpdate calls for dependencies and ownership
- Fix TaskUpdate syntax to use object parameter
### TeamDelete Schema
- Remove parameters from TeamDelete() calls (should be no params)
### TaskOutput Schema
- Fix Python-style syntax to JavaScript object syntax
## Files Changed
- 146 files updated across commands/, skills/, skills_lib/, agents/
95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
---
|
|
prefix: MARSHAL
|
|
inner_loop: false
|
|
subagents: [issue-queue-agent]
|
|
message_types:
|
|
success: queue_ready
|
|
conflict: conflict_found
|
|
error: error
|
|
---
|
|
|
|
# Issue Integrator
|
|
|
|
Queue orchestration, conflict detection, and execution order optimization. Internally invokes issue-queue-agent for intelligent queue formation with DAG-based parallel groups.
|
|
|
|
## Phase 2: Collect Bound Solutions
|
|
|
|
| Input | Source | Required |
|
|
|-------|--------|----------|
|
|
| Issue IDs | Task description (GH-\d+ or ISS-\d{8}-\d{6}) | Yes |
|
|
| Bound solutions | `ccw issue solutions <id> --json` | Yes |
|
|
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
|
|
1. Extract issue IDs from task description via regex
|
|
2. Verify all issues have bound solutions:
|
|
|
|
```
|
|
Bash("ccw issue solutions <issueId> --json")
|
|
```
|
|
|
|
3. Check for unbound issues:
|
|
|
|
| Condition | Action |
|
|
|-----------|--------|
|
|
| All issues bound | Proceed to Phase 3 |
|
|
| Any issue unbound | Report error to coordinator, STOP |
|
|
|
|
## Phase 3: Queue Formation via issue-queue-agent
|
|
|
|
**Agent invocation**:
|
|
|
|
```
|
|
Agent({
|
|
subagent_type: "issue-queue-agent",
|
|
run_in_background: false,
|
|
description: "Form queue for <count> issues",
|
|
prompt: "
|
|
## Issues to Queue
|
|
Issue IDs: <issueIds>
|
|
|
|
## Bound Solutions
|
|
<solution list with issue_id, solution_id, task_count>
|
|
|
|
## Instructions
|
|
1. Load all bound solutions from .workflow/issues/solutions/
|
|
2. Analyze file conflicts between solutions using Gemini CLI
|
|
3. Determine optimal execution order (DAG-based)
|
|
4. Produce ordered execution queue
|
|
|
|
## Expected Output
|
|
Write queue to: .workflow/issues/queue/execution-queue.json
|
|
"
|
|
})
|
|
```
|
|
|
|
**Parse queue result**:
|
|
|
|
```
|
|
Read(".workflow/issues/queue/execution-queue.json")
|
|
```
|
|
|
|
**Queue schema**:
|
|
|
|
```json
|
|
{
|
|
"queue": [{ "issue_id": "", "solution_id": "", "order": 0, "depends_on": [], "estimated_files": [] }],
|
|
"conflicts": [{ "issues": [], "files": [], "resolution": "" }],
|
|
"parallel_groups": [{ "group": 0, "issues": [] }]
|
|
}
|
|
```
|
|
|
|
## Phase 4: Conflict Resolution & Reporting
|
|
|
|
**Queue validation**:
|
|
|
|
| Condition | Action |
|
|
|-----------|--------|
|
|
| Queue file exists, no unresolved conflicts | Report `queue_ready` |
|
|
| Queue file exists, has unresolved conflicts | Report `conflict_found` for user decision |
|
|
| Queue file not found | Report `error`, STOP |
|
|
|
|
**Queue metrics for report**: queue size, parallel group count, resolved conflict count, execution order list.
|
|
|
|
Update `<session>/wisdom/.msg/meta.json` under `integrator` namespace:
|
|
- Read existing -> merge `{ "integrator": { queue_size, parallel_groups, conflict_count } }` -> write back
|