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.
npx agentmods add skills/ssheleg/agent-stack/agent-interopnpx skills add ssheleg/agent-stack --skill agent-interopgit clone --depth 1 https://github.com/ssheleg/agent-stackWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00242 | $0.03343 |
| Opus 5 | $0.00121 | $0.01672 |
| Sonnet 5 | $0.00048 | $0.00669 |
| Haiku 4.5 | $0.00024 | $0.00334 |
Grade A, and why
agent-interop 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent interop — the protocols an agent speaks outside its own process
agent-orchestrator builds the loop. agent-evals proves it behaves. This skill covers
everything the loop reaches that is not in its process: a tool server, a peer agent, a
registry, and the gateway between them.
Rule zero — a protocol claim without a date is a guess
Every one of these specifications moved in the twelve months before 2026-08-13 — the date every reference below was read — and each moved in a way that silently breaks code written against the previous revision. Concretely, and each one measured on that date against the live specification rather than recalled:
- MCP replaced the
initializehandshake withserver/discoverand made the protocol stateless; a client that opens withinitializeis speaking a revision that is on its way out. - MCP deprecated
sampling,rootsandlogging— three things an older model will reach for first, because for a year they were the interesting part of the client side. - A2A renamed its wire surface between v0.x and v1.0, and SDKs and blog posts still documented v0.3 as of 2026-08-13.
- agentgateway deprecated
bindsin favour ofgateways— while its own overview page still introducedbindsas a core concept as of 2026-08-13.
So: every reference in this skill opens with a **Spec pinned:** line, and
test/validate.py fails the build without one. That is a mechanical check, not an
aspiration — the class of error it prevents is the one where prose reads as current
because nothing on the page says otherwise.
Before you write wire-level code, fetch the spec. These references tell you what to look for and what changed; they are not a substitute for the document. Read the pinned revision, then check whether a newer one exists. Every entry in the link map below is fetchable.
Which protocol answers which question
| The question you actually have | The answer | Where |
|---|---|---|
| I want to give a model a capability against a live system | MCP server | references/mcp.md |
| My server is written and the client cannot connect to it | mounting and transports | references/mcp-ship.md |
| I want my application to consume other people's tool servers | MCP client | references/mcp.md, then references/mcp-scale.md |
| I have more servers than fit in a context window | client scaling patterns | references/mcp-scale.md |
| I want another team's autonomous agent to accomplish an outcome for me | A2A | references/a2a.md |
| I want my agent discoverable and callable by other agents | A2A agent card | references/a2a.md |
| I want people to find and install my MCP server | MCP Registry | references/registry.md |
| I have many servers, many clients, and a security team | a gateway | references/gateway.md |
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday First seen · 177 lines · 242 tokens per session scan A 8b73e9bc4a5b
agent-interop is a skill published in the GitHub repository ssheleg/agent-stack (2 stars, last pushed 2d ago), licensed MIT. It adds 242 tokens to every session and 3,343 once invoked, about $0.0012 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.
Other skills, from other repositories
parallel-feature-managers
Run several independent Cotal features concurrently by creating one Git worktree and one spawn-capable mesh manager per feature; each manager staffs a review panel in a dedicated channel, adds one independent cold reviewer briefed under the cold-review skill, owns plan-to-commit delivery, and escalates unresolved…
pixel-face
Create or improve a 32×32 pixel-art persona face for the Frontier Faces demo (examples/04-frontier-faces/personas.mjs) — the animated agent avatars rendered by face-term.mjs / the browser / the gallery. Use when the user asks to add a new persona/face/avatar, improve an existing one (hair, eyes, likeness, expression)…
cotal-setup
Set up Cotal on this machine: install it, start a local agent mesh (NATS + JetStream), verify it, and put an agent on it. Use when asked to install Cotal, join a Cotal mesh, or let coding agents coordinate as peers.
cold-review
Write the brief for a single independent cold reviewer and grade what it returns, keeping it isolated from the panel that already graded the change. Read by whoever AUTHORS the brief; the graded seat never loads this file. Covers what the seat is given, what its verdict binds, who may override it, and how the rules…
team-topology
Define a multi-agent team for ANY task on ANY system as an explicit deployment topology - pick the shape from the task's dominant risk, specify the runtime/communication/trust layers, place model capability by lane, present it as a diagram + table + trust-boundary note + open choices, and deploy ONLY after the user…
create-release
Create releases with proper versioning, release notes, and Git tags.