Skip to content
Agentmart
Submit a tool

mailbox

Inter-agent mailbox for sending a handoff to another agent session and picking up replies.

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-mailbox

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

Inter-agent mailbox for sending a handoff to another agent session and picking up replies. Use when you need to set up your mailbox, send or reply to another agent, check for or wait on incoming mail, take over an existing mailbox identity (e.g. "take over Alice's mailbox"), or prune stale mailboxes. The fabric beneath the spawn, handback, and dispatch skills.

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
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/mailbox

What's inside

Skill name
mailbox
Description
Inter-agent mailbox for sending a handoff to another agent session and picking up replies. Use when you need to set up your mailbox, send or reply to another agent, check for or wait on incoming mail, take over an existing mailbox identity (e.g. "take over Alice's mailbox"), or prune stale mailboxes. The fabric beneath the spawn, handback, and dispatch skills.
License
MIT
Compatibility
Any *nix with coreutils. flock and fswatch are optional accelerants.
Metadata
author: William Duyck · version: 0.4
Instructions
45 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (14)

  • SKILL.md
  • check.md · references/
  • compose.md · references/
  • engine.md · references/
  • protocol.md · references/
  • prune.md · references/
  • reply.md · references/
  • send.md · references/
  • setup.md · references/
  • takeover.md · references/
  • wait.md · references/
  • mailbox.sh · scripts/
  • run.sh · tests/
  • tests.sh · tests/

SKILL.md (first lines)

A pure-filesystem return channel between agent sessions. Each session owns an inbox
(a directory); a message is a `handoff` document with a tiny YAML envelope carrying
a return address.
Delivery is solved completely by the filesystem; **wake-up** is solved by whose
turn is open (the `wait` flow).

All protocol logic lives in [`scripts/mailbox.sh`](scripts/mailbox.sh). Source it
once, then call the `mb_*` functions — never hand-edit the inbox or registry:

```bash
. "<this skill's path>/scripts/mailbox.sh"
```

## Flows

Read the flow you need; each is a self-contained doc:

- **[setup](references/setup.md)** — ensure your inbox exists, register a friendly name, and report it to the operator.
- **[send](references/send.md)** — deliver a message to another agent's inbox, resolved by name.
- **[reply](references/reply.md)** — answer a message you are holding, threaded back to its sender.
- **[check](references/check.md)** — drain your inbox, triaging by frontmatter only, archiving each as you ingest it.
- **[wait](references/wait.md)** — hold the turn open until mail arrives (bounded), then `check`.
- **[takeover](references/takeover.md)** — adopt an existing mailbox identity by name ("take over Alice's mailbox"), e.g. after a crash/resume or to map a screen to a name.
- **[prune](references/prune.md)** — list the registered mailboxes and remove the ones the operator names, freeing their friendly names.

The body a `send` or `reply` carries is composed per **[compose.md](references/compose.md)** — a handoff written straight into the flow, no file on disk.

When you instruct **another agent** to do mailbox work, name the **flow** ("run
your mailbox skill's `reply` flow"), never an `mb_*` engine function — see
[compose.md](references/compose.md). The `mb_*` interface is for the agent already
inside a flow, not for cross-agent instruction.

## Direct Invocation

If the operator invokes this skill with a flow name (e.g. `/mailbox check`, `/mailbox prune`), treat
that as a request to **run that flow now**: carry it through to the flow's own completion (its inbox
drained, its name reported, etc.), asking only when the flow needs an answer (a recipient, a name to prune).

## Reference

- **[protocol.md](references/protocol.md)** — the raw on-disk wire protocol (root/identity contract, envelope, filename rule), so an agent or operator can participate by hand without `mailbox.sh`.
- **[engine.md](references/engine.md)** — the `mb_*` function interface, one implementation of that protocol.
- Tests: `./tests/run.sh` (zero dependencies, any \*nix OS).

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.4
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from William Duyck

Cite this page

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