swarm-executor
by @xb19960921
Coordinate multi-agent swarm execution with a lightweight Pub/Sub protocol, standardized SwarmCommand messages, token-budget control, agent status tracking,...
clawhub install swarm-executorπ About This Skill
name: swarm-coordinator description: Coordinate multi-agent swarm execution with a lightweight Pub/Sub protocol, standardized SwarmCommand messages, token-budget control, agent status tracking, negotiation, fallback, and completion gates. Use when building or reviewing multi-agent coordination, swarm execution, task delegation, agent handoff, token quota governance, Redis/in-memory PubSub orchestration, role-based agent teams, or safe parallel AI workflows. version: "1.1.0" last_updated: "2026-04-25" changelog: "ClawHub-ready release: generalized public wording, added execution workflow, safety boundaries, gates, failure handling, validation checklist, and test prompts."
Swarm Coordinator
Swarm Coordinator is a lightweight coordination skill for multi-agent execution. It helps an agent design, validate, and operate a swarm workflow using:
SwarmCommand messagesUse it when the task is not βone agent answers onceβ, but multiple agents must coordinate without losing control of cost, state, ownership, or completion criteria.
This skill is intentionally control-oriented: a swarm is only valuable when parallelism improves throughput or quality without causing duplicated work, hidden queue drift, or uncontrolled token spend.
When to Use
Use this skill for:
Do not use it for simple single-agent tasks. If one agent can complete the job directly, avoid swarm overhead.
Core Principle
A swarm is useful only if it improves throughput or quality without causing coordination chaos.
Always protect four invariants:
1. Single task owner β every task has one accountable owner at a time. 2. Explicit state β each command has status, deadline, budget, dependencies, and result. 3. Bounded cost β token budget and downgrade rules are part of the protocol. 4. Verifiable completion β completion requires artifacts, tests, review, or an explicit result field.
If any invariant is missing, the swarm can drift, duplicate work, or burn tokens.
Default Workflow
Step 1: Decide whether swarm is justified
Use swarm only when at least one is true:
If not, keep it single-agent.
Step 2: Define roles and ownership
Specify:
commander / coordinator
executor(s)
reviewer / auditor
monitor / verifier
fallback owner
Each task should have one current assigned_to. Multiple reviewers are allowed, but multiple executors writing the same artifact are not unless explicitly coordinated.
Step 3: Create a SwarmCommand
A command must include:
{
"command_id": "cmd_12345678",
"timestamp": "2026-04-25T12:00:00Z",
"sender": {"type": "coordinator", "id": "001"},
"target": {"type": "developer", "id": "003"},
"command": {
"action": "develop",
"module": "login",
"requirements": ["JWT auth", "tests"],
"output_format": "python_code"
},
"metadata": {
"priority": "high",
"token_budget": 1500,
"deadline": "2026-04-25T13:00:00Z",
"dependencies": []
},
"negotiation": {
"allowed": true,
"timeout": 300
}
}
Prefer using coordinator/swarm_protocol.py for deterministic command creation and validation. If your project has its own agent taxonomy, map local role names to the protocol roles instead of hard-coding private labels in prompts.
Step 4: Validate before publish
Before publishing to Redis or memory queue, validate:
low | medium | high | criticalIf validation fails, do not publish. Return validation errors and ask for correction or auto-fix safe fields.
Step 5: Publish, subscribe, and track state
Use:
from coordinator.pubsub import PubSubCoordinator
from coordinator.swarm_protocol import SwarmProtocolprotocol = SwarmProtocol()
coordinator = PubSubCoordinator(use_redis=True)
command = protocol.create_command(
agent_type="developer",
command={"action": "analyze", "module": "performance"},
priority="high",
token_budget=2000,
)
valid, errors = protocol.validate_command(command)
if valid:
coordinator.publish("tasks", command.to_dict())
else:
print(errors)
Track state transitions:
pending β assigned β in_progress β completed / failed / cancelled
No command should remain in_progress forever. Use deadline or heartbeat timeout to trigger fallback.
Step 6: Collect result and close the loop
Completion should include:
success: true/falseIf result is missing required artifacts, mark as incomplete instead of completed.
Token Budget and Downgrade Rules
Use token budget as a control mechanism, not just metadata.
Recommended rules:
| Condition | Action | |---|---| | budget remaining > 40% | continue normal execution | | budget remaining 20-40% | compress context and reduce parallel agents | | budget remaining < 20% | downgrade model/tier or require coordinator approval | | budget exceeded | stop publishing new subtasks and request confirmation | | repeated failure | lower concurrency and route to reviewer/monitor |
For local implementation, use coordinator/token_budget.py if available.
Negotiation Rules
Allow negotiation when:
Negotiation output should be a decision, not endless discussion:
{
"decision": "assign_to_developer_then_review_by_auditor",
"reason": "developer owns implementation; auditor reviews risk",
"budget_adjustment": 500,
"deadline_adjustment": null,
"blocked": false
}
If negotiation exceeds timeout, coordinator decides or escalates to human.
Failure Handling
Handle these failures explicitly:
| Failure | Response | |---|---| | invalid command | reject before publish; return schema errors | | target unavailable | reroute to fallback owner | | dependency blocked | keep pending; notify coordinator | | budget exceeded | pause or downgrade; do not silently continue | | deadline missed | mark failed or escalate | | duplicate owner | choose one owner; cancel duplicate assignment | | incomplete result | reopen task with missing artifact list | | repeated failure | reduce concurrency; route to reviewer/monitor |
Never let failures become silent queue drift.
Safety Boundaries
Ask for human confirmation before swarm actions that are:
Swarm coordination amplifies mistakes. High-risk actions need stronger gates than single-agent execution.
Output Format
When using this skill, return:
## Swarm Plan
Goal:
Swarm justified? yes/no + reason
Agents and roles:
Ownership model: Commands
| command_id | target | action | budget | dependencies | gate |
|---|---|---|---:|---|---|Coordination Flow
pending β assigned β in_progress β completed/failedBudget / Downgrade
Total budget:
Per-agent budget:
Downgrade trigger: Failure / Fallback
Main risks:
Fallback owner:
Escalation condition: Verification
Required artifacts:
Tests / review:
Done criteria:
For code-facing tasks, also mention which files or APIs to use.
Bundled Resources
Use these resources when needed:
coordinator/swarm_protocol.py β deterministic SwarmCommand creation, validation, assignment, completion, negotiation helpers.schemas/swarm_command.json β JSON Schema for command validation.tests/test_swarm_protocol.py β regression tests for protocol behavior.test-prompts.json β Darwin-style prompts for future skill regression evaluation.Read or run them when modifying the protocol implementation.
Validation Checklist
Before calling a swarm workflow ready, check:
Quality Bar
A good swarm plan should reduce confusion, not add bureaucracy.
It succeeds when:
If the swarm adds agents without improving control, do not use swarm.