.agents/skills/running-headless-orchestrator/SKILL.md
Use when an agent needs to self-bootstrap agent-relay and autonomously manage a team of workers - covers infrastructure startup, agent spawning, lifecycle monitoring, and team coordination without human intervention
npx skillsauth add agentworkforce/relay running-headless-orchestratorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A headless orchestrator is an agent that:
agent-relay up)agent-relay up manually| Step | Command/Tool |
|------|--------------|
| Verify installation | which agent-relay or npx agent-relay --version |
| Start infrastructure | agent-relay up --no-dashboard --verbose |
| Check status | agent-relay status |
| Spawn worker | agent-relay spawn Worker1 claude "task" |
| List workers | agent-relay who |
| View worker logs | agent-relay agents:logs Worker1 |
| Send message | agent-relay send Worker1 "message" |
| Release worker | agent-relay release Worker1 |
| Stop infrastructure | agent-relay down |
# Check if agent-relay is installed
which agent-relay || npx agent-relay --version
# If not installed, install globally
npm install -g agent-relay
# Or use npx (no install needed)
npx agent-relay --version
# Preferred: run broker in foreground/stdin mode and keep the session open
agent-relay up --no-dashboard --verbose
mcp__relaycast__agent_add(
name: "Worker1",
cli: "claude",
task: "Implement the authentication module following the existing patterns"
)
# Check for worker messages
mcp__relaycast__message_inbox_check()
# Send follow-up instructions
mcp__relaycast__message_dm_send(to: "Worker1", text: "Also add unit tests")
# List active workers
mcp__relaycast__agent_list()
mcp__relaycast__agent_remove(name: "Worker1")
agent-relay down
# Spawn a worker
agent-relay spawn Worker1 claude "Implement auth module"
# Send message to worker
agent-relay send Worker1 "Add unit tests too"
# Release when done
agent-relay release Worker1
# Show currently active agents
agent-relay who
# View real-time output from a worker (critical for debugging)
agent-relay agents:logs Worker1
# View recent message history
agent-relay history
# Check overall system status
agent-relay status
# Kill unresponsive worker
agent-relay agents:kill Worker1
# Check system health
agent-relay health
# View metrics
agent-relay metrics
You are an autonomous orchestrator. Bootstrap the relay infrastructure and manage a team of workers.
## Step 1: Verify Installation
Run: which agent-relay || npx agent-relay --version
If not found: npm install -g agent-relay
## Step 2: Start Infrastructure
Run: agent-relay up --no-dashboard --verbose
Verify: agent-relay status (should show "running")
## Step 3: Manage Your Team
Spawn workers:
agent-relay spawn Worker1 claude "Task description"
Monitor workers (do this frequently):
agent-relay who # List active workers
agent-relay agents:logs Worker1 # View worker output/progress
Send instructions:
agent-relay send Worker1 "Additional instructions"
Release when done:
agent-relay release Worker1
## Protocol
- Workers will ACK when they receive tasks
- Workers will send DONE when complete
- Use `agent-relay agents:logs <name>` to monitor progress
- Use `agent-relay history` to see message flow
The broker emits these events (available via SDK subscriptions):
| Event | When |
|-------|------|
| agent_spawned | Worker process started |
| worker_ready | Worker connected to relay |
| agent_idle | Worker waiting for messages |
| agent_exited | Worker process ended |
| agent_permanently_dead | Worker failed after retries |
| Mistake | Fix |
|---------|-----|
| agent-relay: command not found | Install with npm i -g agent-relay or use npx agent-relay |
| "Nested session" error | Broker handles this automatically; if running manually, unset CLAUDECODE env var |
| Broker not starting | Try agent-relay down first, then use foreground agent-relay up --no-dashboard --verbose to see readiness logs |
| Background broker says started but status is STOPPED | Prefer foreground mode for that project/session; background mode may have detached incorrectly |
| Spawn fails with internal reply dropped | Broker likely is not fully ready yet; wait for readiness, then spawn one worker first |
| Workers not connecting | Ensure broker started; check agent-relay who and worker logs |
| Not monitoring workers | Use agent-relay agents:logs <name> frequently to track progress |
| Workers seem stuck | Check logs with agent-relay agents:logs <name> for errors |
| Messages not delivered | Check agent-relay history to verify message flow |
Self-bootstrap agent-relay infrastructure and manage a team of agents autonomously.
npm install -g agent-relay
# Or use npx without installing: npx agent-relay <command>
development
Run headless multi-agent orchestration sessions via Agent Relay. Use when spawning teams of agents, creating channels for coordination, managing agent lifecycle, and running parallel workloads across Claude/Codex/Gemini/Pi/Droid agents.
development
Use when you need Codex to coordinate multiple agents through Relaycast for peer-to-peer messaging, lead/worker handoffs, or shared status tracking across sub-agents and terminals.
development
Real-time messaging across OpenClaw instances (channels, DMs, threads, reactions, search).
development
Use when building multi-agent workflows with the relay broker-sdk - covers the WorkflowBuilder API, DAG step dependencies, agent definitions, step output chaining via {{steps.X.output}}, verification gates, evidence-based completion, owner decisions, dedicated channels, dynamic channel management (subscribe/unsubscribe/mute/unmute), swarm patterns, error handling, event listeners, step sizing rules, authoring best practices, and the lead+workers team pattern for complex steps