claude-devfleet
Orchestrate multi-agent coding tasks via Claude DevFleet — plan projects, dispatch parallel agents in isolated worktrees, monitor progress, and read structured reports. Use when dispatching parallel coding agents across isolated worktrees and tracking their reports.
By affaan-m · 2,841 installs
npx skills add affaan-m/ecc --skill claude-devfleet
Source repository · Upstream listing
Claude DevFleet Multi Agent Orchestration
When to Use
Use this skill when you need to dispatch multiple Claude Code agents to work on coding tasks in parallel. Each agent runs in an isolated git worktree with full tooling.
Setup
The DevFleet server is a separate project, not bundled with ECC. Install and
run it from its repository first: <https://github.com/LEC AI/claude devfleet
Then connect the running instance via MCP:
Before first use, verify the process listening on port 18801 is the DevFleet
binary you installed (see SECURITY.md on localhost MCP servers).
How It Works
Tools
Tool Purpose
plan project(prompt) AI breaks a description into a project with chained missions
create project(name, path?, description?) Create a project manually, returns project id
create mission(project id, title, prompt, depends on?, auto dispatch?) Add a mission. depends on is a list of mission ID strings (e.g., ["abc 123"] ). Set auto dispatch=true to auto start when deps are met.
dispatch mission(mission id, model?, max turns?) Start an agent on a mission
cancel mission(mission id) Stop a running agent
wait for mission(mission id, timeout seconds?) Block until a mission completes (see note below)
get mission status(mission id) Check mission progress without blocking
get report(mission id) Read structured report (files changed, tested, errors, next steps)
get dashboard() System overview: running agents, stats, recent activity
list projects() Browse all projects
list missions(project id, status?) List missions in a project
Note on wait for mission : This blocks the conversation for up to timeout seconds (default 600). For long running missions, prefer polling with get mission status every 30–60 seconds instead, so the user sees progress updates.
Workflow: Plan → Dispatch → Monitor → Report
1. Plan : Call plan project(prompt="...") → returns project id + list of missions with depends on chains and auto dispatch=true .
2. Show plan : Present mission titles, types, and dependency chain to the user.
3. Dispatch : Call dispatch mission(mission id=<first mission id ) on the root mission (empty depends on ). Remaining missions auto dispatch as their dependencies complete (because plan project sets auto dispatch=true on them).
4. Monitor : Call get mission status(mission id=...) or get dashboard() to check progress.
5. Report : Call get report(mission id=...) when missions complete. Share highlights with the user.
Concurrency
DevFleet runs up to 3 concurrent agents by default (configurable via DEVFLEET MAX AGENTS ). When all slots are full, missions with auto dispatch=true queue in the mission watcher and dispatch automatically as slots free up. Check get dashboard() for current slot usage.
Examples
Full auto: plan and launch
1. plan project(prompt="...") → shows plan with missions and dependencies.
2. Dispatch the first mission (the one with empty depends on ).
3. Remaining missions auto dispatch as dependencies resolve (they have auto dispatch=true ).
4. Report back with project ID and mission count so the user knows what was launched.
5. Poll with get mission status or get dashboard() periodically until all missions reach a terminal state ( completed , failed , or cancelled ).
6. get report(mission id=...) for each terminal mission — summarize successes and call out failures with errors and next steps.
Manual: step by step control
1. create project(name="My Project") → returns project id .
2. create mission(project id=project id, title="...", prompt="...", auto dispatch=true) for the first (root) mission → capture root mission id .
create mission(project id=project id, title="...", prompt="...", auto dispatch=true, depends on=["<root mission id "]) for each subsequent task.
3. dispatch mission(mission id=...) on the first mission to start the chain.
4. get report(mission id=...) when done.
Sequential with review
1. create project(name="...") → get project id .
2. create mission(project id=project id, title="Implement feature", prompt="...") → get impl mission id .
3. dispatch mission(mission id=impl mission id) , then poll with get mission status until complete.
4. get report(mission id=impl mission id) to review results.
5. create mission(project id=project id, title="Review", prompt="...", depends on=[impl mission id], auto dispatch=true) — auto starts since the dependency is already met.
Guidelines
Always confirm the plan with the user before dispatching, unless they said to go ahead.
Include mission titles and IDs when reporting status.
If a mission fails, read its report before retrying.
Check get dashboard() for agent slot availability before bulk dispatching.
Mission dependencies form a DAG — do not create circular dependencies.
Each agent runs in an isolated git worktree and auto merges on completion. If a merge conflict occurs, the changes remain on the agent's worktree branch for manual resolution.
When manually creating missions, always set auto dispatch=true if you want them to trigger automatically when dependencies complete. Without this flag, missions stay in draft status.