From statsclaw
Defines append-only mailbox protocol for inter-agent communication in Claude Code runs, with INFO, HOLD_REQUEST, and INTERFACE_CHANGE message types for coordination between leader and teammates.
npx claudepluginhub statsclaw/statsclaw --plugin statsclawThis skill uses the workspace's default tool permissions.
This protocol governs how teammates communicate with each other and with leader through the shared mailbox during a run.
Enables message passing, file reservations, session tracking, and threaded conversations between agents via HTTP APIs. Use for multi-agent coordination on shared projects.
Defines Markdown artifact handoff protocol for two-pipeline (code/test/simulation) architecture in multi-agent workflows, enforcing naming, paths, and isolation via leader mediation.
Implements PACT agent teams protocol for task claiming, teachback verification, inter-agent messaging with SendMessage, blocker reporting, and work handoffs.
Share bugs, ideas, or general feedback.
This protocol governs how teammates communicate with each other and with leader through the shared mailbox during a run.
The mailbox for each run lives at:
.repos/workspace/<repo-name>/runs/<request-id>/mailbox.md
Leader creates this file when the run starts. If it does not exist when a teammate needs to write, the teammate creates it.
The mailbox is append-only. Teammates may only add new messages to the end of the file. They MUST NOT:
This ensures a reliable audit trail of cross-teammate communication.
Each message follows this exact format:
---
**Timestamp:** YYYY-MM-DD HH:MM UTC
**From:** <agent-name>
**Type:** INFO | HOLD_REQUEST | INTERFACE_CHANGE
**Subject:** <one-line summary>
<message body — as concise as possible>
| Type | Meaning | Action Required |
|---|---|---|
INFO | Non-blocking observation or note for downstream teammates | Leader reads and forwards if relevant |
HOLD_REQUEST | The sender cannot continue without user input — corresponds to a HOLD signal | Leader must ask the user the specific question before dispatching downstream work |
INTERFACE_CHANGE | A function signature, file path, export, or API surface changed in a way that affects other teammates | Leader must notify affected downstream teammates in their dispatch prompt |
Mailbox message types are not workflow signals. They are communication records. The mapping:
| Mailbox Type | Corresponding Signal | Who Acts |
|---|---|---|
HOLD_REQUEST | HOLD (raised by the teammate) | Leader asks user, re-dispatches teammate |
INFO | (none — no signal raised) | Leader reads and optionally forwards |
INTERFACE_CHANGE | (none — no signal raised) | Leader includes in downstream dispatch |
Note: BLOCK and STOP are NOT mailbox types. They are verdicts written directly in audit.md (BLOCK) and review.md (STOP). The mailbox is for inter-teammate communication, not for verdict delivery.
Teammates SHOULD write to the mailbox when:
HOLD_REQUEST)INTERFACE_CHANGE)INFO)INFO)INFO)Teammates SHOULD NOT use the mailbox for:
After each teammate completes, leader MUST:
mailbox.md for any new messages since the last check.HOLD_REQUEST message exists, forward the question to the user via AskUserQuestion before dispatching downstream work.INTERFACE_CHANGE message exists, include the change details in the dispatch prompt for any affected downstream teammate.INFO message is relevant to downstream work, summarize it in the next dispatch prompt.---
**Timestamp:** 2026-03-13 14:22 UTC
**From:** builder
**Type:** INTERFACE_CHANGE
**Subject:** Renamed `calc_stats()` to `compute_statistics()`
The function `calc_stats()` in `src/stats.R` was renamed to `compute_statistics()` to match the naming convention used elsewhere in the package. All internal callers have been updated. Scriber should update any documentation or examples that reference the old name.
---
**Timestamp:** 2026-03-13 14:45 UTC
**From:** planner
**Type:** HOLD_REQUEST
**Subject:** Undefined symbol in equation (3)
In equation (3) of the uploaded PDF, the symbol $\hat\Sigma$ is used but never defined. Is this: (a) the sample covariance matrix $X'X/N$, (b) the residual covariance $\hat{e}\hat{e}'/N$, or (c) something else? Its dimension ($N \times N$ vs $T \times T$) also needs clarification.