What problem does it solve? Building applications that call multiple AI models usually means juggling different provider APIs, authentication schemes, and response formats. This Skill provides a complete reference for the OpenRouter TypeScript SDK, giving you one type-safe interface to access 300+ models with unified tool calling, streaming, and multi-turn conversation handling. ## Core Features & Use Cases - Unified callModel Interface: Send text, message arrays, or multimodal input to any supported model and consume results via getText(), getResponse(), or streaming methods. - Typed Tool System: Define tools with Zod schemas for automatic validation, automatic execution, generator tools with progress events, and stop conditions like stepCountIs and maxCost. - Authentication Options: Use API keys for server-side apps or the OAuth PKCE flow for user-facing applications, plus programmatic API key management. - Use Case: Build a research agent that searches the web via a custom tool, streams progress to the user, stops after 10 turns or when a finish tool is called, and converts responses between OpenAI and Claude message formats. ## Quick Start Install @openrouter/sdk, set your OPENROUTER_API_KEY environment variable, and ask the agent to write a TypeScript script that calls a model with client.callModel and prints the streamed response.