browser-testing-with-s…
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and…
The canonical way to run agent-relay - set up the Agent Relay core with `agent-relay init` and autonomously spawn, monitor, and coordinate a team of worker agents without human intervention. Covers infrastructure startup, agent spawning, lifecycle monitoring, message-based
Claude Code
$ npx -y skills add AgentWorkforce/relay --skill orchestrating-agent-relay --agent claude-code
Codex
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a codex -y
Cursor
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a cursor -y
Gemini CLI
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a gemini-cli -y
GitHub Copilot
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a github-copilot -y
OpenCode
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a opencode -y
Windsurf
$ npx skills add AgentWorkforce/relay --skill orchestrating-agent-relay -a windsurf -y
name: orchestrating-agent-relay description: The canonical way to run agent-relay - set up the Agent Relay core with `agent-relay init` and autonomously spawn, monitor, and coordinate a team of worker agents without human intervention. Covers infrastructure startup, agent spawning, lifecycle monitoring, message-based reading via the relay MCP, and team coordination.
Self-bootstrap agent-relay infrastructure and manage a team of agents autonomously.
> **The local broker was removed.** `agent-relay node up`, `node down`, > `node status`, `node metrics`, `node tail`, `node deadletters`, > `node redeliver` and `node agent …` now only print a removal notice. Run > `agent-relay init` to set up and start the Agent Relay core (or > `agent-relay init --hosted` for the hosted service), then spawn, list and > release agents through the relay MCP (`add_agent`, `list_agents`, > `remove_agent`) or the desktop app. Sections below that still mention the > broker, `node agent …`, `node tail` or `--state-dir` describe older releases.
A headless orchestrator is an agent that:
1. Makes sure the Agent Relay core is set up on this machine (`agent-relay init`; `agent-relay init --hosted` to use the hosted service instead) 2. Spawns and manages worker agents through the relay MCP 3. Monitors agent lifecycle events 4. Coordinates work without human intervention
The orchestrator drives the team and reads/sends/lists through the **Agent Relay MCP server** (`agent-relay mcp`). The session registers itself once with the `register_agent` tool (name it `orchestrator`) — every messaging tool errors with `Not registered. Call the "register_agent" tool first.` until it does. Spawning and releasing agents go through the same MCP (`add_agent` / `remove_agent`). The workers it spawns are registered participants too; their peer-messaging reference is the **`using-agent-relay`** skill.
and the engine routes that agent's messages to its node reliably (ordered, resumable). The local broker is a node; agents you spawn on it are bound to it.
plus custom node actions). The engine **places** a spawn or action onto a node by capability + liveness + capacity + least-loaded, or onto a named `target_node`. Spawning and releasing agents are actions. Most orchestration spawns on the local broker; fleets matter when coordinating across nodes.
reactions and read receipts. Reading another agent's replies is a messaging operation (`check_inbox`, `list_messages`, `get_message_thread`), **not** a broker-event tail.
| Step | Command/Tool | | --------------------------------- | -------------------------------------------------------------- | | Verify installation | `command -v agent-relay` or `npx agent-relay --version` | | Verify Node runtime if shim fails | `node --version` or fix mise/asdf first | | Set up and start the core | `agent-relay init` (hosted: `agent-relay init --hosted`) | | Workspace + cloud status | `agent-relay status` | | Spawn worker (MCP) | `add_agent(name: "Worker1", cli: "claude", task: "...")` | | List workers (MCP) | `list_agents(status: "online")` | | Send DM to worker (MCP) | `send_dm(to: "Worker1", text: "...")` | | Post to channel (MCP) | `post_message(channel: "general", text: "...")` | | Read worker replies (MCP) | `check_inbox(limit: 20)` / `list_messages(channel: "general")` | | Give a human a follow-along link | `agent-relay observer` | | Release worker (MCP) | `remove_agent(name: "Worker1", reason: "...")` |
# Check if agent-relay is available command -v agent-relay || npx agent-relay --version # If your shell reports a mise/asdf shim error, fix Node first node --version # e.g. for mise: mise use -g node@22.22.1 # If not installed, install globally npm install -g agent-relay # Or use npx (no global install) npx agent-relay --version
# Sets up and starts the Agent Relay core on this machine agent-relay init # Or use the hosted service so agents on other machines can join agent-relay init --hosted
`agent-relay status` reports workspace and cloud login together. The CLI writes runtime state to `.agentworkforce/relay/` and may create `.mcp.json`; clean those files after validation if a worktree should remain clean.
Spawn through the relay MCP (the orchestrating session runs `agent-relay mcp`):
add_agent( name: "Worker1", cli: "claude", task: "Implement the authentication module following the existing patterns" )
> **Expect a 30–60s gap between spawn and the first ACK.** A worker shows in > `list_agents` within ~5s (the process is up), but the underlying CLI > (claude/codex) is still cold-starting and won't send its ACK DM until it > finishes booting — typically 30–45s, occasionally longer, after it appears. > Appearing in the list means "process alive," **not** "agent responsive." Don't > treat ACK silence in the first minute as a stuck worker; size ACK-wait loops > for at least 60s (e.g. a 30-iteration poll) befor
Tired of copy/pasting from Claude Code into Slack so your coworker can paste it into their agent? Ever put an important rule in a skill or AGENTS.md, only for the agent to completely ignore it? You and your teammates agents ever build the same thing?
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and…
Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern -…
Use when creating or improving Claude Code agents. Expert guidance on agent file structure, frontmatter, persona definition, tool…
Use when creating or publishing Claude Code hooks - covers executable format, event types, JSON I/O, exit codes, security…
Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter (not globs), glob patterns, and avoids…
Use when creating new Claude Code skills or improving existing ones - ensures skills are discoverable, scannable, and effective…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…