boshu2/agent-mail
Use Agent Mail as an optional messaging and file-reservation adapter for explicitly coordinated writers. Triggers: "coordinate writers", "reserve files".
npx skills add https://github.com/boshu2/agentops --skill agent-mail
Agent Mail carries messages, acknowledgements, identities, and temporary file
reservations. It is not a task tracker, queue, proof ledger, or lifecycle
controller.
Reservations are advisory: they prevent collisions only because every
cooperating writer checks them against the same absolute project path, and one
writer registered against a different path resolution makes the whole ledger
advisory fiction. Agent Mail enforces nothing on a writer that does not check.
Named failure mode — silence-as-status: reading an unanswered thread as
"work stalled" or "work done"; mail silence proves only that no mail arrived.
Anti-pattern: widening or renewing a reservation unprompted when a conflict
appears. Corrective: report the conflict to the caller as-is; scope and TTL
changes are the caller's call.
participants, paths, exclusivity, reason, and TTL.
create work ownership or affect Plan, Candidate, or verdict semantics.
evidence that a change is correct or complete.
force_release, only on the caller'sexplicit request for that exact reservation. Force-release has no autonomous
trigger; a conflict is reported, not force-cleared.
integrates, closes, releases, or delivers work.
Two disjoint surfaces; do not reach the second from the first:
caller's paths, send/read/acknowledge the caller's threads. This is the whole
of routine use, and all of it writes durable Agent Mail records.
Installing the git pre-commit guard, doctor repair, backup/restore, and the
irreversible clear-and-reset-everything are a separate mode. Each requires
the caller's explicit authorization for that specific operation; none is ever
performed as a side effect of coordination. clear-and-reset-everything
deletes the database and all storage and cannot be undone — never run it, even
with --force, without an explicit destructive-reset authorization from the
caller.
Use the MCP tools when they are present. Otherwise use the self-describing am
CLI. Discover current syntax with am mail --help,
am file_reservations --help, and related group help; do not infer commands
from remembered aliases.
Return the project, identity, thread/message ids, reservation ids and paths
(with their TTLs), conflicts, and timestamps. The caller owns all subsequent
decisions.
Terminal outcomes are explicit, never silent:
am CLI is present:report that Agent Mail is unavailable and stop. Do not fall back to
hand-written coordination or treat the absence as "no conflicts".
narrow, widen, renew, or force-release it.
with what was and was not observed; a timeout is evidence, not "done".
in place (still holding a TTL) are named so the caller can see what remains.
Take boshu2/agent-mail from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.