add-adapter

A contribution workflow for registering a third-party chat adapter in the Chat SDK catalogue and documentation. An adapter connects the SDK to an outside service or platform.

In plain words
What is it for?
Adding, listing or submitting a vendor-provided or community adapter, including its package name, export, installation instructions, supported features and documentation page.
Why use it?
It prevents incomplete or invented catalogue entries by requiring details from the adapter's repository and documentation. It also covers the files and tests that must be updated together.

Skill for Claude CodeCodex

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/vercel/chat/add-adapter
Any agent
npx skills add vercel/chat --skill add-adapter
Clone the repo
git clone --depth 1 https://github.com/vercel/chat

Made for: Claude Code, Codex.

Per session 109 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,411 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.00109 $0.01411
Opus 5 $0.00055 $0.00705
Sonnet 5 $0.00022 $0.00282
Haiku 4.5 $0.00011 $0.00141

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

Security

Grade A, and why

add-adapter 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 2d 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.

.agents/skills/add-adapter/SKILL.md · 74 lines

How it starts

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

Add a catalog adapter (vendor-official or community)

Use this to list a third-party adapter in the Chat SDK catalog and docs. It is not for building a first-party packages/adapter-* package.

Gather the source — never invent details

Ask the user for:

  1. Their adapter's GitHub repository URL.
  2. Their docs or README.

Read both. Everything you write into the catalog and docs must come directly from those sources or from the user. Do not assume or guess any information:

  • packageName — read it from the repo's package.json, verbatim.
  • Factory export (e.g. createFooAdapter) — read it from the package's exports/source. Do not guess it from the display name.
  • type (platform or state), env vars, and the feature matrix — base these on what the code and README actually document.
  • Install and usage snippets — take them from the README; do not write example code the adapter may not support.

If the repo or README does not make something clear, stop and ask the user rather than filling it in. When in doubt, ask.

Choose the slug (kebab-case) and confirm it is not already taken: ls apps/docs/content/adapters/*/.

Pick the tier

  • community — listed in the docs only. No chat/adapters catalog entry, no changeset.
  • vendor-official — a maintained/blessed adapter. Everything community has, plus a chat/adapters catalog entry, a matching create-chat-sdk scaffold-spec entry, and a changeset. Frontmatter adds vendorOfficial: true and author.

Files to change

<tier> is vendor-official or community.

  1. apps/docs/content/adapters/<tier>/<slug>.mdx — the docs page. Start from assets/adapter.mdx. The filename basename must equal the slug frontmatter field, and the page must render <FeatureSupport />.
  2. apps/docs/content/adapters/<tier>/meta.json — add "<slug>" to the pages array.
  3. apps/docs/adapters.json — add a registry entry: name, slug, type, community: true, description, packageName, author, readme (the GitHub URL). Add vendorOfficial: true for vendor-official.
  4. packages/integration-tests/src/docs-adapters.test.ts — add "<slug>" to the hardcoded expected list for its tier.
  5. packages/integration-tests/src/documentation-test-utils.ts — add the packageName to VALID_DOC_PACKAGES, plus every import specifier used in the MDX code blocks (subpaths count separately).

Read the full file on GitHub · 74 lines

Files

What ships with it

1 file 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.

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. 2d ago First seen · 74 lines · 109 tokens per session scan A 1bc53abef088

Subscribe to this mod's changes

add-adapter is a skill published in the GitHub repository vercel/chat (2,336 stars, last pushed today), licensed MIT. It adds 109 tokens to every session and 1,411 once invoked, about $0.0005 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-30.

Related

Other skills, from other repositories

taste

Domain-first store/port design for any codebase: product-shaped APIs, swappable backends, schema at boundaries, one vocabulary catalog (derive don’t re-author), no infrastructure names on the domain surface. Use when adding or refactoring persistence, cache, policy resolve, registries, or anything that might leak…

TryCaspian/caspian-sdk · 145 tokens

caspian-connect-email

Connect Caspian email for OpenCode: ensure credentials (sandbox or dashboard API key), write caspian.env, connect inbox, enable email in caspian.json. Use when the user wants to link email, set up the agent inbox, or runs /caspian:connect-email.

TryCaspian/caspian-sdk · 66 tokens

caspian-connect-telegram

Connect Caspian Telegram for OpenCode, enable telegram in caspian.json channels, and tell the user to restart. Use when linking a Telegram bot or running /caspian:connect-telegram.

TryCaspian/caspian-sdk · 49 tokens

caspian-connect-discord

Connect Caspian Discord for OpenCode (install OAuth or BYO bot token), enable discord in caspian.json channels, and tell the user to restart. Use when linking Discord or running /caspian:connect-discord.

TryCaspian/caspian-sdk · 55 tokens

caspian-discord

Post a Discord message via Caspian to a channel snowflake id. Use when the user runs /caspian:discord or asks to message a Discord channel through the bot.

TryCaspian/caspian-sdk · 43 tokens

caspian-inbox

Caspian Inbox (caspian:Inbox) — list agent email and other configured channel conversations/messages. Use when the user asks for inbox, mail, unread email, Slack/Discord/channel messages via Caspian, or runs /caspian:inbox.

TryCaspian/caspian-sdk · 61 tokens