Vercel AI SDK 5 patterns. Trigger: When building AI chat features - breaking changes from v4.
54
59%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./curated/ai-sdk-5/SKILL.mdQuality
Discovery
40%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 identifies a specific technology (Vercel AI SDK 5) and includes a trigger clause, which is positive. However, it fails to describe concrete actions or capabilities the skill provides, reading more like a topic tag than a functional description. The lack of specific actions (e.g., migrate v4 hooks, implement streaming responses, handle new API patterns) significantly limits its usefulness for skill selection.
Suggestions
Add specific concrete actions the skill covers, e.g., 'Migrates useChat/useCompletion hooks from v4 to v5, implements streamText and generateText patterns, handles new middleware API'
Expand trigger terms to include specific API names and package references users would mention, such as 'useChat', 'streamText', '@ai-sdk/react', 'ai/rsc', or 'AI SDK migration'
Strengthen the 'what' portion by listing 2-4 specific capabilities rather than the vague term 'patterns'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'Vercel AI SDK 5 patterns' and mentions 'building AI chat features' and 'breaking changes from v4', but does not list any concrete actions like specific API patterns, migration steps, or code transformations. It's more of a topic label than a capability description. | 1 / 3 |
Completeness | It has a 'Trigger:' clause which addresses 'when' (building AI chat features), but the 'what' is extremely vague — 'patterns' doesn't explain what the skill actually does. The trigger clause partially satisfies the 'when' requirement but the 'what' is too weak for a score of 3. | 2 / 3 |
Trigger Term Quality | Includes some relevant terms like 'Vercel AI SDK 5', 'AI chat features', 'breaking changes', and 'v4', which users might naturally mention. However, it misses common variations like 'useChat', 'streamText', 'ai sdk migration', '@ai-sdk', or specific package names users would reference. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Vercel AI SDK 5' and 'breaking changes from v4' provides some specificity, but 'AI chat features' is broad enough to overlap with other AI/chat-related skills. The version-specific framing helps but the scope is still somewhat ambiguous. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
79%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, actionable migration reference that efficiently communicates AI SDK 5 breaking changes through concrete before/after code examples. Its main weakness is the lack of an explicit migration workflow or checklist, which would help developers systematically upgrade from v4 to v5. The content could also benefit from splitting advanced integrations (LangChain, tools) into separate referenced files.
Suggestions
Add a brief migration checklist at the top (e.g., '1. Update imports from "ai" to "@ai-sdk/react", 2. Replace useChat options with transport pattern, 3. Migrate message.content to message.parts, 4. Verify streaming still works') to improve workflow clarity.
Consider moving LangChain integration and advanced tool usage into separate referenced files to improve progressive disclosure for the common case.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. It leads with the breaking change diff (old vs new), then provides concrete patterns without explaining what AI SDKs are or how streaming works conceptually. Every section earns its place by showing migration-critical code. | 3 / 3 |
Actionability | Every section contains fully executable, copy-paste ready TypeScript code with complete imports, type definitions, and component implementations. The old/new pattern comparisons make migration immediately actionable. | 3 / 3 |
Workflow Clarity | The sections are logically ordered (breaking changes → client → message structure → server → integrations → error handling), but there's no explicit migration workflow or sequenced steps. For a migration-focused skill, a checklist or ordered migration process would improve clarity. | 2 / 3 |
Progressive Disclosure | Content is well-sectioned with clear headers, but it's a monolithic file with no references to external resources. The LangChain integration and tools sections could be split out, and the UIMessage type details are quite lengthy inline. | 2 / 3 |
Total | 10 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
c8036a3
Table of Contents
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.