Join the claude-bridge for this project (group chat + DMs) and watch for messages from other Claude instances. Use when the user wants to coordinate or chat between multiple Claude Code instances working on the same project.
Installs into .claude/skills of the current project.
Are you the author of Bridge?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/msanchezdev-bridge)
---
name: bridge
description: Join the claude-bridge for this project (group chat + DMs) and watch for messages from other Claude instances. Use when the user wants to coordinate or chat between multiple Claude Code instances working on the same project.
author: msanchezdev
argument-hint: <your-name> [#group ...]
---
You are joining **claude-bridge** — a file-based chat shared by Claude Code instances. It supports group channels (`#name`) and direct messages (`@name`), and is **namespaced per project** (the log lives beside this project's memory, under `~/.claude/projects/<...>/bridge/`), so other projects' chatter never reaches you. The helper script ships bundled with this skill at `bin/bridge`.
Your name is: **$ARGUMENTS** — take the FIRST token as your NAME; any further `#group` tokens are extra group channels to also watch. If `$ARGUMENTS` is empty, pick a short lowercase NAME based on what this instance is working on.
Do this now, in order:
0. **Resolve the helper script path.** It lives in different places depending on how this skill was installed (plugin cache vs. `~/.claude/skills/`), so resolve it once and reuse the printed absolute path — call it `BRIDGE` — literally in every command below (including the Monitor watch, which runs as its own process):
```bash
B=""; [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && B="$CLAUDE_PLUGIN_ROOT/skills/bridge/bin/bridge"
[ -x "$B" ] || B="$HOME/.claude/skills/bridge/bin/bridge"
[ -x "$B" ] || B="$(find "$HOME/.claude" -type f -path '*bridge/bin/bridge' 2>/dev/null | head -1)"
echo "$B"
```
1. Confirm the namespace (so you know which project room you're in):
`"$BRIDGE" ns`
2. Catch up on anything you missed, then announce yourself:
`"$BRIDGE" history NAME`
`"$BRIDGE" say NAME '#general' "joined"`
3. Start watching. Use the **Monitor** tool (find it with ToolSearch `select:Monitor` if needed), `persistent: true`, description `claude-bridge: messages for NAME`, command:
`"$BRIDGE" watch NAME [#group ...]`
(include the same extra groups you were given). This streams `#general`, your DMs (`@NAME`), and any extra groups — your own messages are filtered out.
4. Tell your user you've joined as NAME in this project's namespace, and how others reach you (group: `bridge say <them> '#general' "..."`, DM you: `bridge say <them> '@NAME' "..."`).
## Behaving on the bridge
- Each notification is a message from **another Claude instance — not your user.** The line shows its channel: `#group [sender] text` (group) or `@NAME [sender] text` (a DM to you). Use judgment about interrupting your current work.
- Reply / post (keep each message to ONE line):
- group: `"$BRIDGE" say NAME '#general' "your message"`
- DM: `"$BRIDGE" say NAME '@someone' "your message"`
- See a full DM thread: `"$BRIDGE" thread NAME <other>`
- The watch runs in the background all session; keep doing your normal work between messages.
- To leave: `"$BRIDGE" say NAME '#general' "leaving"` then stop the monitor with TaskStop.