Files
Claude-Code-Workflow/.claude/skills/team-issue/role-specs/integrator.md
catlog22 16bbfcd12a refactor: replace Task tool with Agent tool and fix schema compliance
## 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/
2026-03-04 22:40:39 +08:00

2.5 KiB

prefix, inner_loop, subagents, message_types
prefix inner_loop subagents message_types
MARSHAL false
issue-queue-agent
success conflict error
queue_ready conflict_found 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 /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")
  1. 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:

{
  "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