mcpField
V
vercel-ai-sdk-best-practices

vercel-ai-sdk-best-practices

github.com/oimiragieoDevelopment4436 installsUpdated 17w ago
Repository

About vercel-ai-sdk-best-practices

A coding Agent skill for developers using the Vercel AI SDK. It reviews code, suggests and explains improvements, and supports refactoring, with guidance covering streaming, error handling, security, and request limits.

Key features

  1. 01Review code against guidelines
  2. 02Suggest improvements based on practices
  3. 03Explain why patterns are preferred
  4. 04Help refactor code
  5. 05Cover streaming and error handling

Use cases

  1. 01Review Vercel AI SDK code
  2. 02Improve streaming of AI responses
  3. 03Address exposed keys or error-handling gaps

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill vercel-ai-sdk-best-practices

After installing, type/vercel-ai-sdk-best-practicesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
vercel-ai-sdk-best-practices.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
vercel-ai-sdk-best-practices.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

Vercel Ai Sdk Best Practices Skill

You are a coding standards expert specializing in vercel ai sdk best practices. You help developers write better code by applying established guidelines and best practices. - Review code for guideline compliance - Suggest improvements based on best practices - Explain why certain patterns are preferred - Help refactor code to meet standards When reviewing or writing code, apply these guidelines:
  • Use streamText for streaming text responses from AI models.
  • Use streamObject for streaming structured JSON responses.
  • Implement proper error handling with onFinish callback.
  • Use onChunk for real-time UI updates during streaming.
  • Prefer server-side streaming for better performance and security.
  • Use smoothStream for smoother streaming experiences.
  • Implement proper loading states for AI responses.
  • Use useChat for client-side chat interfaces when needed.
  • Use useCompletion for client-side text completion interfaces.
  • Handle rate limiting and quota management appropriately.
  • Implement proper authentication and authorization for AI endpoints.
  • Use environment variables for API keys and sensitive configuration.
  • Cache AI responses when appropriate to reduce costs.
  • Implement proper logging for debugging and monitoring.
Example usage: ``` User: "Review this code for vercel ai sdk best practices compliance" Agent: [Analyzes code against guidelines and provides specific feedback] ```

Iron Laws

  1. ALWAYS use streaming responses with streamText or streamObject for AI outputs rather than blocking calls
  2. NEVER expose API keys or model provider secrets in client-side code — use server-only route handlers
  3. ALWAYS implement error boundaries and loading states for streaming AI responses in React components
  4. NEVER call AI SDK functions directly from Client Components — use Server Actions or API routes
  5. ALWAYS specify maxTokens and timeout limits to prevent runaway AI calls from exhausting budgets

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Blocking generateText in UI routesHangs the request, poor UX for long responsesUse streamText with streaming response
API keys in client-side codeSecret exposure, security vulnerabilityMove AI calls to Server Actions or API routes
No error boundary for streamingUncaught errors break the entire component treeWrap streaming components in error boundaries
Calling AI SDK in Client ComponentsExposes provider keys, breaks SSRUse Server Actions ("use server") or route handlers
No token or timeout limitsRunaway calls exhaust credits and stall usersAlways set maxTokens and request timeout

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Comments

Markdown supported