Skip to content
Back to skills

Peers

ASecurity

Lists every live Claude Code session on this machine, in every account (each config dir, twins included), with its project, title, state and the `uds:` address to message it. Use it whenever you need to message, check on or coordinate with another session, especially one in a different account, since ListAgents only shows the current account. Triggers on "peers", "which sessions are running", "list the sessions", "what is <session name> doing", "message the orchestrator", "send this to lane 2...

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 12, 2026
ai-agentspythonshellbash

Works with

  • claude code

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned November 12, 2026

npx -y skills add mutlumehmet/claude-plugins --skill peers --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Peers?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Peers
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mutlumehmet-peers-claude-plugins/badge)](https://www.skillsdirectory.com/skills/mutlumehmet-peers-claude-plugins)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: peers
description: Lists every live Claude Code session on this machine, in every account (each config dir, twins included), with its project, title, state and the `uds:` address to message it. Use it whenever you need to message, check on or coordinate with another session, especially one in a different account, since ListAgents only shows the current account. Triggers on "peers", "which sessions are running", "list the sessions", "what is <session name> doing", "message the orchestrator", "send this to lane 2", "find the address of", "who is still running", or before any SendMessage to a session you have not listed yet in this turn.
allowed-tools:
  - Bash
---

# Peers

ListAgents shows only the sessions of the account this one runs in, yet SendMessage to a
`uds:<socket>` address reaches a session in any account. This skill lists them all.

The script: `${CLAUDE_PLUGIN_ROOT}/skills/peers/scripts/peers.py`

## Run it

```bash
python3 -I "${CLAUDE_PLUGIN_ROOT}/skills/peers/scripts/peers.py" [filter words]
```

- Filter words narrow the list (all must match the title, project or account), e.g. `lane 2b`.
- `--json` prints the rows as JSON (account, project, cwd, title, state, address, sessionId, pid, self, context, reports) for scripts and other skills. `context` is `{used, window, percent, flag, source}` (`source` is `session` for the harness's own number or `estimate`) or null before a session's first reply.
- In a project with several orca fleets the plain list is **grouped**: the Admiral and shared checkers, then each fleet (orchestrator first, lanes by number), then every other session; `--flat` prints it ungrouped. JSON rows also carry `fleet` and `fleetRole` (`admiral`, `fleet` or null).
- `reports` is `{kind, name, address, session, fleet, updatedAt}` when the session recorded a reporting line (`kind` is `orchestrator`, `parent`, `independent` or `admiral`; see orca-fleet's `join-lane`), else null. `fleet` is set when the project runs several fleets. The row then ends with `reports: <kind> <name>`, plus `fleet: <id>` when set.
- It reads only. It never writes to a Claude Code config dir.

Show the result to the user as a short list. Mark which row is this session (the script adds
"(this session)"), and never message that row.

## Messaging from the list

Call SendMessage with `to` set to the address exactly as printed (`uds:/tmp/cc-socks/<pid>.sock`).

- **Re-list before you send if the list is more than a few minutes old.** An address belongs to a
  process. When a session moves to another account, restarts or resumes, it gets a new pid and a
  new address, and the old one is dead.
- A session in a different permission mode may hold your message for its user's approval, so a
  successful send is delivery, not agreement. Do not treat silence as a yes.
- When you give another session your own address, take it from this list ("this session") at
  that moment, for the same reason.

## States

`busy` working, `waiting` blocked on its user (a question or a permission prompt), `idle`
finished its turn, `shell` turn finished while a background shell still runs. A session that is
waiting on its user will not read your message until the user answers it.

## Context use

The percent column is how full each session's context window is. A plain number (`16%`) is the
session's own reading: the orca-peers hooks module saves what Claude Code measured to
`~/.config/orca-strator/context/<sessionId>.json` on every change. A number with a tilde (`~16%`)
is an estimate from the transcript, used only when that file is missing (the session runs without
the module, for example an older orca-peers): it assumes a 1M window unless `context_window:` in
`~/.config/orca-strator/config.yaml` says otherwise, and it never carries a flag. At 70% a measured
row adds `PREPARE HANDOVER`, at 85% `HAND OVER`. When you report the list, name the sessions with
a flag first: a flagged session should write its handover note soon. `·` means no reply yet. Never
order a handover on an estimate; ask the session for its own `/context` reading instead.

## When the list looks wrong

- **An account is missing:** the script finds `~/.claude` and every `~/.claude-<name>` that has a
  `sessions/` folder. For other locations, or to name the accounts, set `accounts_file` in
  `~/.config/orca-strator/config.yaml` (see the README).
- **A title says "untitled" or a folder name:** the session has no name and no title yet. Its
  project and address are still right.
- **"No live Claude Code session found"** while sessions are open: the record format may have
  changed in a new Claude Code version. Say so, and fall back to ListAgents for this account.

Files in this skill

  • README.md3.9 KB
  • SKILL.md4.6 KB
  • evals/lists-sessions-across-accounts/case.yaml267 B
  • evals/lists-sessions-across-accounts/graders/01-runs-peers-script.md137 B
  • evals/lists-sessions-across-accounts/graders/02-lists-every-account.md158 B
  • evals/lists-sessions-across-accounts/graders/03-gives-addresses.md109 B
  • evals/lists-sessions-across-accounts/graders/04-marks-this-session.md92 B
  • evals/lists-sessions-across-accounts/graders/05-sends-nothing.md71 B
  • evals/lists-sessions-across-accounts/prompt.md227 B
  • scripts/peers.py16.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.