A collection of Agent Skills for building with OpenRouter — a unified API for 600+ AI models.
These skills work with any agent that supports the Agent Skills standard, including Claude Code, Cursor, OpenCode, OpenAI Codex, and Pi.
For agents that support plugins, installing via the native plugin system is recommended as skills will auto-update.
/plugin marketplace add OpenRouterTeam/skills
/plugin install openrouter@openrouter
Add via Settings > Rules > Add Rule > Remote Rule (Github) with OpenRouterTeam/skills.
git clone https://github.com/OpenRouterTeam/skills.git /tmp/openrouter-skills
cp -r /tmp/openrouter-skills/skills/* ~/.config/opencode/skills/
rm -rf /tmp/openrouter-skillsWorks with Claude Code, Cursor, OpenCode, Codex, Gemini CLI, Windsurf, and many more agents. Requires GitHub CLI v2.90.0 or later.
Install all OpenRouter skills:
gh skill install OpenRouterTeam/skillsPass the skill name as the second argument — see each skill's README (linked in the table below) for the exact name and a copy‑pasteable command.
gh skill install OpenRouterTeam/skills openrouter-imagesBy default skills install at project scope (inside the current git repo). To make a skill available across every project for your current agent, add --scope user:
gh skill install OpenRouterTeam/skills openrouter-images --scope userTo target a specific agent, add --agent (e.g. --agent claude-code, --agent cursor). Full flag reference.
Skills are contextual and auto-loaded based on your conversation. When a request matches a skill's triggers, the agent loads and applies the relevant skill to provide accurate, up-to-date guidance.
| Skill | Useful for |
|---|---|
| create-agent-tui | Scaffolds a complete agent TUI in TypeScript — like create-react-app for terminal agents. Customizable input styles, tool display modes, ASCII banners, loaders, session persistence, and 14 built-in tools |
| create-headless-agent | Scaffolds a headless agent in TypeScript + Bun — for CLI tools, API servers, queue workers, and pipelines. No terminal UI. 12 built-in tools, session persistence, output schema validation, and webhook notifications |
| openrouter-typescript-sdk | Complete reference for integrating with 600+ AI models through the OpenRouter TypeScript SDK using the callModel pattern |
| openrouter-agent-migration | Migrating from @openrouter/sdk to the standalone @openrouter/agent package for callModel, tool(), stop conditions, and streaming helpers |
| openrouter-models | Querying available models, comparing pricing, checking context lengths, finding provider performance, and fuzzy model name resolution |
| openrouter-images | Generating images from text prompts and editing existing images using OpenRouter's image generation models |
| openrouter-stt | Transcribing speech to text via POST /api/v1/audio/transcriptions — model discovery, audio format selection, provider-specific options, and zero-dep TypeScript/Python examples |
| openrouter-tts | Synthesizing speech from text via POST /api/v1/audio/speech — model/voice discovery, format selection (mp3 vs pcm), provider-specific options, and OpenAI-SDK compatibility |
| openrouter-video | Generating videos from text prompts (with optional frame or reference images) via OpenRouter's asynchronous video generation API — the submit → poll → download flow |
| openrouter-oauth | Framework-agnostic Sign In with OpenRouter — OAuth PKCE authentication using plain fetch, no SDK or dependencies required. Includes a copy-pasteable auth module and sign-in button component |
| openrouter-analytics | Answering natural-language questions about your OpenRouter usage data — spend, request volume, model breakdown, latency, token usage, and cost optimization |
| openrouter-analytics-schema | Discovering the OpenRouter analytics schema — available metrics, dimensions, filter operators, and granularities, and mapping natural-language questions to query parameters |
| openrouter-analytics-query | Constructing and executing analytics queries against the OpenRouter API — full parameter reference for metrics, dimensions, filters, time ranges, ordering, and pagination |
| openrouter-generations | Inspecting individual OpenRouter generations — request metadata (cost, latency, tokens, model, provider routing) and stored prompt/completion content |
All scripts require an OPENROUTER_API_KEY environment variable. Get one at openrouter.ai/keys.