agent-comms

Send messages to other Claude Code sessions via tmux. Hand off complex debugging context, get second opinions, share detailed technical findings across sessions.

16 stars

Best use case

agent-comms is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Send messages to other Claude Code sessions via tmux. Hand off complex debugging context, get second opinions, share detailed technical findings across sessions.

Teams using agent-comms should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/agent-comms/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/data-ai/agent-comms/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/agent-comms/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How agent-comms Compares

Feature / Agentagent-commsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Send messages to other Claude Code sessions via tmux. Hand off complex debugging context, get second opinions, share detailed technical findings across sessions.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Agent Communication

Send messages to and read output from other tmux sessions running Claude Code. Built for coordination between parallel agent sessions.

## Setup

Make the script executable (one-time):
```bash
chmod +x ~/.claude/skills/agent-comms/scripts/agent-msg
```

## Message Format

**Always prefix messages with a header so the receiving session knows it's agent-to-agent:**

```
[AGENT-MSG] From: <your-session-name>
<your actual message here>
```

Get your session name:
```bash
tmux display-message -p '#S'
```

## Commands

```bash
SCRIPT=~/.claude/skills/agent-comms/scripts/agent-msg

# List available sessions
$SCRIPT list

# Send message (types into their terminal + Enter)
$SCRIPT send <session> "<message>"

# Read their terminal output
$SCRIPT read <session> --lines 50

# Get their working directory
$SCRIPT info <session>
```

## Workflow

1. **Get your session name** for identification:
   ```bash
   tmux display-message -p '#S'
   ```

2. **List sessions** to find the target:
   ```bash
   ~/.claude/skills/agent-comms/scripts/agent-msg list
   ```

3. **Read their context** before sending:
   ```bash
   ~/.claude/skills/agent-comms/scripts/agent-msg read worker-1 --lines 50
   ```

4. **Send your message with identification**:
   ```bash
   ~/.claude/skills/agent-comms/scripts/agent-msg send worker-1 "[AGENT-MSG] From: main-session

   Hit a wall on the websocket reconnection logic. Here's where I'm stuck: [detailed context...]"
   ```

5. **Read their response**:
   ```bash
   ~/.claude/skills/agent-comms/scripts/agent-msg read worker-1 --lines 30
   ```

## Example: Complex Debug Handoff

You've been debugging a native module issue for 20 minutes. It's a multi-layered problem involving Node versions, native rebuilds, and cross-project dependencies. You want another agent to take a look with full context:

```bash
# Check what sessions are running
~/.claude/skills/agent-comms/scripts/agent-msg list
# SESSION                  WINDOWS  ATTACHED
# worker-debug             1        no
# main-session             1        yes

# Send the full technical context
~/.claude/skills/agent-comms/scripts/agent-msg send worker-debug "[AGENT-MSG] From: main-session

Need a second opinion on a native module conflict. Here's what I've traced:

THE ISSUE:
- electron-builder fails with 'better-sqlite3 was compiled against a different Node.js version'
- This started after I ran nvm use 22 in another terminal for a different project

WHAT I'VE FOUND:
1. Main project expects Node 20.x for native modules
2. better-sqlite3 got rebuilt against Node 22 when I ran npm install in the other project
3. They share a global .node-gyp cache at ~/.node-gyp
4. The rebuild pulled in headers for 22.x, now electron can't load the module

WHAT I'VE TRIED:
- npm rebuild better-sqlite3 (still uses cached 22.x headers)
- Deleted node_modules, fresh install (same issue)
- electron-rebuild --force (fails with same ABI mismatch)

QUESTION:
Do I need to clear the global .node-gyp cache? Or is there a way to force better-sqlite3 to rebuild with electron's Node headers specifically? Wondering if I'm missing something obvious."

# Wait for them to analyze, then check response
~/.claude/skills/agent-comms/scripts/agent-msg read worker-debug --lines 50
```

## When to Use This

- **Complex debugging**: You've built up 15 minutes of context tracing an issue - share it rather than have another agent start from scratch
- **Cross-project conflicts**: Version mismatches, shared caches, native module issues that span multiple repos
- **Architectural decisions**: "Here's the tradeoff I'm seeing between approach A and B, with all the constraints I've discovered"
- **Rubber duck with context**: Sometimes you just need another agent to see your full reasoning and spot the flaw

## Why the Header Matters

The receiving Claude Code session sees your message as user input. Without the `[AGENT-MSG]` header, it might think a human is typing. The header tells it:
- This is automated agent-to-agent communication
- Which session sent it (for replies)

## Notes

- Session names follow patterns like `terminal-HHMMSS` or custom names you assign
- Always include the `[AGENT-MSG]` prefix
- Be specific about what you need
- The other agent can reply using the same skill

Related Skills

internal-comms

16
from diegosouzapw/awesome-omni-skill

Um conjunto de recursos para ajudar a escrever todos os tipos de comunicações internas, usando os formatos que minha empresa gosta de usar. O Claude deve usar esta habilidade sempre que solicitado a escrever algum tipo de comunicação interna (relatórios de status, atualizações de liderança, atualizações 3P, boletins informativos da empresa, FAQs, relatórios de incidentes, atualizações de projetos, etc.).

internal-comms-community

16
from diegosouzapw/awesome-omni-skill

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal ...

internal-comms-anthropic

16
from diegosouzapw/awesome-omni-skill

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal ...

anthropic-internal-comms

16
from diegosouzapw/awesome-omni-skill

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

obsidian-daily

16
from diegosouzapw/awesome-omni-skill

Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago".

obsidian-additions

16
from diegosouzapw/awesome-omni-skill

Create supplementary materials attached to existing notes: experiments, meetings, reports, logs, conspectuses, practice sessions, annotations, AI outputs, links collections. Two-step process: (1) create aggregator space, (2) create concrete addition in base/additions/. INVOKE when user wants to attach any supplementary material to an existing note. Triggers: "addition", "create addition", "experiment", "meeting notes", "report", "conspectus", "log", "practice", "annotations", "links", "link collection", "аддишн", "конспект", "встреча", "отчёт", "эксперимент", "практика", "аннотации", "ссылки", "добавь к заметке".

observe

16
from diegosouzapw/awesome-omni-skill

Query and manage Observe using the Observe CLI. Use when the user wants to run OPAL queries, list datasets, manage objects, or interact with their Observe tenant from the command line.

observability-review

16
from diegosouzapw/awesome-omni-skill

AI agent that analyzes operational signals (metrics, logs, traces, alerts, SLO/SLI reports) from observability platforms (Prometheus, Datadog, New Relic, CloudWatch, Grafana, Elastic) and produces practical, risk-aware triage and recommendations. Use when reviewing system health, investigating performance issues, analyzing monitoring data, evaluating service reliability, or providing SRE analysis of operational metrics. Distinguishes between critical issues requiring action, items needing investigation, and informational observations requiring no action.

nvidia-nim

16
from diegosouzapw/awesome-omni-skill

NVIDIA NIM inference microservices for deploying AI models with OpenAI-compatible APIs, self-hosted or cloud

numpy-string-ops

16
from diegosouzapw/awesome-omni-skill

Vectorized string manipulation using the char module and modern string alternatives, including cleaning and search operations. Triggers: string operations, numpy.char, text cleaning, substring search.

nova-act-usability

16
from diegosouzapw/awesome-omni-skill

AI-orchestrated usability testing using Amazon Nova Act. The agent generates personas, runs tests to collect raw data, interprets responses to determine goal achievement, and generates HTML reports. Tests real user workflows (booking, checkout, posting) with safety guardrails. Use when asked to "test website usability", "run usability test", "generate usability report", "evaluate user experience", "test checkout flow", "test booking process", or "analyze website UX".