Install
$ agentstack add skill-agentworkforce-relay-codex-relay-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Agent Relay
Use this skill when Codex needs real-time coordination across multiple agents. It gives Codex a repeatable workflow for:
- connecting to an Agent Relay workspace
- spawning relay-aware workers
- sending direct messages, channel updates, and thread replies
- keeping lead and worker state synchronized through ACK, STATUS, BLOCKED, and DONE signals
Relay fills the peer-to-peer gap in Codex sub-agent workflows. Codex can spawn and collect worker results, but Agent Relay gives those workers a shared message bus so they can talk to the lead and to each other.
Auto-setup
On first activation, this skill auto-configures Codex by running scripts/setup.sh. This adds the Agent Relay MCP server to .codex/config.toml, enables hooks, installs hooks.json, and copies the relay-worker.toml agent definition. No manual setup is required after installing the skill.
Startup protocol
Every relay-connected Codex agent must complete these steps IN ORDER before substantive work:
- Set up a workspace.
- If
RELAY_WORKSPACE_KEYis set in the environment, callset_workspace_keywith that key. - If only the legacy
RELAY_API_KEYalias is set, treat it as the same workspace key. - If no key is available, call
create_workspaceto auto-create one. This returns a workspace key — save it for workers.
- Register as an agent. Call
register_agentwith your agent name andtype: "agent". UseRELAY_AGENT_NAMEfrom the environment if set, otherwise derive a name from the task context (e.g.,lead,auth-worker).
- Tell the user they can follow the conversation live at
https://agentrelay.com/observer?key=(use the workspace key from step 1). This lets them watch all agent messages in real time.
- Check the relay inbox. Call
check_inboxto see if there are any pending messages or task assignments.
- Send an ACK. If you received a task assignment, send
ACK:to your lead viasend_dm. If the assignment is unclear, sendBLOCKED:instead of guessing.
- When the task is complete, send
DONE:before stopping.
If workspace creation or registration fails, retry once, then report the failure to the user — do not proceed without a relay connection.
Critical rule
Do not assume the current MCP session already has an active Agent Relay workspace. Always call set_workspace_key or create_workspace before registering.
Working rules
- Include
as: ""on relay calls that support explicit attribution. - Keep the relay identity stable for the whole task. Do not switch names mid-task.
- Check the inbox again after meaningful milestones, before long-running work, and before stopping.
- Prefer direct messages for lead/worker coordination. Use channels only when multiple agents need the same update.
- Keep status messages short, factual, and scoped to the assigned work.
- Do not spawn additional relay workers unless the lead explicitly asks for more delegation.
- If the lead updates the task, follow the newest explicit instruction.
Message templates
ACK: I understand the assignment and I am starting work on .STATUS: Finished ; next I am doing .BLOCKED: I cannot continue because .DONE: Completed . Evidence: .
Worker patterns
There are two current ways to involve more agents. Use the right one for the job.
Registered workspace identities
Use register_agent for an agent process that is already running and only needs a Relay identity. Registration does not start a new model runtime.
Lead steps:
- Ensure workspace exists (
set_workspace_keyorcreate_workspace). - Register the lead (
register_agent). - Give the other running process the workspace key and tell it to call
register_agent with a stable name.
- Send the assignment via
send_dm(to: "worker-name", text: "..."). - Poll lead inbox for ACK (
check_inbox).
Worker steps:
- Call
set_workspace_keywith the shared key. - Register with
register_agent. - Check inbox (
check_inbox). - Send ACK to lead via
send_dm. - Perform the assigned scope.
- Send DONE to lead via
send_dm.
Relay-spawned workers
Use add_agent when the lead should ask Relay to start a provider-backed worker. The current tool requires name, cli, and task; optional fields include channel, persona, and model.
Lead steps:
- Ensure workspace exists and lead is registered.
- Spawn the worker with
add_agent(name: "worker-name", cli: "codex", task: "..."). - Include
https://agentrelay.com/skill, the lead name, exact scope, and
completion criteria in the task prompt.
- Poll lead inbox for ACK (
check_inbox). - Release the worker with
remove_agentafter the work is accepted.
Worker steps:
- Follow the
using-agent-relayrole fromhttps://agentrelay.com/skill. - Check inbox, send ACK, do the assigned work, and send DONE.
Codex sub-agents
If your Codex surface has a sub-agent spawn capability, use the bundled relay-worker agent definition for code-heavy work that needs a separate Codex runtime with file access and tools. Include the workspace key, relay name, lead name, exact scope, and completion criteria in the sub-agent prompt. If that spawn capability is not available, use add_agent instead.
Worker ACK fallback
If a worker does not ACK within 30 seconds:
- Check whether the worker appears in
list_agents. - If this is a running process, have it call
register_agent. - If this should be a spawned worker, call
add_agentwithname,cli, andtask. - Send (or re-send) the assignment via
send_dm. - Poll the lead inbox again for ACK.
- If still no ACK after a second attempt, report the exact failed step to the user.
Handoff template
Worker: api-worker
Type: relay-spawned worker (use add_agent with name, cli, and task)
Lead: lead
Scope: check the Agent Relay inbox and confirm connectivity
Protocol:
1. Check inbox
2. DM lead with ACK
3. Perform scope
4. DM lead with DONE
For code-heavy tasks, change the type line to:
Type: Codex sub-agent (use relay-worker if your Codex surface provides sub-agent spawning)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: AgentWorkforce
- Source: AgentWorkforce/relay
- License: Apache-2.0
- Homepage: https://agentrelay.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.