Install
openclaw skills install ai-swarmMulti-agent AI coding swarm orchestration. Plan parallel tasks, spawn Claude/Codex/Gemini agents in tmux sessions with git worktrees, auto-review, auto-integ...
openclaw skills install ai-swarmOrchestrate parallel AI coding agents with automated review, integration, and notifications.
tmux — agent sessions run heregit — worktrees for parallel branchesclaude CLI (Claude Code) — primary agentCopy scripts/ to your swarm directory (e.g., ~/workspace/swarm/). Make executable:
chmod +x ~/workspace/swarm/*.sh
mkdir -p ~/workspace/swarm/{logs,endorsements}
echo '[]' > ~/workspace/swarm/active-tasks.json
echo '' > ~/workspace/swarm/pending-notifications.txt
Copy references/duty-table-template.json to ~/workspace/swarm/duty-table.json. Configure model assignments.
⛔ CRITICAL GATE: Present the plan table to the human. Then STOP. Do NOT write prompts or spawn agents until the human explicitly approves.
The plan message and the spawn action must be in DIFFERENT turns. Never combine them.
🐝 Swarm Plan: [batch description]
| # | Task ID | Description | Agent | Model |
|---|---------|-------------|-------|-------|
| 1 | fix-xyz | Fix the freeze bug | claude | sonnet |
| 2 | add-feat | Add feature X | claude | sonnet |
Dependencies: None (all parallel)
Estimated time: ~15-20 min
Proceed? 👍/👎
Wait for human reply. Only after "yes"/"go"/👍 → proceed to Phase 2.
Write task prompts to /tmp/prompt-<task-id>.md, create batch JSON, then spawn:
cat > /tmp/batch-tasks.json << 'EOF'
[
{"id": "task-1", "description": "/tmp/prompt-task1.md", "agent": "claude", "model": "claude-sonnet-4-6"},
{"id": "task-2", "description": "/tmp/prompt-task2.md", "agent": "claude", "model": "claude-sonnet-4-6"}
]
EOF
cd ~/workspace/swarm
bash spawn-batch.sh "/path/to/project" "batch-id" "Batch description" /tmp/batch-tasks.json
spawn-batch.sh handles everything automatically:
For single tasks: bash spawn-agent.sh "/path/to/project" "task-id" "/tmp/prompt.md" "claude" "claude-sonnet-4-6"
The scripts handle this automatically:
notify-on-complete.sh detects each agent finishing → spawns reviewer → sends Telegramintegration-watcher.sh detects ALL agents done → spawns Opus integration agent → merges branches → resolves conflicts → verifies builds → sends TelegramWrite clear, self-contained prompts for each agent. Include:
tsc --noEmit, npm run build, etc.)Do NOT include openclaw system event in prompts — notify-on-complete.sh handles notifications automatically.
tmux ls # List active agent sessions
bash check-agents.sh # Health check all agents
bash pulse-check.sh # Detect stuck agents (auto-kills)
cat pending-notifications.txt # Check pending notifications
| Script | Purpose |
|---|---|
spawn-batch.sh | Spawn N agents + auto-integration watcher |
spawn-agent.sh | Spawn single agent with completion watcher |
integration-watcher.sh | Poll agents, auto-merge when all done |
start-integration.sh | Manual integration watcher start |
notify-on-complete.sh | Per-agent watcher: detect done → review → notify |
pulse-check.sh | Detect and kill stuck agents |
check-agents.sh | Quick status check |
endorse-task.sh | Create endorsement file for a task |
esr-log.sh | Update project ESR docs |
eor-log.sh | Write agent end-of-run log |
fallback-swap.sh | Model selection with fallback |
assess-models.sh | Weekly model benchmark |
deploy-notify.sh | CI/CD notification |
spawn-batch.sh for 2+ tasks, spawn-agent.sh for single tasksclaude --print or background exec (bypasses entire pipeline)Read references/HEARTBEAT.md for periodic checks:
pending-notifications.txt → send to human → clearpulse-check.sh for stuck agentstmux ls for completed agentsreferences/ROLE.md — Full role definition with lessons learnedreferences/TOOLS.md — Detailed script usage and prompt patterns