| name | agmsg |
| description | Cross-agent messaging via SQLite. Send messages between Claude Code, Codex, Gemini CLI, and other agents. No daemon, no network, no dependencies beyond bash and sqlite3. |
Agent Messaging
IMPORTANT: Always use the provided scripts. NEVER directly read or edit config files, DB, or team data. There is NO register.sh โ use join.sh to join a team.
How to use
Step 1: Check identity
~/.agents/skills/__SKILL_NAME__/scripts/whoami.sh "$(pwd)" <type>
Step 2a: If not in a team โ join one
Ask the user for a team name and agent name, then run:
~/.agents/skills/__SKILL_NAME__/scripts/join.sh <team> <agent_name> <type> "$(pwd)"
Do NOT manually edit config files. Always use join.sh.
Step 2b: If already in a team โ execute command
Default (no arguments): IMMEDIATELY check inbox. Do NOT ask what to do.
~/.agents/skills/__SKILL_NAME__/scripts/inbox.sh <team> <agent_id>
~/.agents/skills/__SKILL_NAME__/scripts/send.sh <team> <from_agent> <to_agent> "<message>"
~/.agents/skills/__SKILL_NAME__/scripts/history.sh <team> [agent_id] [limit]
~/.agents/skills/__SKILL_NAME__/scripts/team.sh <team>
~/.agents/skills/__SKILL_NAME__/scripts/leave.sh <team> <agent_id>
~/.agents/skills/__SKILL_NAME__/scripts/rename-team.sh <old_team> <new_team>
~/.agents/skills/__SKILL_NAME__/scripts/reset.sh "$(pwd)" <type> [agent_id] [session_id]
~/.agents/skills/__SKILL_NAME__/scripts/delivery.sh set <mode> <type> "$(pwd)"
~/.agents/skills/__SKILL_NAME__/scripts/delivery.sh status <type> "$(pwd)"
~/.agents/skills/__SKILL_NAME__/scripts/actas-claim.sh "$(pwd)" <type> <name> "$session_id"
~/.agents/skills/__SKILL_NAME__/scripts/reset.sh "$(pwd)" <type> <name> "$session_id"
Architecture
- Storage: SQLite with WAL mode in
~/.agents/skills/__SKILL_NAME__/db/messages.db
- Teams:
~/.agents/skills/__SKILL_NAME__/teams/<name>/config.json
- Concurrency: WAL allows multiple readers + 1 writer without conflicts
- No daemon: Direct DB access via
sqlite3 CLI
- Dependencies: bash, sqlite3 (no python3 required)