Subagent protocols
Two reusable agent skills (simple-agent-comms, simple-agent-room) + Python CLI tools for inter-agent messaging on disk. JSON-Lines rooms, inotify-driven monitors, no broker dependency. Agent never needs to know the file paths.
npx -y skills add clankercode/agent-file-chat --skill subagent-protocolsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when setting up parent<->subagent communication or dispatching subagents and wanting a clean inbox handshake. This is the general pattern: the coordinator decides per subagent whether to monitor, append on demand, or stay one-way. The simple-agent-comms and simple-agent-room sibling skills are specialized variants that add a persistent Monitor.
SKILL.md
3.2 KB, 629 tokens by cl100k_base, as published. Nobody here has run it
Use this skill to establish a small file-backed startup handshake between a coordinator and subagent.
- If you are a subagent (you were dispatched by another agent): read
for-subagents.mdand follow it. - If you are a coordinator (you are dispatching subagents): read
for-coordinators.mdand follow it.
Where this fits
The three sibling skills cover a spectrum of inter-agent patterns:
| skill | role | cost | noise |
|---|---|---|---|
subagent-protocols (this) | general pattern — handshake + ad-hoc inboxes | none (no Monitor, no shared log) | none (each subagent's traffic stays isolated) |
simple-agent-comms | specialized: 1:1 streaming | one Monitor per subagent | none per subagent |
simple-agent-room | specialized: N:N broadcast via shared log | one Monitor total | everyone sees everything |
subagent-protocols is the general alternative: you decide per
subagent whether to (a) set up a Monitor and stream, (b) append on
demand, or (c) stay one-way. The two simple-agent-* skills are
opinionated variants that commit to one choice for you (comms → a
per-subagent Monitor; room → one shared log Monitor for everyone).
Pick the general pattern when neither specialization fits:
- You have many subagents and want each conversation to stay
private without spinning up N
Monitors. - The set of subagents is uneven — a few hot ones worth streaming, most just need occasional pings.
- You want to decide later whether each subagent needs streaming or just ad-hoc access; the handshake gives you enough to start talking either way.
Pick simple-agent-comms when you have one subagent and want
push-mirror-push two-way streaming with zero design decisions.
Pick simple-agent-room when you have many subagents that need
to discover each other and can tolerate a shared broadcast log.
What's actually in this skill
A pure protocol — no CLI scripts beyond the bundled watch-file.sh:
- A one-line startup handshake the subagent appends to the coordinator's inbox (id, capabilities, its own inbox path).
- A convention for per-subagent inbox paths under
~/.cache/agent-comms/<repo>/. - Three post-handshake modes the coordinator can pick from
(stream / ad-hoc / one-way — see
for-coordinators.md). - The
watch-file.shhelper so the coordinator can run aMonitoron any inbox path it ends up wanting to tail.
What ships with it: 3 files
6.0 KB alongside SKILL.md, 1 of them executable
- for-coordinators.md3.6 KB
- for-subagents.md1.5 KB
- watch-file.shruns913 B