Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
From dev-workflownpx claudepluginhub alexei-led/cc-thingz --plugin dev-workflowThis skill is limited to using the following tools:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
You are part of a multi-agent swarm managed by ccgram. Each agent runs in its own tmux window. Use ccgram msg commands to collaborate with peers.
Your window ID is in $CCGRAM_WINDOW_ID (format: session:@N, e.g. ccgram:@3).
Declare your identity so peers can discover you:
ccgram msg register --task "brief description of current work" --team "team-name"
Update registration when your task changes.
ccgram msg list-peers # all active windows
ccgram msg find --team backend # filter by team
ccgram msg find --provider claude # filter by provider
ccgram msg find --cwd "*/api-*" # filter by working directory glob
Peer IDs use session:@N format. Pass them directly to send.
ccgram msg inbox # pending messages
ccgram msg inbox --json # machine-readable
ccgram msg read <msg-id> # mark as read + display full message
When you have peer messages:
--auto)When to check inbox: after completing a task, when idle, or when the user asks.
# Fire-and-forget
ccgram msg send <peer-id> "your message" --subject "topic"
# Block until reply (60s default timeout)
ccgram msg send <peer-id> "question?" --wait
# Reply to a received message (use the msg-id from inbox)
ccgram msg reply <msg-id> "your answer"
Message types:
send — request to a specific peer (TTL: 60min)reply — response to a received message (TTL: 120min)broadcast — notification to multiple peers (TTL: 480min)Notify all matching peers at once:
ccgram msg broadcast "API contract changed — regenerate clients" --team backend
ccgram msg broadcast "v2 migration complete" --provider claude
Request a new agent window (requires Telegram approval):
ccgram msg spawn --provider claude --cwd ~/project --prompt "implement feature X"
ccgram msg spawn --provider claude --cwd ~/project --prompt "run tests" --auto
Use --auto only for autonomous tasks that need no user interaction.
Prefer messaging an existing peer over spawning when someone is already working in the relevant codebase.
When a message is injected into your context (format: [MSG <id> from ...]), extract the msg-id and reply:
ccgram msg reply <msg-id> "your answer"
--file <path> instead of inline bodyccgram msg sweep # remove expired messages from all inboxes
When reporting messaging status to the user:
## Swarm Status
**My ID**: ccgram:@3 (api-gateway)
**Peers**: 4 active
| Peer | Window | Team | Task | Branch |
|------|--------|------|------|--------|
| ccgram:@0 | payment-svc | backend | refactor checkout | feat/checkout |
| ccgram:@5 | web-ui | frontend | dashboard | feat/dashboard |
**Inbox**: 2 pending messages
1. [request] from @0 (payment-svc): "Need API schema for /orders endpoint"
2. [notify] from @5 (web-ui): "Dashboard types updated"
/ccgram-messaging inbox # check and summarize inbox
/ccgram-messaging send # discover peers, pick one, send message
/ccgram-messaging broadcast # broadcast status to team
/ccgram-messaging peers # list all active peers
/ccgram-messaging spawn # spawn a new agent for a subtask
Execute this workflow now.