agent-builder-vercel-sdk
Build conversational AI agents using Vercel AI SDK + OpenRouter.
Skill by diegosouzapw
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/diegosouzapw-agent-builder-vercel-sdk
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, cloud, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/agent-builder-vercel-sdk
What's inside
- Skill name
agent-builder-vercel-sdk- Description
- Build conversational AI agents using Vercel AI SDK + OpenRouter. Use when creating Next.js frontends with streaming UI, tool calling, and multi-provider support.
- License
- MIT
- Instructions
- 362 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (2)
- SKILL.md
- metadata.json
SKILL.md (first lines)
# Vercel AI SDK Agent Builder
## Purpose
Create streaming AI chat interfaces with minimal code using Vercel AI SDK and OpenRouter provider.
## When to Use
- Building Next.js frontend with chat UI
- Need streaming responses with SSE
- Want type-safe tool calling in TypeScript
- Switching between multiple AI providers
- Building agentic loops with stopWhen/prepareStep
## Quick Start
### Installation
```bash
npm install ai @openrouter/ai-sdk-provider zod
```
### Environment Variables
```env
OPENROUTER_API_KEY=sk-or-v1-...
NEXT_PUBLIC_SITE_URL=http://localhost:3000
```
## Backend Setup (Route Handler)
### Basic Chat Endpoint
```typescript
// app/api/chat/route.ts
import { OpenRouter } from '@openrouter/ai-sdk-provider'
import { streamText } from 'ai'
const openrouter = new OpenRouter({
apiKey: process.env.OPENROUTER_API_KEY
})
export async function POST(req: Request) {
const { messages } = await req.json()
const result = streamText({
model: openrouter('openai/gpt-4o'),
system: 'You are a helpful assistant',
messages,
})
return result.toDataStreamResponse()
}
```
### With Tool Calling
```typescript
import { z } from 'zod'
import { tool } from 'ai'
const tools = {
generateImage: tool({
description: 'Generate images using AI',
parameters: z.object({
prompt: z.string().describe('Image description'),
numImages: z.number().min(1).max(10).default(1)
}),
execute: async ({ prompt, numImages }) => {
// Your implementation
const images = await generateImages(prompt, numImages)
return { images }
}
})
}
export async function POST(req: Request) {
const { messages } = await req.json()
const result = streamText({
model: openrouter('openai/gpt-4o'),
system: 'You are a helpful assistant',
messages,
tools,
maxSteps: 5 // Enable agentic loop
})
return result.toDataStreamResponse()
}
```
## Frontend Integration
### Using useChat Hook
```typescript
'use client'
import { useChat } from 'ai/react'
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat()
return (
<div className="flex flex-col h-screen">
{/* Messages */}
<div className="flex-1 overflow-y-auto p-4">
{messages.map(m => (
<div key={m.id} className={m.role === 'user' ? 'text-right' : 'text-left'}>
<div className="inline-block p-3 rounded-lg">
{m.content}
</div>
</div>
))}
</div>
{/* Input */}
<form onSubmit={handleSubmit} className="p-4 border-t">
<input
value={input}
onChange={handleInputChange}
placeholder="Type a message..."
disabled={isLoading}
className="w-full px-4 py-2 border rounded"
/>
</form>From diegosouzapw/awesome-omni-skill, MIT.
More from diegosouzapw/awesome-omni-skill
- 0.506score
agent-canvas
diegosouzapw
Interactive element picker for web pages.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
agent-builder
diegosouzapw
Create custom Claude Code sub-agents with specialized expertise and tool access.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
adhoc
diegosouzapw
Run and manage ad-hoc AI prompts in sgai workspaces without starting a full agentic session.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
agent-bricks
diegosouzapw
Create and manage Databricks Agent Bricks: Knowledge Assistants (KA) for document Q&A, Genie Spaces for SQL exploration, and Multi-Agent Supervisors (MAS) for…
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-backend-tool
diegosouzapw
Add a new tool to the backend OpenAI function calling system.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
aeo-audit
diegosouzapw
Answer Engine Optimization (AEO) audit methodology for LLM visibility.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-footer
diegosouzapw
Add a professional footer to README files with engagement prompts, community channels, and call-to-action for subscriptions.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-model
diegosouzapw
Add a new AI model to a provider (anthropic, openai, groq, cerebras).
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
address-review
diegosouzapw
Use when addressing PR review comments from Copilot, Claude, or human reviewers.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-resource
diegosouzapw
Add new learning resources (books, articles, courses, papers) to the appropriate resources.md file.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
adding-models
diegosouzapw
Guide for adding new LLM models to Letta Code.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
agent-capability-assessor
diegosouzapw
Assesses agent capabilities by analyzing agent files and determining what tasks they can handle.
SkillDFreshness: D★ 65Claude Code +9
Signals
- Stars
- 65
- Forks
- 22
- Open issues
- 17
- Last commit (this folder)
- Feb 28, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from diegosouzapw
- 0.664score

OmniRoute for GitHub Copilot Chat
diegosouzapw
1200+ AI models in your Copilot Chat — free & forever free.
PluginBFreshness: B★ 140VS Code +3 - 0.506score
adding-models
diegosouzapw
Guide for adding new LLM models to Letta Code.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-model
diegosouzapw
Add a new AI model to a provider (anthropic, openai, groq, cerebras).
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-footer
diegosouzapw
Add a professional footer to README files with engagement prompts, community channels, and call-to-action for subscriptions.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-backend-tool
diegosouzapw
Add a new tool to the backend OpenAI function calling system.
SkillDFreshness: D★ 65Claude Code +9 - 0.506score
add-resource
diegosouzapw
Add new learning resources (books, articles, courses, papers) to the appropriate resources.md file.
SkillDFreshness: D★ 65Claude Code +9
Cite this page
agent-builder-vercel-sdk skill. Agent Mart. https://agentmart.dev/skills/diegosouzapw-agent-builder-vercel-sdk (last updated 2026-10-24)