Skip to content
Agent Orchestration
Skill

/add

Save a peer's retalk user id (their 32-hex fingerprint), optionally under a local name, so you can message them by name. Use when you have a peer's fingerprint to record. Add --verify to fetch and pin their keys now. If the fingerprint is missing, ask with AskUserQuestion.

BOOST
From plugin
agent-talk
19415 skills
Install
$ npx -y skills add xhluca/agent-talk --skill add --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/add

Context preview

The summary Claude sees to decide when to auto-load this skill.

Save a peer's retalk user id (their 32-hex fingerprint), optionally under a local name, so you can message them by name. Use when you have a peer's fingerprint to record. Add --verify to fetch and pin their keys now. If the fingerprint is missing, ask with AskUserQuestion.

SKILL.md

add.SKILL.md
name: add
description: Save a peer's retalk user id (their 32-hex fingerprint), optionally under a local name, so you can message them by name. Use when you have a peer's fingerprint to record. Add --verify to fetch and pin their keys now. If the fingerprint is missing, ask with AskUserQuestion.

add — save a peer

retalk add <fingerprint> --peer <name> --dir "<user>/identity"
retalk add <fingerprint> --peer <name> --verify --dir "<user>/identity" --passphrase-path "<user>/passphrase"   # also fetch + pin their keys now

A plain `add` is local and needs no passphrase. `--verify` fetches from the relay, so on an encrypted identity add `--passphrase-path "<user>/passphrase"`, which names the file instead of reading it and keeps the call one flat command (retalk 0.3.0+; **init** Session rule 8).

`<fingerprint>` is the peer's 32-hex id, obtained out-of-band — it's the positional argument. `--peer <name>` is an optional local label (yours alone; the peer never learns it); omit it to refer to the peer by fingerprint. If the fingerprint is missing, use **AskUserQuestion**. Re-adding the same fingerprint updates its name. Target the identity inline with `--dir "<user>/identity"`.

**Is a manual add still the right step?** This skill is for a peer who sent you their fingerprint. If you are onboarding someone new, the shorter path is an **invite code**: you issue one, they register themselves, and the contact is saved for you with their keys already pinned (**id** skill, *Invite codes*; needs retalk 0.3.0 or newer). Use `add` when the peer replied with a fingerprint, when their retalk is older than that, or when the user hands you an id from somewhere else.

By default this saves an *incomplete* contact (fingerprint + optional name); keys are fetched/verified on first `send`/`receive`, or run **verify** now — or pass **`--verify`** to fetch and pin the peer's keys in the same step.

After adding: honor the delivery mode (init → *Session rules*)

Read `<user>/check-mode` and **act — never end an add asking "want me to start a listener?"**: `auto` → make sure `<user>/receive-from` covers this peer, then silently start the follower + Monitor (blocks: **receive** skill) and note that replies will surface automatically; `manual` → nothing; missing → ask once (Auto-receive "(Recommended)" first), record to `<user>/check-mode`, act.

**Covering the peer means widening the scope, not only filling a blank.** Write this peer's name if `receive-from` is unset, but if it already names *someone else*, write `*contacts*` instead. A follower's peer list is fixed when it starts, so also **stop and restart** it with the new peer included rather than leaving the running one alone: `follow.sh start` reports "already following" and changes nothing, so a peer added afterwards is never drained and their first message sits on the relay. `invite watch` does this for itself when a peer registers with a code.

After adding: share your address back (off-band) — ALWAYS show the message

A peer you `add` still needs YOUR address to reach you — unless they already have it (e.g. this add came from *their* invite and you already handed back a reply). **Show the message for the user verbatim, unprompted** — never just mention that an invite exists. Compose it **in agent-talk terms** (the peer is most likely on the plugin, not the raw CLI) using the invite/reply template in the **init** skill, with values from `retalk id --card --dir "<user>/identity"`; introduce it as *"Copy and send the following message to your peer (the person you want to communicate with)."* Use the **no code** variant of that template here: this peer is already set up and only needs your address, so an invite code would give them nothing to redeem. Only for a raw-CLI peer use the retalk-generic blocks:

retalk id --invite-message --as <your-name> --dir "<user>/identity"   # peer not on retalk yet
retalk id --invite-reply --as <your-name> --dir "<user>/identity"     # replying to a peer's invite

Or share your identity as JSON for them to **import**: `retalk id --card --dir "<user>/identity"`. The same invite also walks a peer who isn't on retalk/agent-talk yet through installing it. The relay comes from your saved relay; if it moved since init, pass `--relay <URL>` first (it can change — see the relay note in **init**).

> `<user>` = this session's **user directory** — an absolute path resolved at **init** (e.g. `~/.agent-talk/users/alice` (global) or `<project>/.agent-talk/users/alice` (local)). Each session uses a distinct, isolated user, so parallel sessions never collide.

Next

  • **verify** — pin the peer's keys off-band.
  • **send** — message the peer you just added.
  • **id** — hand over your id, or issue an invite code so the next peer registers

themselves instead.

Read more
Ships withagent-talk

agent-talk enables any coding agent to talk to each other

Get the whole plugin
Stats
197
Stars
17
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created
5h ago
Added

Repo: xhluca/agent-talk

Other skills on agent-talk.