claude-devfleet
Lets your agent manage multiple coding agents at once. It can plan projects, distribute tasks, and monitor each agent's progress.
What it does
This tool helps organize AI programmers (agents) to work together on a coding project. It plans the tasks, distributes the work to different agents working in separate environments, and shows progress.
When to use it
- ✓When you want multiple AI programmers to work on different parts of a project simultaneously.
- ✓When you need AI programmers to work in isolated environments to avoid conflicts.
- ✓When you want to track the progress of each AI programmer and see final reports.
Example of what to ask your AI
“Plan and launch a project to build a REST API with authentication and automated tests.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You describe the project, and the tool creates a plan with tasks. It then sends these tasks to individual AI programmers. They work on their tasks, and when they finish, the tool collects the reports.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill claude-devfleetOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/claude-devfleet/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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:
claude mcp add devfleet --transport http http://localhost:18801/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
User → "Build a REST API with auth and tests"
↓
plan_project(prompt) → project_id + mission DAG
↓
Show plan to user → get approval
↓
dispatch_mission(M1) → Agent 1 spawns in worktree
↓
M1 completes → auto-merge → auto-dispatch M2 (depends_on M1)
↓
M2 completes → auto-merge
↓
get_report(M2) → files_changed, what_done, errors, next_steps
↓
Report back to user
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 totimeout_seconds(default 600). For long-running missions, prefer polling withget_mission_statusevery 30–60 seconds instead, so the user sees progress updates.
Workflow: Plan → Dispatch → Monitor → Report
- Plan: Call
plan_project(prompt="...")→ returnsproject_id+ list of missions withdepends_onchains andauto_dispatch=true. - Show plan: Present mission titles, types, and dependency chain to the user.
- Dispatch: Call
dispatch_mission(mission_id=<first_mission_id>)on the root mission (emptydepends_on). Remaining missions auto-dispatch as their dependencies complete (becauseplan_projectsetsauto_dispatch=trueon them). - Monitor: Call
get_mission_status(mission_id=...)orget_dashboard()to check progress. - 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
plan_project(prompt="...")→ shows plan with missions and dependencies.- Dispatch the first mission (the one with empty
depends_on). - Remaining missions auto-dispatch as dependencies resolve (they have
auto_dispatch=true). - Report back with project ID and mission count so the user knows what was launched.
- Poll with
get_mission_statusorget_dashboard()periodically until all missions reach a terminal state (completed,failed, orcancelled). get_report(mission_id=...)for each terminal mission — summarize successes and call out failures with errors and next steps.
Manual: step-by-step control
create_project(name="My Project")→ returnsproject_id.create_mission(project_id=project_id, title="...", prompt="...", auto_dispatch=true)for the first (root) mission → captureroot_mission_id.create_mission(project_id=project_id, title="...", prompt="...", auto_dispatch=true, depends_on=["<root_mission_id>"])for each subsequent task.
…
FAQ
What are 'isolated worktrees'?
These are like separate boxes where each AI programmer works, ensuring one's work doesn't interfere with another's.
How do I know what the AI programmers are doing?
You can request a report (`get_report`) to see what was done, which files changed, and if there were any errors.
Can I stop an AI programmer mid-task?
Yes, you can use the `cancel_mission` command to stop a specific task.
Details
Original description by the author
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.
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #152
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
karpathy-guidelines
Helps your agent write better code by avoiding common mistakes. It's useful for ensuring code is simple, clear, and easy to verify.
multica-ai/andrej-karpathy-skills
skill-creator
Lets the agent create, modify, and optimize skills. Useful for testing skill performance and improving their accuracy.
anthropics/skills
ponytail-debt
Lists all code shortcuts ('shortcut:') left for later. It helps to see what still needs to be fixed in the project.
DietrichGebert/ponytail