Pilot Swarm Task Farm Setup
/install pilot-swarm-task-farm-setup
Swarm Task Farm Setup
Deploy 5 agents: 1 leader, 3 workers, and 1 monitor.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| leader | \x3Cprefix>-leader |
pilot-leader-election, pilot-formation, pilot-task-router, pilot-broadcast | Elected leader, distributes tasks |
| worker-N | \x3Cprefix>-worker-N |
pilot-swarm-join, pilot-map-reduce, pilot-task-retry, pilot-metrics | Executes tasks, retries on failure |
| monitor | \x3Cprefix>-monitor |
pilot-task-monitor, pilot-mesh-status, pilot-slack-bridge, pilot-metrics | Tracks swarm health |
Setup Procedure
Step 1: Ask the user which role and prefix. For workers, also ask the worker number (1, 2, or 3).
Step 2: Install skills:
# leader:
clawhub install pilot-leader-election pilot-formation pilot-task-router pilot-broadcast
# worker (repeat for each):
clawhub install pilot-swarm-join pilot-map-reduce pilot-task-retry pilot-metrics
# monitor:
clawhub install pilot-task-monitor pilot-mesh-status pilot-slack-bridge pilot-metrics
Step 3: Set hostname and write manifest to ~/.pilot/setups/swarm-task-farm.json.
Step 4: Handshake — workers trust leader + monitor; leader trusts all workers + monitor.
Manifest Templates Per Role
leader
{
"setup": "swarm-task-farm", "role": "leader", "role_name": "Swarm Leader",
"hostname": "\x3Cprefix>-leader",
"skills": {
"pilot-leader-election": "Participate in leader election via consensus.",
"pilot-formation": "Manage swarm membership.",
"pilot-task-router": "Partition and distribute tasks to workers.",
"pilot-broadcast": "Broadcast work units to all workers."
},
"data_flows": [
{ "direction": "send", "peer": "\x3Cprefix>-worker-1", "port": 1002, "topic": "task-assignment", "description": "Work units" },
{ "direction": "send", "peer": "\x3Cprefix>-worker-2", "port": 1002, "topic": "task-assignment", "description": "Work units" },
{ "direction": "send", "peer": "\x3Cprefix>-worker-3", "port": 1002, "topic": "task-assignment", "description": "Work units" },
{ "direction": "receive", "peer": "\x3Cprefix>-worker-1", "port": 1002, "topic": "task-result", "description": "Completed results" },
{ "direction": "receive", "peer": "\x3Cprefix>-worker-2", "port": 1002, "topic": "task-result", "description": "Completed results" },
{ "direction": "receive", "peer": "\x3Cprefix>-worker-3", "port": 1002, "topic": "task-result", "description": "Completed results" }
],
"handshakes_needed": ["\x3Cprefix>-worker-1", "\x3Cprefix>-worker-2", "\x3Cprefix>-worker-3", "\x3Cprefix>-monitor"]
}
worker-N
{
"setup": "swarm-task-farm", "role": "worker-N", "role_name": "Compute Worker",
"hostname": "\x3Cprefix>-worker-N",
"skills": {
"pilot-swarm-join": "Join the swarm and register with leader.",
"pilot-map-reduce": "Execute map-reduce work units.",
"pilot-task-retry": "Retry failed tasks with exponential backoff.",
"pilot-metrics": "Report CPU, memory, task throughput to monitor."
},
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-leader", "port": 1002, "topic": "task-assignment", "description": "Work units" },
{ "direction": "send", "peer": "\x3Cprefix>-leader", "port": 1002, "topic": "task-result", "description": "Completed results" },
{ "direction": "send", "peer": "\x3Cprefix>-monitor", "port": 1002, "topic": "worker-metrics", "description": "Health metrics" }
],
"handshakes_needed": ["\x3Cprefix>-leader", "\x3Cprefix>-monitor"]
}
monitor
{
"setup": "swarm-task-farm", "role": "monitor", "role_name": "Swarm Monitor",
"hostname": "\x3Cprefix>-monitor",
"skills": {
"pilot-task-monitor": "Track task completion rates and queue depth.",
"pilot-mesh-status": "Monitor worker connectivity and latency.",
"pilot-slack-bridge": "Alert on worker failures or stalled tasks.",
"pilot-metrics": "Aggregate and display swarm metrics."
},
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-worker-1", "port": 1002, "topic": "worker-metrics", "description": "Worker health" },
{ "direction": "receive", "peer": "\x3Cprefix>-worker-2", "port": 1002, "topic": "worker-metrics", "description": "Worker health" },
{ "direction": "receive", "peer": "\x3Cprefix>-worker-3", "port": 1002, "topic": "worker-metrics", "description": "Worker health" }
],
"handshakes_needed": ["\x3Cprefix>-leader", "\x3Cprefix>-worker-1", "\x3Cprefix>-worker-2", "\x3Cprefix>-worker-3"]
}
Data Flows
leader → worker-*: task assignments (port 1002)worker-* → leader: completed results (port 1002)worker-* → monitor: health metrics (port 1002)
Workflow Example
# On leader — distribute:
pilotctl --json publish \x3Cprefix>-worker-1 task-assignment '{"task_id":"T-001","type":"image_resize","input":"batch-a.zip"}'
# On worker-1 — complete:
pilotctl --json publish \x3Cprefix>-leader task-result '{"task_id":"T-001","status":"success","duration_s":34}'
pilotctl --json publish \x3Cprefix>-monitor worker-metrics '{"worker":"worker-1","cpu":72,"tasks_done":15}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install pilot-swarm-task-farm-setup - After installation, invoke the skill by name or use
/pilot-swarm-task-farm-setup - Provide required inputs per the skill's parameter spec and get structured output
What is Pilot Swarm Task Farm Setup?
Deploy a self-organizing compute swarm with 5 agents. Use this skill when: 1. User wants to set up a distributed task farm or compute swarm 2. User is config... It is an AI Agent Skill for Claude Code / OpenClaw, with 60 downloads so far.
How do I install Pilot Swarm Task Farm Setup?
Run "/install pilot-swarm-task-farm-setup" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Pilot Swarm Task Farm Setup free?
Yes, Pilot Swarm Task Farm Setup is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Pilot Swarm Task Farm Setup support?
Pilot Swarm Task Farm Setup is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Pilot Swarm Task Farm Setup?
It is built and maintained by Calin Teodor (@teoslayer); the current version is v1.0.0.