Send a task to another Agent Keyboard agent by handle and optionally get a completion report back. Use when asked to relay/delegate/forward work to another site's agent or to report status to the master.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add vibhasjain/agent-keyboard --skill relay --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Relay?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vibhasjain-relay)More formats (shields.io, HTML) on the badges page.
---
name: relay
description: Send a task to another Agent Keyboard agent by handle and optionally get a completion report back. Use when asked to relay/delegate/forward work to another site's agent or to report status to the master.
---
# relay
Use the fleet registry through the seeded helper at
`/data/.claude/skills/relay/relay.sh`.
## Handles
| Handle | Target | Guest | Color | Description |
| --- | --- | --- | --- | --- |
| `home` | `main / cv /` | no | `#ffb86b` | vibhasjain.com homepage — THE MASTER ORCHESTRATOR |
| `jobs` | `main / cv-jobs` | no | `#7fb4e8` | career-ops worker (vibhasjain.com) |
| `nutrition` | `main / cv /nutrition` | no | `#b3d96b` | vibhasjain.com/nutrition — nutrition logging |
| `movies` | `main / cv /movies` | no | `#d873e8` | vibhasjain.com/movies |
| `movieclub` | `main / cv /movieclub` | no | `#5bc8e8` | vibhasjain.com/movieclub |
| `vanlife` | `main / estherandvibhas /vanlife` | no | `#a0aef2` | estherandvibhas.com/vanlife |
| `agentkeyboard` | `main / halo` | no | `#6fd3c7` | agentkeyboard.com — edits Agent Keyboard's own repo |
| `makemepixels` | `main / makemepixels` | no | `#f47fb0` | makemepixels.com |
| `menuplusplus` | `mpp / mpp` | no | `#6dd396` | menuplusplus.com (live agent, fork server) |
| `estherandvibes` | `main / estherandvibhas /` | no | `#b794f6` | estherandvibhas.com |
| `estherfell` | `main / estherfell /` | yes | `#e8c95a` | estherfell.com |
| `closeoutcopilot` | `main / closeout /` | yes | `#e7d3b8` | closeoutcopilot.com deck |
| `closeoutjobs` | `main / closeout-jobs` | yes | `#9aa7c7` | closeout jobs worker |
| `menuplusplusserver` | `mpp / keyboard` | no | `#ef8e7d` | the Menu Plus Plus Agent Keyboard — edits the MPP fork's own bar/server code |
`nutrition`, `movies`, `movieclub`, and `vanlife` are page agents — fixed
sub-page sessions of their site. `home`, `estherandvibes`, `estherfell`, and
`closeoutcopilot` are page-scoped sites: add `:/path` to target any other page
session; `/` is the default.
## Mentions
When a reply refers to a fleet agent, write the bare handle — `@makemepixels`,
not `` `@makemepixels` `` and not `**@makemepixels**`. The owner's bar renders a
bare mention as that agent's colored tag; backticks make it plain code and lose
the color.
## Send work
Fire-and-forget is the default: it prints the durable job id and disconnects
without stopping the job.
```bash
bash /data/.claude/skills/relay/relay.sh menuplusplus "Check the current batch status" --from home
bash /data/.claude/skills/relay/relay.sh estherandvibes:/rsvp "Fix the RSVP copy" --reply-to home
```
Use `--reply-to <handle>` when the target should send a completion report. Use
`--wait` for a short task when you need its terminal `result` or `error` inline;
it waits up to 900 seconds unless `--timeout <sec>` overrides that limit.
```bash
bash /data/.claude/skills/relay/relay.sh agentkeyboard "Inspect the current server status" --wait
bash /data/.claude/skills/relay/relay.sh --jobs home:/movies
```
Posting to a busy site simply queues the task FIFO.
Never `--wait` on a handle that lives on YOUR OWN site (e.g. home → nutrition /
movies / movieclub): page agents share your site's job lock, so their job cannot
start until your turn ends — waiting would block yourself. Fire-and-forget with
`--reply-to` instead.
The `mpp` instance (`menuplusplus`, `menuplusplusserver`) auto-suspends when
idle and wakes on any request. Prefer `--wait` for those two handles — it holds
the connection and keeps the machine awake for the whole job. A fire-and-forget
job there may pause mid-run once idle and only finish at the machine's next
wake (jobs are durable and auto-resume).
## Completion callbacks
Callback turns arrive like normal messages beginning `[relay:done <handle>]`.
When one arrives, summarize it for the owner. Do **not** relay it onward unless
the prompt explicitly asks you to.
Guest handles `estherfell`, `closeoutcopilot`, and `closeoutjobs` have both
relay secrets stripped. They cannot run callbacks: use `--wait` or poll `--jobs`
for work sent to them, and never use a guest handle as `--reply-to`.
`home` is the master orchestrator and a ROUTER: any request that belongs to
another agent's site — any handle, not just its own page agents — gets relayed
there by default (fire-and-forget, `--from home --reply-to home` for non-guest
targets), and home's whole reply is a terse dispatch note ("→ @menuplusplus,
job dispatched"). That ends home's turn immediately so it can take the next
request; the conversation then continues in the target agent's own session.
Home does the work itself only when it is genuinely about vibhasjain.com's
homepage, fleet status, or orchestration. Every other agent: only relay when
your prompt explicitly asks. Subagents report to home.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!