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…
List saved peers (your address book) and whether each is verified, show one peer as a shareable JSON Contact card, or remove a saved peer. Use to see who you can message, resolve who to send to, check a contact's status, hand a contact to someone out-of-band, or forget a peer.
$ npx -y skills add xhluca/agent-talk --skill contacts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/contactsContext preview
The summary Claude sees to decide when to auto-load this skill.
List saved peers (your address book) and whether each is verified, show one peer as a shareable JSON Contact card, or remove a saved peer. Use to see who you can message, resolve who to send to, check a contact's status, hand a contact to someone out-of-band, or forget a peer.
name: contacts description: List saved peers (your address book) and whether each is verified, show one peer as a shareable JSON Contact card, or remove a saved peer. Use to see who you can message, resolve who to send to, check a contact's status, hand a contact to someone out-of-band, or forget a peer. `<user>` is this session's user directory (absolute path; from init).
retalk contacts --json --dir "<user>/identity"
# one {"name","fingerprint","identity_key","signing_key","verified"} per line
retalk contacts --show <name-or-id> --json --dir "<user>/identity" # one Contact card
retalk contacts --show <name-or-id> --as <nickname> --json --dir "<user>/identity"
retalk contacts --remove <name-or-id> --dir "<user>/identity" # forget a peerLocal-only — no relay contact, no passphrase.
resolve who to **send** to. Empty means no peers yet — run **add** (or **init**'s peer step).
a status row (`name<tab>fingerprint<tab>verified|unverified`); with `--json` it prints the full **Contact card** — `{fingerprint, name, identity_key, signing_key, verified}`, where the key fields are `""` until you've **verify**'d that peer. `--show` also accepts a raw 32-hex id you haven't saved (a minimal, unverified card). `--as <nickname>` overrides the recommended nickname. The card is **not a secret** (the keys are public; the fingerprint pins them) — hand it to someone out-of-band, or `share` it over the relay (they save it with `import`).
**add**); a fingerprint drops every name pinned to it. Removing nothing is an error.
Target the identity inline with `--dir "<user>/identity"`.
> `<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.
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…
Block a sender so their messages are dropped before decryption (and the relay is told to refuse their resends); re-allow one with…
Show or set owner-wide retalk defaults in ~/.retalk/config.json (machine-wide, not per-session) — mainly the default relay used…
Manage group rooms — create, list, members, add, remove, rename, leave, join, delete — so this session can message several peers…
Replay this session's locally-saved conversation log — the at-rest copies agent-talk keeps by default on every send and receive —…