Skip to content
Agentmart
Submit a tool

dispatch

Dispatch work to another agent through the mailbox to a named existing peer, or to a new agent wired to reply to you.

Skill by William Duyck

IndexedMIT★ 4
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/fuzzyfox-dispatch

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Dispatch work to another agent through the mailbox to a named existing peer, or to a new agent wired to reply to you. Use when the operator says "dispatch to <name>" or "dispatch this to a new agent", optionally refining what to send.

Use cases: agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dispatch

What's inside

Skill name
dispatch
Description
Dispatch work to another agent through the mailbox to a named existing peer, or to a new agent wired to reply to you. Use when the operator says "dispatch to <name>" or "dispatch this to a new agent", optionally refining what to send.
License
MIT
Metadata
author: William Duyck · version: 0.3
Instructions
69 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

The mailbox front door for handing work off. Either destination composes the body
per the mailbox [`compose`](../mailbox/references/compose.md) rules and streams it
straight into the `send` flow — no handoff file on disk.

Make sure your own inbox exists first (mailbox `setup` flow) so the recipient can
reply.

## Choose the destination

Parse the operator's request into a recipient `name` (if any) and an optional
`what` (a refinement of the handoff, e.g. *"just the failing tests"*). Then:

1. **Named, and it resolves** (`mb_lookup`) → send to that peer.
2. **Named, but no match** → list the known names (`mb_names`) and let the operator
   correct it. Never guess an id.
3. **No name, and the context clearly calls for a fresh delegate** → create a new
   agent (below).
4. **No name, and it's ambiguous** — you can't tell whether the operator meant an
   existing peer or a new one → **ask the operator** before doing either — creating
   an agent launches a process, so confirm intent first.

## Send to an existing peer

Run the mailbox `send` flow, resolving the peer by `name`. Confirm to the operator
what was sent and to whom (`mb_whois`). If the peer is `wait`-ing it arrives at
once; otherwise it surfaces when the operator next prompts that session and it runs
`check`.

## Create a new agent

- Mint a child id and ensure its inbox; register a friendly name for it (a common
  given name in the operator's current conversation language).
- `send` the composed handoff to that inbox as message-zero, with the subject
  prefixed `spawn:` — this is the marker the child's `handback` greps to find you
  as its parent, so it is required.
- Launch the child in a fresh tmux window named with a 2–3 word kebab-case slug
  from the focus, running the same agent CLI that invoked this skill. If tmux is
  unavailable, print the command and ask the operator to run it manually.

The child's id travels in its **bootstrap prompt**, not the environment — an agent
reads an inherited env var unreliably and may mint a fresh id, so put the id in the
prompt text the model actually sees. `$child_id` is the id you just provisioned and
`$PROMPT` is the bootstrap prompt, which **must name that id explicitly**, e.g.
*"Use your mailbox skill. Your mailbox id is `<child_id>` and your name is
`<child_name>` — set `AGENT_MAILBOX_ID` to that id, then run your `check` flow; your
first message (subject `spawn:`) is your handoff."* The root is the fixed
`/tmp/agent-mailbox`, so nothing about location is passed. `opencode` takes its
prompt via `--prompt`:

```bash
tmux new-window -n "$TITLE" "$AGENT \"$PROMPT\""
# opencode: … $AGENT --prompt "$PROMPT"
```

Then choose:

- **Fire-and-forget (default)** — return to your work; it's the operator's call to
  ask for a mailbox check later.
- **Follow to completion** — run the mailbox `wait` flow now, and on mail, action
  the reply if it's from the agent you just created.

## Both paths

Anything you write into the body for the recipient to act on should name the
**flow** it ought to run (*"reply via your mailbox `reply` flow"*, *"use the
`handback` skill"*) — never the `mb_*` engine functions — so the surrounding flow
discipline travels with the instruction.

From fuzzyfox/skills, MIT.

More from fuzzyfox/skills

Signals

Stars
4
Forks
0
Open issues
0
Last commit (this folder)
Jul 10, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
0.3
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from William Duyck

Cite this page

dispatch skill. Agent Mart. https://agentmart.dev/skills/fuzzyfox-dispatch (last updated 2026-10-24)