claude-relay
01Plugin Claude Code
Single-plugin marketplace for relay: lead/executor orchestration for Claude Code across iTerm2/Terminal.app tabs.
Plugin Claude Code
Single-plugin marketplace for relay: lead/executor orchestration for Claude Code across iTerm2/Terminal.app tabs.
Plugin Claude Code
Delegate work packets from a lead Claude Code session to executor sessions in their own iTerm tabs, with session reuse instead of always spawning fresh.
Agent
You are a relay EXECUTOR. A lead session delegates work to you as packets (markdown files); your first message points you at your current packet. The packet is the task; these are the standing rules you work under for every packet, in every session, no matter how long ago you read them.
Hook
Runs before the agent uses a tool for Edit, Write, MultiEdit and Bash tool calls, executing pretool_route_guard.py and pretool_bash_gate.py (2 commands). From spacegrowth/claude-relay.
Hook
Runs when the agent finishes a response, executing stop_lead_watch.py. From spacegrowth/claude-relay.
Hook
Runs when a session starts, executing sessionstart_lead_rearm.py. From spacegrowth/claude-relay.
Hook
Runs when a session ends, executing sessionend_lead_cleanup.py. From spacegrowth/claude-relay.
Skill Claude CodeCodex
Flip this lead session's autonomous posture: proceed by default on routine in-plan steps instead of asking, or go back to waiting. Invoke with /relay:auto, or when asked to "go autonomous", "stop asking me every time", "just proceed", "turn auto off", "what posture am I in".
Skill Claude CodeCodex
Render the relay board — one self-contained HTML page with every lead, its executors, each executor's packet timeline (gist, report outcome, TL;DR), status, launch flags (mcp/context/role), token spend, warnings, and copyable commands — and open it. Invoke with /relay:board, or when asked "show me the board", "give me…
Skill Claude CodeCodex
Poll a session (or all sessions) for a report and update its status. Invoke with /relay:check, or when asked "is it done", "check on session X", "has it reported yet".
Skill Claude CodeCodex
Mark an executor session done or superseded, OR step down from lead mode for this session. Invoke with /relay:close, or when asked "close that session", "mark it done", "this session is superseded by X", "step down from lead", "exit lead mode".
Skill Claude CodeCodex
Render an executor's staged changes to a self-contained HTML review page and open it. Invoke with /relay:diff, or when asked "show me the diff", "review X's changes", "let me see what changed".
Skill Claude CodeCodex
Jump iTerm to a session's tab — an executor's or a lead's. Invoke with /relay:focus, or when asked "go to X's tab", "show me session X", "focus/switch to X", "take me to that executor".
Skill Claude CodeCodex
Hand this lead session off to a fresh successor. Invoke with /relay:handoff, or when asked to "hand off", "hand this off to a new session", "start a successor lead".
Skill Claude CodeCodex
Show every relay session: worktree/topic/scope, model, status (idle/busy/stalled/dead/ superseded), round count, whether it's reported. Invoke with /relay:list, or when asked "what's running", "check my sessions", "what's in flight".
Skill Claude CodeCodex
Adopt the lead role for this session: plan work, delegate to executors via relay, review reports, never implement large work directly. Invoke with /relay:mode.
Skill Claude CodeCodex
Re-run a closed/dead executor's packet in a fresh tab as a NEW conversation (loses prior context). Invoke with /relay:restart, or when asked "restart X", "re-run X's packet", "start X over". Prefer /relay:resume if you want to keep the executor's context.
Skill Claude CodeCodex
Bring back a closed/dead executor tab — OR a crashed lead — WITH its full context. Reopens the same conversation via claude --resume, staged work intact. Invoke with /relay:resume, or when asked "bring back X", "reopen X", "X's tab closed, restore it", "resume that executor", "restore the crashed lead".
Skill Claude CodeCodex
Retire a heavy executor: close it AND write a successor-seed.md indexing its packets/reports, so spawning a fresh session over the same territory is cheap. Invoke with /relay:retire, or when asked "retire that session", "this exec is getting heavy", "rotate this executor", "close it but keep what it learned".
Skill Claude CodeCodex
Retain escape hatch for lead mode: when the routing gate blocks a large inline edit that is genuinely lead-appropriate work, declare a reason and open a short grace window so the edit can proceed. Invoke with /relay:route, or when a PreToolUse block tells you to.
Skill Claude CodeCodex
Send a follow-up packet into an EXISTING executor session (reuse, not a fresh spawn). Invoke with /relay:send, or when asked to route a fix-list or related task to a session that's already working that area.
Skill Claude CodeCodex
Open a new executor session in its own iTerm tab, seeded with a work packet. Invoke with /relay:spawn, or when asked to delegate genuinely new work to an executor.
Skill Claude CodeCodex
Step down from lead mode for this session. Invoke with /relay:stop, or when asked to "unarm", "stop relay", "step down from lead", "turn off the gate".
Skill Claude CodeCodex
Machine-check an executor's report against its staged reality — TL;DR block well-formed, claimed files actually staged, declared counts cross-checked — stamping MALFORMED / MISMATCH / INCONCLUSIVE / COUNTS-MATCH. Invoke with /relay:verify, or when asked "check that report", "did it really do what it says", "verify X's…