一键导入
onboarding
End-to-end setup guide for claude-peers -- broker vs client decision, UCAN token exchange, per-project agent identity files, push vs polling delivery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
End-to-end setup guide for claude-peers -- broker vs client decision, UCAN token exchange, per-project agent identity files, push vs polling delivery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill should be used whenever the user asks to "make a wiring diagram", "update the wiring diagram", "fix the diagram", "show me how to wire this", "draw a hookup guide", or otherwise wants a picture of how components connect for an ESP32/Pi/Arduino/discrete-component build. It generates a PICTORIAL breadboard-style diagram — real Fritzing part photos + clean colored point-to-point wires, rendered offline and headless from a small JSON spec — NOT a schematic, because the reader cannot read schematics. It must not be used for PCB layout or schematic capture (that is Eagle/KiCad).
Operate tmux as an agentic multiplexer on a live, shared machine — run and coordinate parallel background work without disrupting the user's or other agents' sessions. Use when driving tmux non-interactively (new-session -d, send-keys, kill-session) to run long-running processes, orchestrate parallel jobs, or coordinate between agents, ESPECIALLY where the user or other agents already have tmux sessions. NOT for configuring tmux (.tmux.conf / keybindings). Triggers on tmux new-session, send-keys, kill-session, "run it in tmux", "background job in tmux", parallel jobs, driving tmux on a shared/remote box.
Set up and use the OpenCode "zen" model harness in any project — route agent work to cheaper models by capability (fast / reasoning-heavy / code-generation) to save Claude's token budget, with Claude orchestrating and validating. Use when integrating OpenCode, wiring kimi-k2.6 / glm-5.2, creating ~/.config/vinay-agent/config.toml, offloading reasoning or code generation to a cheaper endpoint, or deciding which model a task should go to. Triggers on "opencode", "opencode harness", "vinay agent", "route to a cheap model", "save tokens", "kimi", "glm", "/opencode-harness".
Architecture guidance for building and maintaining cross-platform Expo apps (iOS, Android, web) from one codebase — the taste that keeps a growing app factored without over-building it. Use when building or extending an Expo / React Native app, setting up an Expo + Next.js monorepo, writing expo-router navigation, sharing code across native and web, styling with NativeWind, wrapping native SDKs, or configuring EAS Build/Update. Triggers on "expo app", "react native app", "build a mobile app", "ios android web", "expo router", "expo monorepo", "eas build", "nativewind".
Build, author, or improve a Claude skill that transfers real domain expertise. Use when creating a skill from authoritative docs, distilling documentation into LLM-digestible guidance, deciding what belongs in a skill, or proving a skill actually improves output. Covers the gather-distill-gap-detect-hill-climb-validate loop and the 4-cell benchmark that proves a skill transfers expert taste to a non-expert. Triggers on "build a skill", "make a skill", "improve my skill", "is this skill any good", "turn these docs into a skill".
Embedded systems design for ESP32/Arduino. Use when writing C/C++ for ESP32, designing firmware architecture, managing peripheral interactions, or optimizing for resource constraints. Focuses on the two things Claude reliably slips on -- ISR primitives and proving the design with measurement -- not on re-teaching architecture it already does well.
| name | onboarding |
| description | End-to-end setup guide for claude-peers -- broker vs client decision, UCAN token exchange, per-project agent identity files, push vs polling delivery. |
| when_to_use | Activate whenever the user mentions setting up peers, connecting Claude Code sessions across machines, configuring a fleet, seeing "claude-peers" entries in /mcp, UCAN token errors, agent name collisions, broker init, or just installed the claude-peers plugin. Also trigger on phrases like "peer network", "multi-agent Claude", "connect my Claudes", "claude-peers broker", "how do I give this session a name", or when a user pastes a claude-peers error. Prefer this skill over generic troubleshooting whenever claude-peers is implicated. |
This skill guides a user through setting up claude-peers end-to-end. It covers the mental model, installation steps, and common troubleshooting.
claude-peers turns a set of Claude Code sessions on one or more machines into a named peer network. Sessions can see each other, send messages, share context via a small markdown memory blob, and claim stable identities that survive restarts.
Three process roles exist:
.mcp.json loads. Registers the session with the broker, surfaces the peers MCP tools inside Claude, handles message push.claude-peers binary invoked with non-server subcommands for admin work (init, issue-token, status, etc).All three are the same binary; the subcommand picks the mode.
The user already did this (/plugin install claude-peers@human-frontier-labs-marketplace). The plugin's bootstrap.sh will download the correct binary from GitHub releases on first use.
If the user wants to use their own locally-built binary (e.g., from go install github.com/WillyV3/claude-peers-go@latest), they can set CLAUDE_PEERS_BIN=$(which claude-peers) in Claude Code's env and the bootstrap will exec that instead of downloading.
Ask the user: do you already have a claude-peers broker running anywhere? Possibilities:
/peers-init-broker
That generates ~/.config/claude-peers/ with keypair + root token. Then tell the user to start the broker:
claude-peers broker &
For a real deployment, wrap that in a systemd user unit so it survives reboots. Example unit file belongs in ~/.config/systemd/user/claude-peers-broker.service:
[Unit]
Description=claude-peers broker
[Service]
ExecStart=%h/.local/bin/claude-peers broker
Restart=on-failure
[Install]
WantedBy=default.target
Enable with systemctl --user enable --now claude-peers-broker.
/peers-init-client http://<broker-host>:7899
That generates ~/.config/claude-peers/identity.pem + identity.pub and writes a client config pointing at the broker. Then the user needs a UCAN token issued by the broker:
~/.config/claude-peers/identity.pub from this machine to the broker machineclaude-peers issue-token --ttl 30d /path/to/identity.pub peer-session
(--ttl 30d avoids the 24h rotation treadmill. Shorter TTLs are fine; the client will auto-refresh before expiry.)claude-peers save-token <jwt>
Verify with /peers-status. If the user sees themselves in the peer list, the auth handshake worked.
By default sessions are ephemeral — they appear in the peer list but aren't addressable by name. To give a session a stable name, drop a file at the project root:
echo my-agent-name > ~/projects/my-project/.claude-peers-agent
Any Claude Code session launched from that directory (or any subdirectory) will auto-register as my-agent-name. The MCP server walks up from cwd toward $HOME looking for the file.
Three ways to set identity, in priority order:
--as <name> flag on claude-peers runCLAUDE_PEERS_AGENT=<name> env var.claude-peers-agent file in cwd or any ancestor up to $HOMENames are globally unique while held. If two sessions try to claim the same name, the second falls back to ephemeral mode with a warning (T6). Pick distinct names per project / role.
Without push, messages still work — they queue at the broker and drain when Claude calls check_messages. With push, messages arrive as notifications the instant they're sent.
Push requires launching claude with the dev channel loaded. Use the wrapper:
claude-peers run
Or set an alias:
alias claude='claude-peers run'
See /peers-enable-push for details. The plugin's SessionStart hook will nudge the user once per session until push is enabled OR the user dismisses it via /peers-acknowledge-push.
CLAUDE_PEERS_BIN to a locally-installed binary.~/.config/claude-peers/config.json. Check /peers-status. If list is empty, broker isn't reachable or token is expired..claude-peers-agent file is on the walk-up path from cwd to $HOME. Run /peers-status and look for this session's row marked ← this session; check what name it registered as./refresh-token before expiry. If it's been offline for longer than the token TTL, the user needs to manually refresh or get a new token issued.Once the plugin is loaded, Claude has these MCP tools under mcp__peers__*:
list_peers — see all sessions on the network, current session marked ← this sessionsend_message(to, message) — send to an agent name (preferred) or session IDcheck_messages — drain queued messages (fallback; push is normal path)set_summary — set a short summary visible to other peersclaim_agent_name(name) — claim a stable name mid-session (no restart needed)The MCP server also injects a fleet context snapshot at session start, so Claude knows who's online and what they're doing from turn 1.