From bridgey
This skill should be used when the user asks to "set up bridgey", "configure bridgey", "initialize bridgey", "bridgey setup", runs "/bridgey:setup", or is installing bridgey for the first time. Guides interactive first-time configuration of the bridgey daemon.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bridgey:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive first-time configuration for the bridgey A2A communication daemon.
Interactive first-time configuration for the bridgey A2A communication daemon.
Activate on first install or when no ~/.bridgey/bridgey.config.json exists. Also activate when the user explicitly asks to reconfigure bridgey.
Read ~/.bridgey/bridgey.config.json. If it exists, confirm with the user before overwriting.
Ask the user for each setting (provide sensible defaults):
| Setting | Default | Description |
|---|---|---|
| name | hostname or directory name | Unique agent name for this instance |
| description | "Claude Code assistant" | Human-readable description (used in Agent Card) |
| port | 8092 | HTTP port for the daemon |
| bind | "localhost" | Network binding: localhost, lan, 0.0.0.0, or custom IP |
| workspace | current working directory | Working directory for inbound requests |
| max_turns | 10 | Max turns for claude -p on inbound requests |
Bind mode guide:
"localhost" — only reachable from same machine (most secure, default)"lan" — binds to first non-localhost IPv4 (reachable on LAN)"0.0.0.0" — all interfaces (required for Docker containers, Tailscale)If the user picks "0.0.0.0" for bind, warn them:
"Binding to all interfaces exposes the daemon to the network. A bearer token protects it, but consider using
localhostwith Tailscale for secure remote access."
If the user chose a non-localhost bind, ask if they want to add trusted networks. Trusted CIDRs allow token-free access from known ranges:
| Network | CIDR | When to add |
|---|---|---|
| Tailscale | 100.64.0.0/10 | Using Tailscale mesh or Tailscale SSH |
| Docker bridge | 172.16.0.0/12 | Running in Docker containers |
| Docker overlay | 10.0.0.0/8 | Docker Swarm or alternative bridge configs |
Add to config as "trusted_networks": ["100.64.0.0/10"] (or multiple CIDRs as needed).
Generate a bearer token automatically using crypto.randomBytes(16).toString('hex') prefixed with brg_. Display it to the user:
"Your bridgey token is
brg_abc123.... Share this with agents that need to send you messages. Store it securely."
Write ~/.bridgey/bridgey.config.json:
{
"name": "my-coder",
"description": "General purpose Claude Code assistant",
"port": 8092,
"bind": "localhost",
"token": "brg_a1b2c3d4...",
"workspace": ".",
"max_turns": 10,
"agents": [],
"trusted_networks": []
}
Note: trusted_networks is an empty array by default. Only populated if user chose non-localhost bind.
Run the daemon start command (if dist/daemon.js is missing, run npm run build from plugins/bridgey/ first):
node ${CLAUDE_PLUGIN_ROOT}/dist/daemon.js start \
--config ~/.bridgey/bridgey.config.json
Verify it started by checking the health endpoint:
curl -s http://localhost:8092/health
Show the user:
brg_a1b2...)/bridgey:add-agent/bridgey:statusIf running in Docker or on a headless server:
0.0.0.0 — localhost is unreachable from other containers172.16.0.0/12 and 10.0.0.0/8~/.claude/.credentials.json and mount it into the container.http://bridgey-mila:8093), not localhost~/.bridgey/bridgey.config.json (survives plugin updates)~/.bridgey/agents//bridgey:add-agentCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub kickinrad/bridgey --plugin bridgey