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 scaffold a bot with create-chat-sdk, 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, send rich cards or streamed AI responses to chat platforms, or build a custom adapter or state adapter.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

The body is a well-organized overview/index skill that correctly assumes Claude's competence and pushes detail out to the npm package's shipped docs, guides, and templates, with concrete commands and paths throughout. Its main weaknesses are the absence of a minimal executable bot example, an unordered presentation of where to look first, and minor marketing verbosity in the tagline and guide descriptions.

Suggestions

Add a minimal executable bot snippet (or a concrete pointer to a quick-start example inside node_modules/chat/docs/) to the scaffold section so the first action an agent takes is copy-paste ready.

Present an explicit ordered flow — e.g., '1. Verify chat is installed (else npm i chat) 2. Pick an adapter via @chat-adapter/catalog 3. Follow the matching guide below' — instead of parallel sections, so the agent knows where to look first.

Trim the marketing tagline ('Write your bot logic once, deploy everywhere') and shorten each guide entry to its title plus the platform/SDK stack to reclaim tokens without losing routing value.

DimensionReasoningScore

Conciseness

The body is efficient and assumes Claude's competence — it never explains what a bot or npm package is — but includes minor trimmable tokens: the marketing tagline 'Write your bot logic once, deploy everywhere', and multi-clause guide descriptions (e.g., 'Covers project setup, tool definitions, streaming responses, deployment to Vercel, and scaling tool selection with toolpick') that could be tightened to title plus key stack. This fits anchor 4 (efficient with minor instances that could be trimmed) rather than anchor 5, where every token would earn its place.

4 / 5

Actionability

Concrete, executable guidance is present throughout: the commands 'npx create-chat-sdk --help' and 'npm i chat', specific paths ('node_modules/chat/docs/', 'node_modules/chat/resources/templates.json'), named catalog imports ('listAdapters', 'getCatalogEntry', 'getFeatureSupport'), and per-guide file paths. It falls short of anchor 5 only because there is no copy-paste-ready minimal bot example; it exceeds anchor 3 because what is given is executable and specific rather than high-level hints or pseudocode.

4 / 5

Workflow Clarity

The flow is discernible (scaffold → verify the package is installed → consult docs/guides/templates → select an adapter via the catalog), and it includes an explicit conditional checkpoint: 'If those paths do not exist, the `chat` package is not installed in the project yet.' No destructive or batch operations are involved, so the validation cap does not apply. It matches anchor 4 rather than 5 because sections are presented as a parallel catalog rather than an ordered decision flow, and there is no guidance on when to prefer llms.txt vs. the catalog vs. the bundled docs.

4 / 5

Progressive Disclosure

The skill ships no bundle files and delegates all detail to clearly signaled, one-level-deep external sources — 'node_modules/chat/docs/', the [Chat SDK llms.txt file](https://chat-sdk.dev/llms.txt), templates.json, and the website/KB links — with well-organized sections. It sits at anchor 4 rather than 5 because the ~30-line auto-generated resources catalog (between the RESOURCES:START/END markers) is inlined in SKILL.md, content that arguably belongs in a separate reference file even though it serves as the skill's discovery index.

4 / 5

Total

16

/

20

Passed

Description

100%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.

The description is exemplary: a concrete one-sentence 'what', an explicit and detailed 'Use when' trigger clause, comprehensive platform and feature vocabulary including synonyms, and a clearly bounded niche. It closely matches the rubric's good overall examples in both structure and density of concrete triggers.

DimensionReasoningScore

Specificity

The description enumerates many concrete actions — 'scaffold a bot with create-chat-sdk', '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', 'send rich cards or streamed AI responses', 'build a custom adapter or state adapter' — covering scaffolding, per-platform building, event handling, rich UI, streaming, and adapters with no significant gaps. It sits at the anchor-5 level (multiple specific concrete actions, comprehensive coverage) rather than 4, which would require minor coverage gaps.

5 / 5

Completeness

It explicitly answers both questions: the 'what' is stated concretely ('Build multi-platform chat bots with Chat SDK (`chat` npm package)') and the 'when' is an explicit 'Use when...' clause listing concrete triggers (scaffolding, per-platform bot building, event handling, webhook setup, rich cards, custom adapters). This mirrors the anchor-5 good example structure; anchor 4 would require a less explicit or less specific 'when', which is not the case here.

5 / 5

Trigger Term Quality

It contains the natural phrases users would say when needing this skill — all eight platform names (Slack, Teams, Google Chat, Discord, Telegram, GitHub, Linear, WhatsApp) plus 'bot', 'mentions', 'direct messages', 'slash commands', 'cards', 'modals', 'webhook routes', and 'AI streaming' — and includes synonyms such as 'multi-adapter bots'/'custom adapter' and 'AI streaming'/'streamed AI responses'. This matches the comprehensive-with-synonyms anchor rather than the anchor-4 level, which would require missing natural terms.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche — building chat bots with a specific, named SDK — and its triggers (platform names combined with bot-construction verbs like scaffold, handle mentions, set up webhook routes) are unlikely to fire for unrelated skills. Conflict risk is minimal, matching anchor 5; anchor 4 would require notable overlap with a closely related skill, which the description does not exhibit.

5 / 5

Total

20

/

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

vercel/vercel-plugin

Path

skills/chat-sdk/upstream/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.