CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

62

Quality

78%

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

67%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-organized, token-efficient router skill: it points precisely at shipped docs, templates, and the adapter catalog with exact commands and paths. Its main weakness is actionability — despite the description promising coverage of the Chat class, threads, messages, cards, modals, and streaming, the body contains no executable usage example for any of them.

Suggestions

Add a minimal quick-start snippet showing the core pattern the description promises (e.g., instantiating the Chat class with an adapter and handling a message in a webhook route), so the lowest-scoring dimension (actionability) has executable coverage without waiting on node_modules inspection.

Move the 13-entry guide index and 5-entry template list into a references file (e.g., references/resources.md) and keep a one-line pointer in SKILL.md, tightening conciseness and making the overview a purer router.

Make the implied scaffold → verify install → wire adapter sequence explicit as numbered steps, keeping the existing 'paths do not exist → npm i chat' checkpoint as a named validation step.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no basic-concept explanations, just commands, paths, and an index — but minor trimming is possible: "Run `npx create-chat-sdk --help` to see the available options and how the CLI works" states the obvious about a --help flag, and the opening sentence "Unified TypeScript SDK for building chat bots across..." largely repeats the frontmatter description. Fits anchor 4 (efficient, minor instances that could be trimmed), not anchor 5's every-token-earns-its-place.

4 / 5

Actionability

There is concrete guidance — "npx create-chat-sdk --help", "npm i chat", exact inspection paths ("node_modules/chat/docs/", "node_modules/chat/resources/templates.json"), and exact catalog imports ("listAdapters", "getCatalogEntry") — but the core use case the description promises (Chat class, threads, messages, cards, modals, streaming, webhook setup) has no executable code anywhere in the body: no Chat instantiation, message handler, or webhook route example. That is a missing key detail (anchor 3), more than anchor 4's 'minor gaps'.

3 / 5

Workflow Clarity

Sections follow a natural scaffold → locate docs → browse resources → pick adapter sequence, and there is one explicit conditional checkpoint with recovery: "If those paths do not exist, the `chat` package is not installed... The user can install it with `npm i chat`." No destructive or batch operations, so no validation cap applies; it sits at anchor 4 rather than 5 because steps are implicit section ordering with no explicit numbered sequence or error-recovery loop.

4 / 5

Progressive Disclosure

The body is a clear overview whose references are one level deep and well signaled (the llms.txt adapter directory, node_modules docs paths, template URLs), and no bundle files exist to misstructure. It earns anchor 4 rather than 5 because the 13-guide and 5-template index is fully inlined in SKILL.md and the description-promised topics (threads, messages, cards, modals, streaming, state management) have no dedicated local or bundled material — they are only delegated to external docs.

4 / 5

Total

15

/

20

Passed

Description

83%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: it explicitly states both what the skill covers and when to use it, with an impressive platform enumeration that doubles as natural trigger terms. It is specific and distinct, with only minor gaps — action verbs instead of topic nouns, and a few missing synonyms like 'chatbot'.

DimensionReasoningScore

Specificity

"Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup" lists several specific capabilities alongside the concrete "building multi-platform chat bots" action, but these are mostly topic labels rather than verb-object actions and "expert guidance" is generic padding — matching anchor 4 (several specifics, minor gaps) rather than anchor 5's comprehensive concrete actions or anchor 3's 1-2 actions.

4 / 5

Completeness

It explicitly answers 'when' with "Use when building multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear — with a single codebase" and 'what' with "Vercel Chat SDK expert guidance" plus the enumerated "Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup" — matching the anchor-5 pattern of explicit what AND when with concrete triggers, so no cap applies.

5 / 5

Trigger Term Quality

Natural user phrases are well covered: "multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear" plus "webhook", giving strong platform-level keyword coverage. It falls short of anchor 5 because common variations like single-word "chatbot", "messaging bot", and "bot framework" are missing, but it clearly exceeds anchor 3's 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

The niche is clear and distinctive ("Vercel Chat SDK", "with a single codebase" multi-platform framing), but the bare enumeration of seven platform names creates minor overlap risk with platform-native skills (e.g., a raw Slack Bolt or discord.js skill), fitting anchor 4's 'mostly distinct; minor overlap risk' rather than anchor 5's minimal conflict risk.

4 / 5

Total

17

/

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

Path

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.