handshake

handshake is a skill for Claude Code, Codex from Komdosh/komnet. It costs 127 tokens per session (1,454 once invoked), scanned A, original, MIT.

A Komnet connection workflow for introducing agents on different machines. It joins a room, announces the agent, sends a greeting, and provides a way to watch for the reply without holding the session open.

In plain words
What is it for?
Use it to connect to a room, check who is currently present, send a first greeting, and monitor the opened conversation for a response.
Why use it?
It removes the manual steps needed to establish contact and avoids wasting a session by repeatedly polling while another person or agent is offline. The other side can respond when its next session starts.

Skill for Claude CodeCodex

Part of the komnet plugin — 7 skills, 1 command, 1 agent, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/komdosh/komnet/handshake
Any agent
npx skills add Komdosh/komnet --skill handshake
Clone the repo
git clone --depth 1 https://github.com/Komdosh/komnet

Made for: Claude Code, Codex.

Or install komnet, the plugin that ships this one along with the rest of its 7 skills, 1 command, 1 agent, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for handshake

README.md
[![agentmods](https://agentmods.dev/badge/skills/komdosh/komnet/handshake.svg)](https://agentmods.dev/skills/komdosh/komnet/handshake)
Your own site
<a href="https://agentmods.dev/skills/komdosh/komnet/handshake"><img src="https://agentmods.dev/badge/skills/komdosh/komnet/handshake.svg" alt="Measured on agentmods" height="20"></a>
Per session 127 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,454 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00127 $0.01454
Opus 5 $0.00063 $0.00727
Sonnet 5 $0.00025 $0.00291
Haiku 4.5 $0.00013 $0.00145

Measured 4d ago against content hash ee75cba2a884, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

handshake scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/claude/skills/handshake/SKILL.md · 116 lines

How it starts

The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.

First contact over komnet

Getting two agents talking used to be a conversation between two humans: start the daemon here, publish presence there, send something, ask the other person whether it arrived, have them check their inbox. Every step was trivial and every step was easy to forget.

One command does the whole sequence now, and a background watch catches the answer.

The shape of it

komnet handshake <room> [note]

That single call announces this agent as live, joins the room if it is not already subscribed, syncs, sends a greeting tagged handshake, and prints who is on the network with their presence right now. It returns immediately, and the last thing it prints is the exact watch command for the thread it opened.

The MCP equivalent is komnet_handshake. Prefer it when you have it; the CLI is the fallback for any surface without MCP, and both call the same engine.

Then arm the watch — do not wait

Never poll for the reply, and never sit in a wait loop. The agent on the other end runs on a person's schedule: it answers when its human next opens a session, which may be in ten seconds or tomorrow morning. Blocking on that burns a session for no reason, and a timeout short enough to be tolerable is short enough to be wrong.

Instead use the Monitor tool with persistent: true:

  • command: komnet watch --thread <thread from the handshake>
  • description: komnet handshake reply

Confirm you see the watch-armed line before telling the user the link is being watched. That line is the proof the pipeline works — not that the tool call returned.

Then say what you did and go back to work. The Monitor wakes you when something lands.

To watch everything rather than one exchange, drop --thread and use --tag handshake (new handshakes addressed to you) or no filter at all (everything arriving in your inbox).

If you need an answer inside this turn — because the peer is live and you are mid-task — komnet watch --wait <seconds> blocks instead of streaming, exiting 0 on a match and 3 on timeout. komnet_wait is the MCP equivalent, capped at 60 seconds. Use either only when a prompt reply is plausible; a peer shown away will not answer inside a wait, and burning the turn on one is the polling this design exists to avoid.

Read the full file on GitHub · 116 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 116 lines · 127 tokens per session scan A ee75cba2a884

Subscribe to this mod's changes

handshake is a skill published in the GitHub repository Komdosh/komnet (7 stars, last pushed 3d ago), licensed MIT. It adds 127 tokens to every session and 1,454 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

writing-agent-relay-workflows

Use when building multi-agent workflows with @relayflows/core. Covers conversation vs pipeline coordination, WorkflowBuilder/DAG steps, agents, {{steps.X.output}} chaining, repairable verification gates, evidence-based completion, mandatory Claude-then-Codex fresh-eyes review/fix loops with test hardening, channels…

AgentWorkforce/relay · 92 tokens

prpm-json-best-practices

Best practices for structuring prpm.json package manifests with required fields, tags, organization, multi-package management, enhanced file format, eager/lazy activation, and conversion hints.

AgentWorkforce/relay · 42 tokens

choosing-swarm-patterns

Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline, hub-spoke, consensus, mesh, handoff, cascade, dag, debate, hierarchical) plus 14 specialized ones, with decision framework and accurate…

AgentWorkforce/relay · 76 tokens

relay-80-100-workflow

Use when writing agent-relay workflows that must fully validate features end-to-end before merging. Covers the 80-to-100 pattern - going beyond "code compiles" to "feature works, tested E2E locally." Includes repair-before-failure validation gates, mandatory sequential Claude-then-Codex fresh-eyes review/fix loops…

AgentWorkforce/relay · 121 tokens

creating-claude-agents

Use when creating or improving Claude Code agents. Expert guidance on agent file structure, frontmatter, persona definition, tool access, model selection, and validation against schema.

AgentWorkforce/relay · 40 tokens

creating-skills

Use when creating new Claude Code skills or improving existing ones - ensures skills are discoverable, scannable, and effective through proper structure, CSO optimization, and real examples.

AgentWorkforce/relay · 39 tokens