CtrlK
BlogDocsLog inGet started
Tessl Logo

chat-sdk

Vercel Chat SDK expert guidance. Use when building multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear — with a single codebase. Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup.

64

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/chat-sdk/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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-structured navigation-oriented body with concrete commands, exact import/export names, and effective deferral of detail to package-shipped docs. Weakest on workflow clarity — the intended sequence (check installation → scaffold → read bundled docs → use the adapter catalog) is implicit rather than an explicit, verifiable workflow — and it lacks any core-usage code example.

Suggestions

Add an explicit numbered workflow at the top (1. Check if 'chat' is installed by looking for node_modules/chat/docs; 2. Scaffold with 'npx create-chat-sdk' if starting fresh; 3. Read the bundled docs before writing code; 4. Consult the adapter catalog for setup), turning the existing implicit section order into verifiable checkpoints.

Include one minimal copy-paste example of core usage (e.g., creating a Chat instance and handling a Slack message) so the common case is executable without opening the external docs.

Move the inline guides/templates catalog into a separate reference file (e.g., references/resources.md) and keep a one-line pointer in SKILL.md to reduce token cost while preserving discovery.

DimensionReasoningScore

Conciseness

The body is largely lean — concrete commands ('npx create-chat-sdk --help', 'npm i chat'), pointers to package-shipped docs, and a resource index with one-line summaries rather than explanations of concepts Claude already knows. Falls short of 5 because the ~30-line inline guides/templates catalog duplicates content that ships in 'node_modules/chat/resources/templates.json' (which the body itself says to inspect) and could be trimmed or split out.

4 / 5

Actionability

Concrete, executable guidance throughout: 'npx create-chat-sdk --help', 'npm i chat', exact paths ('node_modules/chat/docs/', 'node_modules/chat/resources/templates.json'), and named importable exports ('ADAPTERS', 'getAdapter', 'isAdapterSlug', 'listEnvVars', 'getSecretEnvVars' from 'chat/adapters'). Not 5 because there is no copy-paste code example of core usage (e.g., instantiating the Chat class or handling a message) — the body defers entirely to external docs.

4 / 5

Workflow Clarity

An implicit sequence exists via section order (scaffold → check installed docs → consult resources → use adapter catalog), and there is one checkpoint ('If those paths do not exist, the chat package is not installed yet. The user can install it with npm i chat'). But no explicit numbered workflow or verification steps, so it matches the anchor of sequence present but checkpoints implicit; not 4 because the steps are never enumerated as a process.

3 / 5

Progressive Disclosure

Good structure: clear sections, and detailed material is appropriately pushed one level deep to package-shipped files ('node_modules/chat/docs/', 'node_modules/chat/resources/guides/*.md', templates.json) and the llms.txt adapter directory rather than inlined. Not 5 because the long inline resource catalog arguably belongs in a separate reference file, and there are no in-bundle reference files organizing this content.

4 / 5

Total

15

/

20

Passed

Description

87%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 what-coverage, an explicit 'Use when' clause with natural platform-specific trigger terms, and a distinct niche. Minor room to add common synonyms like 'chatbot' or 'cross-platform bot' for trigger coverage.

DimensionReasoningScore

Specificity

Names the domain and many concrete coverage areas — 'the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup' — which are specific components rather than vague fluff. Falls short of 5 because these are topics covered, not multiple concrete executable actions; above 3 because far more than 1-2 concrete items are listed with only minor gaps (e.g., no mention of deployment).

4 / 5

Completeness

Explicitly answers both: what ('Vercel Chat SDK expert guidance... Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup') and when ('Use when building multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear — with a single codebase'), with concrete trigger phrases. Matches the anchor-5 example pattern of 'what' + explicit 'Use when...' with concrete platform triggers.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'multi-platform chat bots', 'Slack', 'Telegram', 'Microsoft Teams', 'Discord', 'Google Chat', 'GitHub', 'Linear', 'single codebase', 'webhook' — phrases users would naturally say when building a bot on those platforms. Not 5 because common variations like 'chatbot' (one word), 'cross-platform bot', or 'messaging bot' are absent.

4 / 5

Distinctiveness Conflict Risk

Clear niche: building multi-platform bots with a single codebase via the Vercel Chat SDK, with an enumerated platform list that makes triggers distinct. Overlap with adjacent skills (e.g., AI chat UI/useChat work) is minimal because the description scopes itself to bot building across named platforms; matches the clear-niche/minimal-conflict anchor.

5 / 5

Total

18

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
vercel/vercel-plugin
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.