CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

chat-sdk

Build multi-platform chat bots with Chat SDK (`chat` npm package). Use when developers want to (1) Build a Slack, Teams, Google Chat, Discord, Telegram, GitHub, Linear, or WhatsApp bot, (2) Use Chat SDK to handle mentions, direct messages, subscribed threads, reactions, slash commands, cards, modals, files, or AI streaming, (3) Set up webhook routes or multi-adapter bots, (4) Send rich cards or streamed AI responses to chat platforms, (5) Build or maintain a custom adapter or state adapter. Triggers on "chat sdk", "chat bot", "slack bot", "teams bot", "google chat bot", "discord bot", "telegram bot", "whatsapp bot", "@chat-adapter", "@chat-adapter/state-", "custom adapter", "state adapter", "build adapter", and building bots that work across multiple chat platforms.

72

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is chat-sdk in vercel/vercel-plugin

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-constructed reference skill: executable code samples, dense tables of exact package/factory names, and an overview-only body that delegates detail to the SDK's own published docs via one-level-deep references. No filler or explanations of known concepts. The only improvements are trimming low-value inventory sections and adding a couple of explicit verification checkpoints.

Suggestions

Trim or fold the 'Coming-soon platform entries' and community-adapter lists into a single reference doc or drop them — they consume context without actionable value.

Condense the 17-line docs inventory in 'Start with published sources' into a shorter prioritized list (e.g., top 5 docs first, remaining grouped by task) so the routing signal stays sharp.

For the custom-adapter workflow, add an explicit verification step (e.g., run the package's testing doc's harness against the new adapter before wiring it into a bot).

DimensionReasoningScore

Conciseness

The body is dense and SDK-specific throughout — no explanations of what Slack/TypeScript/webhooks are — delivered mostly via tables and short code blocks. Minor trimmable parts remain: the "Coming-soon platform entries" list (Instagram, Signal, X, Messenger) and the 17-line docs inventory add bulk without near-term payoff. Not 5 because those sections keep it from 'every token earns its place'; not 3 because there is no padded or redundant explanation.

4 / 5

Actionability

The Quick Start and streaming examples are complete, copy-paste-ready TypeScript with real imports (`new Chat({...})`, `createSlackAdapter`, `thread.post(result.fullStream)`), and the adapter tables give exact package names and factory functions. The cards section shows a full JSX example with exact component names and the required `tsconfig.json` setting. Common cases are covered with executable code.

5 / 5

Workflow Clarity

A clear sequence is established ("Read these before writing code" with a prioritized doc list, then Quick start, then per-topic docs), and the custom-adapter section gives an ordered path: read contributing docs → inspect `dist/index.d.ts` surfaces → implement. Checkpoints are implicit rather than explicit (no verify steps), but the skill involves no destructive or batch operations, so the validation cap does not apply. Not 5 due to the absence of explicit validation/verification checkpoints.

4 / 5

Progressive Disclosure

The body is a true overview: it keeps SKILL.md lean and delegates all detail to one-level-deep, clearly signaled references (exact `node_modules/chat/docs/*.mdx` paths with one-line descriptions of what each covers), including per-API references and framework guides. It even handles the missing-package case ("If one of the paths below does not exist, that package is not installed"). No bundle files ship with the skill, and none are needed since the published package carries the docs — clean, navigable structure.

5 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete capability list, explicit Use-when clause, and an explicit trigger-term sentence covering both natural phrases and package identifiers. Third-person voice throughout, no fluff or over-claims. The only gap is a handful of missing natural trigger variations for some platforms.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions: "Build a Slack, Teams, Google Chat, Discord, Telegram, GitHub, Linear, or WhatsApp bot", "handle mentions, direct messages, subscribed threads, reactions, slash commands, cards, modals, files, or AI streaming", "Set up webhook routes or multi-adapter bots", and "Build or maintain a custom adapter or state adapter" — comprehensive coverage of the SDK's capability surface. Not score 4 because coverage extends beyond several actions into the full feature list with no generic filler.

5 / 5

Completeness

Explicitly answers both questions: the what ("Build multi-platform chat bots with Chat SDK (`chat` npm package)") and the when ("Use when developers want to (1)...(5)" plus a dedicated "Triggers on" clause listing concrete trigger phrases). Matches the score-5 anchor structure of what + when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say: "chat sdk", "chat bot", "slack bot", "teams bot", "google chat bot", "discord bot", "telegram bot", "whatsapp bot", "custom adapter", "state adapter". Not 5 because a few natural platform variations are missing (e.g., "github bot", "linear bot", "messaging bot", "build a bot"), though the package-scope triggers "@chat-adapter" partially compensate.

4 / 5

Distinctiveness Conflict Risk

A clear niche (the `chat` npm package and its `@chat-adapter/*` ecosystem) with distinct package-name triggers that other skills would not claim. Broad generic terms like "chat bot" carry minor overlap risk with unrelated bot-building skills, but the SDK-specific scoping keeps conflict risk minimal — slightly above the score-4 'minor overlap risk' anchor.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Kiz8-Team/open-agents

Path

.agents/skills/chat-sdk/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.