oRPC AI SDK Integration
Seamlessly use AI SDK inside your oRPC projects without any extra overhead.
Skill by Ali Torki
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/ali-master-orpc-ai-sdk-integration
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
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/orpc-ai-sdk-integration
What's inside
- Skill name
oRPC AI SDK Integration- Description
- Seamlessly use AI SDK inside your oRPC projects without any extra overhead.
- License
- MIT
- Metadata
- author: Ali Torki · version: 1.0.0 · homepage: https://github.com/ali-master
- Instructions
- 105 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- name: "oRPC AI SDK Integration" does not match folder "orpc-ai-sdk"
Files (2)
- SKILL.md
- metadata.json
SKILL.md (first lines)
# AI SDK Integration
[AI SDK](https://ai-sdk.dev/) is a free open-source library for building AI-powered products. You can seamlessly integrate it with oRPC without any extra overhead.
> Requires AI SDK v5.0.0 or later.
## Server
Use `streamToEventIterator` to convert AI SDK streams to [oRPC Event Iterators](/docs/event-iterator).
```ts
import { os, streamToEventIterator, type } from '@orpc/server'
import { convertToModelMessages, streamText, UIMessage } from 'ai'
import { google } from '@ai-sdk/google'
export const chat = os
.input(type<{ chatId: string, messages: UIMessage[] }>())
.handler(async ({ input }) => {
const result = streamText({
model: google('gemini-1.5-flash'),
system: 'You are a helpful assistant.',
messages: await convertToModelMessages(input.messages),
})
return streamToEventIterator(result.toUIMessageStream())
})
```
## Client
Convert the event iterator back to a stream using `eventIteratorToStream` or `eventIteratorToUnproxiedDataStream`.
```tsx
import { useChat } from '@ai-sdk/react'
import { eventIteratorToUnproxiedDataStream } from '@orpc/client'
export function Example() {
const { messages, sendMessage, status } = useChat({
transport: {
async sendMessages(options) {
return eventIteratorToUnproxiedDataStream(await client.chat({
chatId: options.chatId,
messages: options.messages,
}, { signal: options.abortSignal }))
},
reconnectToStream() {
throw new Error('Unsupported')
},
},
})
// render UI...
}
```
> Prefer `eventIteratorToUnproxiedDataStream` because AI SDK uses `structuredClone`, which doesn't support proxied data.
## `implementTool` helper
Implements a procedure contract as an [AI SDK tool](https://ai-sdk.dev/docs/foundations/tools).
```ts
import { oc } from '@orpc/contract'
import { AI_SDK_TOOL_META_SYMBOL, AiSdkToolMeta, implementTool } from '@orpc/ai-sdk'
import { z } from 'zod'
interface ORPCMeta extends AiSdkToolMeta {}
const base = oc.$meta<ORPCMeta>({})
const getWeatherContract = base
.meta({ [AI_SDK_TOOL_META_SYMBOL]: { title: 'Get Weather' } })
.route({ summary: 'Get the weather in a location' })
.input(z.object({ location: z.string() }))
.output(z.object({ location: z.string(), temperature: z.number() }))
const getWeatherTool = implementTool(getWeatherContract, {
execute: async ({ location }) => ({
location,
temperature: 72 + Math.floor(Math.random() * 21) - 10,
}),
})
```
## `createTool` helper
Converts a procedure into an AI SDK Tool.
```ts
import { os } from '@orpc/server'
import { AI_SDK_TOOL_META_SYMBOL, AiSdkToolMeta, createTool } from '@orpc/ai-sdk'
import { z } from 'zod'
const getWeatherProcedure = os
.meta({ [AI_SDK_TOOL_META_SYMBOL]: { title: 'Get Weather' } })
.route({ summary: 'Get the weather in a location' })
.input(z.object({ location: z.string() }))
.output(z.object({ location: z.string(), temperature: z.number() }))
.handler(async ({ input }) => ({
location: input.location,
temperature: 72,
}))
const getWeatherTool = createTool(getWeatherProcedure, { context: {} })
```From ali-master/skills, MIT.
More from ali-master/skills
- 0.532score
better-notify
betternotify
Context and API guidance for Better Notify — end-to-end typed notification infrastructure for Node.js
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Better Auth Integration
Ali Torki
Use Better Auth inside your oRPC projects without any extra overhead.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Batch Requests Plugin
Ali Torki
A plugin for oRPC to batch requests and responses to reduce overhead.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Browser Adapter
Ali Torki
Type-safe communication between browser scripts using Message Port Adapter.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Client Retry Plugin
Ali Torki
A plugin for oRPC that enables retrying client calls when errors occur.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Client-Side Clients
Ali Torki
Call your oRPC procedures remotely as if they were local functions.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Bracket Notation
Ali Torki
Represent structured data in limited formats such as URL queries and form data.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Building Custom Plugins
Ali Torki
Create powerful custom plugins to extend oRPC handlers and links with interceptors.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Compression Plugin
Ali Torki
A plugin for oRPC that compresses response bodies to reduce bandwidth usage.
SkillCFreshness: C★ 9Claude Code +9 - 0.521score
oRPC Astro Adapter
Ali Torki
Use oRPC inside an Astro project.
SkillCFreshness: C★ 9Claude Code +9 - 0.521score
oRPC Body Limit Plugin
Ali Torki
A plugin for oRPC to limit the request body size.
SkillCFreshness: C★ 9Claude Code +9 - 0.521score
oRPC Context
Ali Torki
Type-safe dependency injection pattern in oRPC.
SkillCFreshness: C★ 9Claude Code +9
Signals
- Stars
- 9
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- May 15, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/ali-master/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Ali Torki
- 0.524score
oRPC Better Auth Integration
Ali Torki
Use Better Auth inside your oRPC projects without any extra overhead.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Batch Requests Plugin
Ali Torki
A plugin for oRPC to batch requests and responses to reduce overhead.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Client-Side Clients
Ali Torki
Call your oRPC procedures remotely as if they were local functions.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Browser Adapter
Ali Torki
Type-safe communication between browser scripts using Message Port Adapter.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Client Retry Plugin
Ali Torki
A plugin for oRPC that enables retrying client calls when errors occur.
SkillCFreshness: C★ 9Claude Code +9 - 0.524score
oRPC Bracket Notation
Ali Torki
Represent structured data in limited formats such as URL queries and form data.
SkillCFreshness: C★ 9Claude Code +9
Cite this page
oRPC AI SDK Integration skill. Agent Mart. https://agentmart.dev/skills/ali-master-orpc-ai-sdk-integration (last updated 2026-10-24)