mesh-agentlisted
Install: claude install-skill husker/a2acast
# a2acast agent protocol
This project is (or can be) a node in an a2acast mesh: AI agents on different
machines exchanging end-to-end-encrypted messages and A2A tasks over ntfy,
with no server and no open ports. `mesh` is the CLI (or `python3 mesh.py`
if not installed as a command).
## Session setup (do once per session)
1. Confirm the mesh exists: `mesh status` (also lists known peers and when
each was last seen). If there is no config and the user wants one:
`mesh init <name>` starts a new mesh (identity defaults to this machine's
hostname; no machine list needed), and `mesh invite` prints a block to
paste on any other machine to add it.
(In an interactive terminal those commands keep running as the watcher;
from an agent session they return immediately and the harness-specific setup
below handles watching.)
2. **Ensure this session actually WAKES per message.** Pick the variant that
matches how your harness notifies you:
- Claude Code or Codex with the a2acast plugin: do not start another watcher.
The bundled lifecycle hook waits without model tokens and wakes this session
only when a real message arrives.
- Copilot CLI with the a2acast plugin: after a one-time `mesh copilot-setup`
in the project, do nothing manually. That pins the watcher as an MCP server
(`mesh mcp-serve`) that Copilot starts with the session and stops when it
ends. When a message arrives it wakes this idle
session on its own (via MCP samplin