Not in the top 1,000 by GitHub stars
OpenRouterTeam/skills
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
open-responses/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/create-agent-tui/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/create-headless-agent/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/install-ori-harness/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-agent-migration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-analytics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-analytics-query/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-analytics-schema/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-benchmarks/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-decisions/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-generations/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-images/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-models/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-oauth/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-stt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-tts/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-typescript-sdk/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/openrouter-video/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
skills/spawn-ori-eval/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
76e20720c2d7 → fc4b230a5fce
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 76e20720c2d7
No earlier version was observed for comparison.
Verified commit fc4b230a5fce0470ccae3a286d8535dd4f8e45fe
git clone --filter=blob:none --no-checkout https://github.com/OpenRouterTeam/skills.git .hotskills/openrouterteam-skills && git -C .hotskills/openrouterteam-skills checkout --detach fc4b230a5fce0470ccae3a286d8535dd4f8e45fe
# Copy each selected skill directory from .hotskills/openrouterteam-skills into .claude/skills/<skill-name>/Heat
6.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- open-responses
open-responses - create-agent-tui
skills/create-agent-tui - create-headless-agent
skills/create-headless-agent - install-ori-harness
skills/install-ori-harness - openrouter-agent-migration
skills/openrouter-agent-migration - openrouter-analytics
skills/openrouter-analytics - openrouter-analytics-query
skills/openrouter-analytics-query - openrouter-analytics-schema
skills/openrouter-analytics-schema - openrouter-benchmarks
skills/openrouter-benchmarks - openrouter-decisions
skills/openrouter-decisions - openrouter-generations
skills/openrouter-generations - openrouter-images
skills/openrouter-images - openrouter-models
skills/openrouter-models - openrouter-oauth
skills/openrouter-oauth - openrouter-stt
skills/openrouter-stt - openrouter-tts
skills/openrouter-tts - openrouter-typescript-sdk
skills/openrouter-typescript-sdk - openrouter-video
skills/openrouter-video - spawn-ori-eval
skills/spawn-ori-eval
How it works
open-responses
When your agent uses it
This skill should be used when implementing, consuming, or debugging an Open Responses-compliant API — the open standard for multi-provider LLM interoperability. Covers protocol, items, state machines, streaming events, tools, the agentic loop pattern, and extensions. Triggers on: Open Responses, open-responses, /v1/responses endpoint, multi-provider LLM API, Open Responses compliance.
What it loads into context
Frontmatter
96 tokensAlways available to the agent
SKILL.md
4,426 tokensWhen the skill is activated
Reference documents
8,131 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Reference Files
- Core Concepts
- Tools
- Agentic Loop Pattern
- Extensions
- Compliance
- Quick Reference
Files
../.claude-plugin/marketplace.jsonasset311 bytes../.claude-plugin/plugin.jsonasset234 bytesSKILL.mdcore20,366 bytesSKILL.mdcore20,366 bytesmetadata.jsonasset941 bytesreferences/extensions.mddoc4,820 bytesreferences/protocol-and-items.mddoc9,967 bytesreferences/state-machines-and-streaming.mddoc18,838 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcreate-agent-tui
When your agent uses it
Scaffolds a complete agent TUI in TypeScript using @openrouter/agent — like create-react-app for terminal agents. Generates a customizable terminal interface with three input styles, four tool display modes, ASCII banners, streaming output, session persistence, and configurable tools. Use when building an agent, creating a TUI, scaffolding an agent project, or building a coding assistant.
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
6,427 tokensWhen the skill is activated
Reference documents
19,926 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Decision Tree
- Interactive Tool Checklist
- Generation Workflow
- Tool Pattern
- Core Files
- ASCII Logo Banner
- Reference Files
Scripts executed separately
sample/package.jsonsample/src/agent.tssample/src/banner.tssample/src/cli.tssample/src/commands.tssample/src/config.tssample/src/loader.tssample/src/renderer.tssample/src/screenshot-demos.tssample/src/session.tssample/src/terminal-bg.tssample/src/tools/custom.tssample/src/tools/file-edit.tssample/src/tools/file-read.tssample/src/tools/file-write.tssample/src/tools/glob.tssample/src/tools/grep.tssample/src/tools/index.tssample/src/tools/list-dir.tssample/src/tools/shell.ts
Files
README.mddoc9,454 bytesSKILL.mdcore25,934 bytesSKILL.mdcore25,934 bytesmetadata.jsonasset571 bytesreferences/input-styles.mddoc7,898 bytesreferences/loader.mddoc3,807 bytesreferences/modules.mddoc14,898 bytesreferences/server-entry-points.mddoc6,244 bytesreferences/slash-commands.mddoc6,527 bytesreferences/system-prompt.mddoc3,310 bytesreferences/tool-display.mddoc10,327 bytesreferences/tools.mddoc8,433 bytesreferences/tui.mddoc3,838 bytessample/.gitignoreasset51 bytessample/package-lock.jsonasset11,424 bytessample/package.jsonruns595 bytessample/screenshots/banner.pngasset16,058 bytessample/screenshots/input-style-block.pngasset15,799 bytessample/screenshots/input-style-bordered.pngasset15,817 bytessample/screenshots/input-style-plain.pngasset15,907 bytessample/screenshots/loader-gradient.pngasset26,635 bytessample/screenshots/loader-minimal.pngasset26,601 bytessample/screenshots/loader-spinner.pngasset26,620 bytessample/screenshots/tool-display-emoji.pngasset66,241 bytessample/screenshots/tool-display-grouped.pngasset64,468 bytessample/screenshots/tool-display-minimal.pngasset62,522 bytessample/src/agent.tsruns3,937 bytessample/src/banner.tsruns1,567 bytessample/src/cli.tsruns12,043 bytessample/src/commands.tsruns2,981 bytessample/src/config.tsruns2,779 bytessample/src/loader.tsruns1,713 bytessample/src/renderer.tsruns8,328 bytessample/src/screenshot-demos.tsruns2,055 bytessample/src/session.tsruns1,337 bytessample/src/terminal-bg.tsruns2,198 bytessample/src/tools/custom.tsruns344 bytessample/src/tools/file-edit.tsruns1,628 bytessample/src/tools/file-read.tsruns2,273 bytessample/src/tools/file-write.tsruns714 bytessample/src/tools/glob.tsruns846 bytessample/src/tools/grep.tsruns1,623 bytessample/src/tools/index.tsruns610 bytessample/src/tools/list-dir.tsruns770 bytessample/src/tools/shell.tsruns1,353 bytessample/test-tui.mddoc4,470 bytessample/tsconfig.jsonasset254 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcreate-headless-agent
When your agent uses it
Scaffolds a headless agent in TypeScript using @openrouter/agent and Bun — for CLI tools, API servers, queue workers, and pipelines. No terminal UI. Use when building a headless agent, programmatic agent, CLI tool that uses AI, batch agent, pipeline agent, API agent, agent without a UI, or agent service.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
5,373 tokensWhen the skill is activated
Reference documents
17,825 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Decision Tree
- Interactive Feature Checklist
- Generation Workflow
- Tool Pattern
- Core Files
- Reference Files
Scripts executed separately
sample/package.jsonsample/src/agent.tssample/src/cli.tssample/src/config.tssample/src/session.tssample/src/tools/custom.tssample/src/tools/file-edit.tssample/src/tools/file-read.tssample/src/tools/file-write.tssample/src/tools/glob.tssample/src/tools/grep.tssample/src/tools/index.tssample/src/tools/list-dir.tssample/src/tools/shell.tssample/test/agent.test.tssample/test/output-schema.test.tssample/test/retry.test.ts
Files
README.mddoc8,619 bytesSKILL.mdcore21,658 bytesSKILL.mdcore21,658 bytesSKILL.mdcore21,658 bytesmetadata.jsonasset492 bytesreferences/entry-points.mddoc18,597 bytesreferences/modules.mddoc37,746 bytesreferences/tools.mddoc9,188 bytessample/.env.exampleasset20 bytessample/.gitignoreasset36 bytessample/agent.config.jsonasset66 bytessample/bun.lockasset2,774 bytessample/package.jsonruns419 bytessample/src/agent.tsruns5,663 bytessample/src/cli.tsruns7,838 bytessample/src/config.tsruns2,430 bytessample/src/session.tsruns1,337 bytessample/src/tools/custom.tsruns344 bytessample/src/tools/file-edit.tsruns1,885 bytessample/src/tools/file-read.tsruns2,231 bytessample/src/tools/file-write.tsruns687 bytessample/src/tools/glob.tsruns947 bytessample/src/tools/grep.tsruns1,863 bytessample/src/tools/index.tsruns858 bytessample/src/tools/list-dir.tsruns770 bytessample/src/tools/shell.tsruns2,504 bytessample/test/agent.test.tsruns2,295 bytessample/test/output-schema.test.tsruns2,574 bytessample/test/retry.test.tsruns3,774 bytessample/tsconfig.jsonasset268 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubinstall-ori-harness
When your agent uses it
Install Ori and run the user's existing coding agent CLI through Ori on OpenRouter, with OAuth sign-in, model selection, upgrades, and install verification.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
830 tokensWhen the skill is activated
Reference documents
270 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Install Ori
- 2. Verify the CLI
- 3. Sign in with OpenRouter OAuth
- 4. Run the user's existing agent CLI
- 5. Choose any OpenRouter model
- 6. Upgrade Ori
- 7. Confirm the setup works
Files
README.mddoc1,154 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytesSKILL.mdcore3,518 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-agent-migration
When your agent uses it
Migration guide from @openrouter/sdk to @openrouter/agent for callModel, tool(), stop conditions, and agent features. This skill should be used when code imports callModel, tool(), or stop conditions from @openrouter/sdk and needs to migrate to @openrouter/agent.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
3,046 tokensWhen the skill is activated
Reference documents
337 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When This Applies
- Quick Migration
- Complete Import Mapping
- Before & After Example
- When to Keep @openrouter/sdk
- New Features in @openrouter/agent
- All Subpath Exports
Files
README.mddoc1,358 bytesSKILL.mdcore11,623 bytesSKILL.mdcore11,623 bytesSKILL.mdcore11,623 bytesSKILL.mdcore11,623 bytesmetadata.jsonasset680 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-analytics
When your agent uses it
Answer natural-language questions about a user's OpenRouter usage data — spend, request volume, model breakdown, latency, token usage, and cost optimization. Use when the user asks about their API usage, billing, costs, top models, traffic patterns, or wants to optimize their OpenRouter spend.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
2,227 tokensWhen the skill is activated
Reference documents
487 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- First-Time Setup
- Decision Tree
- Workflow
- Discover Available Data
- Query Analytics Data
- Common Query Templates
- Interpreting Results
- Drilling Down to Individual Generations
- API Reference
Scripts executed separately
scripts/discover-schema.tsscripts/lib.tsscripts/package.jsonscripts/query-analytics.tsscripts/suggest-queries.ts
Files
README.mddoc2,037 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesSKILL.mdcore9,359 bytesscripts/discover-schema.tsruns830 bytesscripts/lib.tsruns4,706 bytesscripts/package-lock.jsonasset15,454 bytesscripts/package.jsonruns132 bytesscripts/query-analytics.tsruns5,106 bytesscripts/suggest-queries.tsruns3,963 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-analytics-query
When your agent uses it
Construct and execute analytics queries against the OpenRouter API — full parameter reference for metrics, dimensions, filters, time ranges, ordering, and pagination. Use when building or debugging an analytics query, understanding the request/response shape, or handling query errors.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
4,743 tokensWhen the skill is activated
Reference documents
465 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Query Endpoint
- Request Schema
- Classifier Dimensions
- Classifier Filters
- Response Schema
- CLI Reference
- Direct API Usage (curl)
- Query Construction Guide
- Error Handling
- Time Range Behavior
Files
README.mddoc1,951 bytesSKILL.mdcore18,060 bytesSKILL.mdcore18,060 bytesSKILL.mdcore18,060 bytesSKILL.mdcore18,060 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-analytics-schema
When your agent uses it
Discover the OpenRouter analytics schema — available metrics, dimensions, filter operators, and granularities. Use when you need to know what analytics data is queryable, what dimensions you can break down by, or how to map a user's question to the right metric/dimension combination.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
4,264 tokensWhen the skill is activated
Reference documents
475 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Discovery Endpoint
- Response Shape
- Understanding Metrics
- Understanding Dimensions
- Classifier Dimensions
- Understanding Operators
- Understanding Granularities
- Mapping Questions to Queries
- Filter Value Reference
- Constraints
Files
README.mddoc2,051 bytesSKILL.mdcore17,283 bytesSKILL.mdcore17,283 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-benchmarks
When your agent uses it
Query OpenRouter's Benchmarks API for model benchmark rankings and scores. Use when the user asks for benchmark-backed model selection, model rankings by coding/intelligence/agentic ability, Artificial Analysis or Design Arena ELO/win-rate results, benchmark citations, or wants to call GET /api/v1/benchmarks. Also use alongside openrouter-models when the user asks what model should power an app, product, workflow, or use case and benchmark evidence could inform or rule out part of the recommendation, including creative writing, editing, coding, design, agentic, or intelligence-heavy apps. Do not use for OpenRouter usage analytics, billing/spend analysis, generation metadata, provider uptime/latency, generic model pricing/capability lookup without any selection or benchmark-relevance decision, or creating an evaluation suite for a local app.
What it loads into context
Frontmatter
179 tokensAlways available to the agent
SKILL.md
1,410 tokensWhen the skill is activated
Reference documents
1,433 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Decision Tree
- Availability Gate
- API Usage
- Interpreting Results
- Direct API Call
Files
README.mddoc1,289 bytesSKILL.mdcore6,480 bytesSKILL.mdcore6,480 bytesSKILL.mdcore6,480 bytesagents/openai.yamlasset207 bytesreferences/benchmarks-api.mddoc4,864 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-decisions
When your agent uses it
Implement decision models through OpenRouter's Decisions API, which returns probabilities instead of generated text: pick the primitive per judgment, build minimal state, write the questions, pin a model from the live catalog, gate in code, and probe thresholds on real inputs. Use when replacing a prompt-and-parse LLM call, a keyword or similarity heuristic, a human review queue, or a misfiring router, filter, or classifier with a decision model, when locating something in an image with a Box question, when moving TypeSafe SDK or System One code onto OpenRouter, when asked to find or implement decision-model use cases in an app or agent, and whenever decision models, Jev, TypeSafe, or System One come up. Covers routing, classification, moderation, guardrails, grounding checks, scoring, ranking, dedupe, escalation and approval gates, bounded extraction, and thresholds. Not for chat completions, text generation, or general OpenRouter setup.
What it loads into context
Frontmatter
203 tokensAlways available to the agent
SKILL.md
2,435 tokensWhen the skill is activated
Reference documents
7,442 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Steps
Scripts executed separately
scripts/decide.tsscripts/lib.test.tsscripts/lib.tsscripts/models.tsscripts/package.json
Files
README.mddoc3,119 bytesSKILL.mdcore10,980 bytesSKILL.mdcore10,980 bytesagents/openai.yamlasset267 bytesreferences/decision-model-limits.mddoc3,784 bytesreferences/decisions-api.mddoc9,336 bytesreferences/models.mddoc4,995 bytesreferences/question-design.mddoc9,820 bytesscripts/decide.tsruns3,201 bytesscripts/lib.test.tsruns2,011 bytesscripts/lib.tsruns20,633 bytesscripts/models.tsruns6,085 bytesscripts/package-lock.jsonasset16,279 bytesscripts/package.jsonruns247 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-generations
When your agent uses it
Retrieve detailed metadata and stored content for individual OpenRouter generations. Use when the user wants to inspect a specific request — its cost, latency, token usage, provider routing, or the actual prompt/completion text — or is debugging a failed or unexpected generation.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
2,282 tokensWhen the skill is activated
Reference documents
602 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- First-Time Setup
- Endpoints
- Workflow
- Direct API Usage (curl)
- Response Schemas
- Common Use Cases
- Error Handling
- Key Fields Reference
Scripts executed separately
scripts/get-generation-content.tsscripts/get-generation.tsscripts/lib.tsscripts/package.json
Files
README.mddoc2,494 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesSKILL.mdcore8,501 bytesscripts/get-generation-content.tsruns3,046 bytesscripts/get-generation.tsruns4,933 bytesscripts/lib.tsruns4,083 bytesscripts/package-lock.jsonasset15,458 bytesscripts/package.jsonruns134 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-images
When your agent uses it
Generate images from text prompts and edit existing images using OpenRouter's dedicated Image API. Use when the user asks to create, generate, or make an image, picture, or illustration from a description, or wants to edit, modify, transform, or alter an existing image with a text prompt.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
2,047 tokensWhen the skill is activated
Reference documents
337 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- First-Time Setup
- Decision Tree
- Discover Capabilities First
- Generate Image
- Edit Image
- Options
- Output Format
- API Response Shapes
- Using a Different Model
- Presenting Results
Scripts executed separately
scripts/discover.tsscripts/edit.tsscripts/generate.tsscripts/lib.tsscripts/package.json
Files
README.mddoc1,446 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesscripts/discover.tsruns2,650 bytesscripts/edit.tsruns2,064 bytesscripts/generate.tsruns1,700 bytesscripts/lib.tsruns8,723 bytesscripts/package-lock.jsonasset16,400 bytesscripts/package.jsonruns129 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-models
When your agent uses it
Query OpenRouter for available AI models, pricing, capabilities, throughput, and provider performance. Use when the user asks about available OpenRouter models, model pricing, model context lengths, model capabilities, provider latency or uptime, throughput limits, supported parameters, wants to search/filter/compare models, or find the fastest provider for a model.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
2,776 tokensWhen the skill is activated
Reference documents
331 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- First-Time Setup
- Decision Tree
- Resolve Model
- List Models
- Search Models
- Compare Models
- Provider Performance (Endpoints)
- API Response Shapes
- Script Output Formats
- Key Fields
- Presenting Results
Scripts executed separately
scripts/compare-models.tsscripts/get-endpoints.tsscripts/lib.tsscripts/list-models.tsscripts/package.jsonscripts/resolve-model.tsscripts/search-models.ts
Files
README.mddoc1,385 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesSKILL.mdcore10,529 bytesscripts/compare-models.tsruns3,722 bytesscripts/get-endpoints.tsruns3,391 bytesscripts/lib.tsruns2,381 bytesscripts/list-models.tsruns1,280 bytesscripts/package-lock.jsonasset16,400 bytesscripts/package.jsonruns129 bytesscripts/resolve-model.tsruns5,018 bytesscripts/search-models.tsruns1,372 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-oauth
When your agent uses it
Implement "Sign In with OpenRouter" using OAuth PKCE — framework-agnostic, no SDK or client registration required. Use when the user wants to add OpenRouter login, authentication, sign-in buttons, OAuth, or AI model inference API keys for browser-based apps. No client registration, no backend, no secrets required.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
2,504 tokensWhen the skill is activated
Reference documents
321 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decision Tree
- OAuth PKCE Flow
- Auth Module Reference
- Sign-in Button
- Using the API Key
- Resources
Files
README.mddoc1,344 bytesSKILL.mdcore9,310 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-stt
When your agent uses it
Transcribe speech to text using OpenRouter's speech-to-text API. Use when the user asks to transcribe audio, convert speech to text, extract a transcript from a recording or meeting, caption a video's audio, or mentions STT, speech-to-text, ASR, or transcription.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
2,002 tokensWhen the skill is activated
Reference documents
419 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- One call, JSON back
- Drop-in workflow
- Discovering STT models
- Parameters
- Provider-specific options
- TypeScript (fetch)
- Python (requests)
- Troubleshooting
- References
Files
README.mddoc1,636 bytesSKILL.mdcore7,741 bytesSKILL.mdcore7,741 bytesSKILL.mdcore7,741 bytesSKILL.mdcore7,741 bytesSKILL.mdcore7,741 bytesSKILL.mdcore7,741 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-tts
When your agent uses it
Generate speech audio from text using OpenRouter's text-to-speech API. Use when the user asks to synthesize speech, narrate text, create a voiceover, generate an audiobook clip, read text aloud, convert text to an audio file, or mentions TTS, text-to-speech, or voice synthesis.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
2,306 tokensWhen the skill is activated
Reference documents
400 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- One call, raw bytes back
- Drop-in workflow
- Discovering TTS models and voices
- Parameters
- Provider-specific options
- OpenAI SDK compatibility
- Long inputs
- Troubleshooting
- References
Files
README.mddoc1,613 bytesSKILL.mdcore9,040 bytesSKILL.mdcore9,040 bytesSKILL.mdcore9,040 bytesSKILL.mdcore9,040 bytesSKILL.mdcore9,040 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-typescript-sdk
When your agent uses it
Complete reference for integrating with 300+ AI models through the OpenRouter TypeScript SDK and Agent packages using the callModel pattern
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
7,367 tokensWhen the skill is activated
Reference documents
446 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installation
- Setup
- Authentication
- Core Concepts: callModel
- Input Formats
- Response Methods
- Tool System
- Multi-Turn Conversations with Stop Conditions
- Dynamic Parameters
- nextTurnParams: Context Injection
- Generation Parameters
- Streaming
- Format Conversion
- Responses API Message Shapes
- Event Shapes
- API Reference
- Error Handling
- Complete Example: Agent with Tools
- Best Practices
- Additional Resources
Files
README.mddoc1,884 bytesSKILL.mdcore31,278 bytesSKILL.mdcore31,278 bytesSKILL.mdcore31,278 bytesmetadata.jsonasset1,066 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenrouter-video
When your agent uses it
Generate videos from text prompts (and optional reference or frame images) using OpenRouter's asynchronous video generation API. Use when the user asks to create, generate, or make a video or animation from a description, animate an existing image, or turn a prompt into a short video clip.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
1,581 tokensWhen the skill is activated
Reference documents
314 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The three steps
- Pick parameters from the models endpoint, don't guess
- Full workflow (drop-in)
- Parameters
- Provider passthrough
- Webhooks (optional)
- References
Files
README.mddoc1,316 bytesSKILL.mdcore5,911 bytesSKILL.mdcore5,911 bytesSKILL.mdcore5,911 bytesSKILL.mdcore5,911 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubspawn-ori-eval
When your agent uses it
Spawn Ori as a subprocess to run a throwaway model eval on a pinned harness and model, then relay the results. Use when the user asks which model they should use, wants to compare models, wants to measure whether their agent or prompt does the right thing, wants to catch regressions in agent behavior, or asks how good their current model is. Applies to any codebase in any language. Do not use for plain unit tests that involve no model, and do not use to re-run an eval that already exists (run `ori eval <file>` directly).
What it loads into context
Frontmatter
124 tokensAlways available to the agent
SKILL.md
6,742 tokensWhen the skill is activated
Reference documents
553 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Pins
- Steps
- Rules
- Appendix A: run directory and step tracker
- Appendix B: setup commands
- Appendix C: task prompt template
- Appendix D: starting a run
- Appendix E: answer shape
- Appendix F: cost and timing table
- Appendix G: troubleshooting
Files
README.mddoc2,311 bytesSKILL.mdcore30,587 bytesSKILL.mdcore30,587 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- open-responses
- create-agent-tui
- create-headless-agent
- install-ori-harness
- openrouter-agent-migration
- openrouter-analytics
- openrouter-analytics-query
- openrouter-analytics-schema
- openrouter-benchmarks
- openrouter-decisions
- openrouter-generations
- openrouter-images
- openrouter-models
- openrouter-oauth
- openrouter-stt
- openrouter-tts
- openrouter-typescript-sdk
- openrouter-video
- spawn-ori-eval
Repository facts
- License
- No license detected
- Created
- Jan 31, 2026
- Last pushed
- Nov 6, 2026
- Forks
- 59
- Open issues
- 20
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 75 notes
open-responses/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-agent-tui/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-headless-agent/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-headless-agent/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/install-ori-harness/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-agent-migration/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-agent-migration/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-agent-migration/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-analytics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-analytics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/openrouter-analytics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 13 dangerous shell commandsin 11 files: openrouter-stt/SKILL.md:73 openrouter-tts/SKILL.md:47 create-headless-agent/references/modules.md:461 and 8 more
- 891 network referencesin 70 files: openrouter-images/scripts/package-lock.json:12 openrouter-models/scripts/package-lock.json:12 openrouter-decisions/scripts/package-lock.json:15 and 67 more
- No hidden or obfuscated text
- 2 instruction override signalsin 1 file: spawn-ori-eval/SKILL.md:61
- 63 executable scriptsin 63 files: create-agent-tui/sample/package.json:1 create-agent-tui/sample/src/agent.ts:1 create-agent-tui/sample/src/banner.ts:1 and 60 more
- 115 references to secretsin 48 files: openrouter-typescript-sdk/SKILL.md:35 openrouter-decisions/references/decisions-api.md:3 openrouter-video/SKILL.md:8 and 45 more
- No requests to vote in Hot
Show all 1,084 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://code.claude.com/schemas/marketplace.json", - Network accessline 2
"$schema": "https://code.claude.com/schemas/marketplace.json", - Network accessline 4
"owner": { "name": "OpenRouter", "url": "https://openrouter.ai" - Network accessline 5
"name": "OpenRouter", "url": "https://openrouter.ai" }, - Network accessline 6
"url": "https://openrouter.ai"
open-responses/SKILL.md
open-responses/metadata.json
- Network accessline 5
"abstract": "Complete reference for the Open Responses specification — an open API standard for multi-provider LLM interoperability. Covers the stateless HTTP protocol, polymorphic item system, state machines with lifecycle transitions, str - Network accessline 6
"references": [ "https://www.openresponses.org/", "https://www.openresponses.org/specification", - Network accessline 7
"https://www.openresponses.org/", - Network accessline 8
"https://www.openresponses.org/specification", - Network accessline 9
"https://www.openresponses.org/specification#extending-open-responses", - Network accessline 10
"https://www.openresponses.org/specification#state-machines"
open-responses/references/extensions.md
- Network accessline 5
**Specification:** https://www.openresponses.org/specification#extending-open-responses - Network accessline 47
{ "title": "Open Responses", "url": "https://www.openresponses.org/", - Network accessline 48
"title": "Open Responses", "url": "https://www.openresponses.org/", "snippet": "An open-source specification for multi-provider LLM interoperability." - Network accessline 49
"url": "https://www.openresponses.org/",
skills/create-agent-tui/README.md
- Network accessline 9
Install just this skill with the [GitHub CLI](https://cli.github.com/) (v2.90.0+) — works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install): - Network accessline 17
Or install the full [OpenRouter skills plugin](https://github.com/OpenRouterTeam/skills) in Claude Code: - Network accessline 153
The generated TUI doesn't reimplement the agent loop — [`@openrouter/agent`](https://www.npmjs.com/package/@openrouter/agent) handles all of that: - Access to secretsline 177
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted]
skills/create-agent-tui/SKILL.md
- Network accessline 17
- Node.js 18+ - `OPENROUTER_API_KEY` from [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys) - Network accessline 18
[Credential-related source omitted] - Access to secretsline 18
[Credential-related source omitted] - Access to secretsline 146
[Credential-related source omitted] - Access to secretsline 309
[Credential-related source omitted] - Access to secretsline 318
[Credential-related source omitted]
skills/create-agent-tui/metadata.json
- Network accessline 5
"abstract": "Scaffolds a complete agent TUI in TypeScript using @openrouter/agent — customizable input styles, tool display modes, ASCII banners, streaming output, session persistence, and configurable tools.", "references": [ "https: - Network accessline 6
"references": [ "https://openrouter.ai/docs/guides/features/server-tools/overview", "https://openrouter.ai/docs/guides/features/tool-calling", - Network accessline 7
"https://openrouter.ai/docs/guides/features/server-tools/overview", - Network accessline 8
"https://openrouter.ai/docs/guides/features/tool-calling", - Network accessline 9
"https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent", - Network accessline 10
"https://github.com/openai/codex"
skills/create-agent-tui/references/server-entry-points.md
- Network accessline 23
const config = loadConfig(); const ALLOWED_ORIGIN = process.env.ALLOWED_ORIGIN ?? 'http://localhost:5173'; - Network accessline 24
const ALLOWED_ORIGIN = process.env.ALLOWED_ORIGIN ?? 'http://localhost:5173'; - Access to secretsline 41
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Network accessline 136
# Non-streaming curl -X POST http://localhost:3000/chat \ - Network accessline 137
curl -X POST http://localhost:3000/chat \ - Network accessline 141
# Streaming (SSE) curl -X POST http://localhost:3000/chat \ - Network accessline 142
curl -X POST http://localhost:3000/chat \
skills/create-agent-tui/references/slash-commands.md
- Network accessline 78
if (!query.trim()) return; process.stdout.write(` ${DIM}Fetching…${RESET}`); const res = await fetch('https://openrouter.ai/api/v1/models'); - Network accessline 79
process.stdout.write(` ${DIM}Fetching…${RESET}`); const res = await fetch('https://openrouter.ai/api/v1/models'); const { data } = await res.json() as { data: { id: string; name: string }[] }; - Network accessline 80
const res = await fetch('https://openrouter.ai/api/v1/models');
skills/create-agent-tui/references/tools.md
- Network accessline 198
- **inputSchema**: `url` (string) - **Behavior**: Validate URL first (block `localhost`, `127.0.0.1`, `169.254.*`, and other internal addresses to prevent SSRF). Then `fetch(url)`, get HTML, strip tags to extract text content. Truncate to 5 - Network accessline 199
- **Behavior**: Validate URL first (block `localhost`, `127.0.0.1`, `169.254.*`, and other internal addresses to prevent SSRF). Then `fetch(url)`, get HTML, strip tags to extract text content. Truncate to 50KB. Return `{ url, title, text }`
skills/create-agent-tui/sample/.gitignore
- Access to secretsline 4
[Credential-related source omitted]
skills/create-agent-tui/sample/package-lock.json
- Network accessline 23
"node_modules/@esbuild/darwin-arm64": { "version": "0.27.7", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", - Network accessline 24
"version": "0.27.7", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", - Network accessline 25
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", - Network accessline 40
"node_modules/@openrouter/agent": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@openrouter/agent/-/agent-0.4.0.tgz", - Network accessline 41
"version": "0.4.0", "resolved": "https://registry.npmjs.org/@openrouter/agent/-/agent-0.4.0.tgz", "integrity": "sha512-at/vbDFdWm2+iUYEw63gVMc1dt3zMW+WWOUofrMmouxi6GdY05pR3gyUGLAIgQYjeAnfK2gWIop/idt/tBCw4A==", - Network accessline 42
"resolved": "https://registry.npmjs.org/@openrouter/agent/-/agent-0.4.0.tgz", - Network accessline 50
"node_modules/@openrouter/sdk": { "version": "0.12.19", "resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-0.12.19.tgz", - Network accessline 51
"version": "0.12.19", "resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-0.12.19.tgz", "integrity": "sha512-dlu3lN0TTa7STJy+71IV2a+kctQwFYfs9TJRMlW0Znd7PLfZiyLJsOGYBBNmsJJnyI0HLDrRQdZ4Zzfrz3z5bw==", - Network accessline 52
"resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-0.12.19.tgz", - Network accessline 60
"node_modules/@types/node": { "version": "25.6.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - Network accessline 61
"version": "25.6.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - Network accessline 62
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - Network accessline 70
"node_modules/balanced-match": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - Network accessline 71
"version": "4.0.4", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - Network accessline 72
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - Network accessline 79
"node_modules/brace-expansion": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - Network accessline 80
"version": "5.0.5", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - Network accessline 81
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - Network accessline 91
"node_modules/esbuild": { "version": "0.27.7", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - Network accessline 92
"version": "0.27.7", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", - Network accessline 93
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - Network accessline 133
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 134
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 135
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 148
"node_modules/get-tsconfig": { "version": "4.14.0", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", - Network accessline 149
"version": "4.14.0", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", - Network accessline 150
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", - Network accessline 156
}, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 157
"funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } - Network accessline 158
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 161
"node_modules/glob": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - Network accessline 162
"version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - Network accessline 163
"resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - Network accessline 173
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 174
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 175
"url": "https://github.com/sponsors/isaacs" - Network accessline 178
"node_modules/lru-cache": { "version": "11.3.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - Network accessline 179
"version": "11.3.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", - Network accessline 180
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - Network accessline 187
"node_modules/minimatch": { "version": "10.2.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - Network accessline 188
"version": "10.2.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - Network accessline 189
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - Network accessline 197
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 198
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 199
"url": "https://github.com/sponsors/isaacs" - Network accessline 202
"node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - Network accessline 203
"version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - Network accessline 204
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - Network accessline 211
"node_modules/path-scurry": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - Network accessline 212
"version": "2.0.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - Network accessline 213
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - Network accessline 222
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 223
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 224
"url": "https://github.com/sponsors/isaacs" - Network accessline 227
"node_modules/playwright": { "version": "1.59.1", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - Network accessline 228
"version": "1.59.1", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - Network accessline 229
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - Network accessline 246
"node_modules/playwright-core": { "version": "1.59.1", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - Network accessline 247
"version": "1.59.1", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - Network accessline 248
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - Network accessline 259
"node_modules/playwright/node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - Network accessline 260
"version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - Network accessline 261
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - Network accessline 274
"node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 275
"version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - Network accessline 276
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 279
"license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 280
"funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } - Network accessline 281
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 284
"node_modules/tsx": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - Network accessline 285
"version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", - Network accessline 286
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - Network accessline 304
"node_modules/typescript": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - Network accessline 305
"version": "6.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", - Network accessline 306
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - Network accessline 318
"node_modules/undici-types": { "version": "7.19.2", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - Network accessline 319
"version": "7.19.2", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - Network accessline 320
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - Network accessline 325
"node_modules/zod": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - Network accessline 326
"version": "4.3.6", "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - Network accessline 327
"resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - Network accessline 329
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 330
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 331
"url": "https://github.com/sponsors/colinhacks"
skills/create-agent-tui/sample/package.json
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/agent.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/banner.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/cli.ts
skills/create-agent-tui/sample/src/commands.ts
- Executable scriptline 1
Executable file - Network accessline 42
if (!query.trim()) return; process.stdout.write(` ${DIM}Fetching…${RESET}`); const res = await fetch('https://openrouter.ai/api/v1/models'); - Network accessline 43
process.stdout.write(` ${DIM}Fetching…${RESET}`); const res = await fetch('https://openrouter.ai/api/v1/models'); const { data } = await res.json() as { data: { id: string; name: string }[] }; - Network accessline 44
const res = await fetch('https://openrouter.ai/api/v1/models');
skills/create-agent-tui/sample/src/config.ts
skills/create-agent-tui/sample/src/loader.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/renderer.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/screenshot-demos.ts
skills/create-agent-tui/sample/src/session.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/terminal-bg.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/custom.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/file-edit.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/file-read.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/file-write.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/glob.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/grep.ts
- Executable scriptline 1
Executable file - Network accessline 34
return { matches, total: matches.length }; } catch (err: any) { if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' }; - Network accessline 35
} catch (err: any) { if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' }; if (err.code === 1) return { matches: [], total: 0 }; - Network accessline 36
if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' };
skills/create-agent-tui/sample/src/tools/index.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/list-dir.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/src/tools/shell.ts
- Executable scriptline 1
Executable file
skills/create-agent-tui/sample/test-tui.md
- Network accessline 27
├── for each tool display style (emoji, grouped, minimal): │ ttyd → npx tsx demo-tools.ts <style> │ Playwright → http://localhost:<port> → screenshot - Network accessline 28
│ ttyd → npx tsx demo-tools.ts <style> │ Playwright → http://localhost:<port> → screenshot │ - Network accessline 29
│ Playwright → http://localhost:<port> → screenshot - Network accessline 31
└── for each input style (block, bordered, plain): ttyd → npx tsx demo-input.ts <style> Playwright → http://localhost:<port> → screenshot - Network accessline 33
Playwright → http://localhost:<port> → screenshot - Access to secretsline 92
[Credential-related source omitted]
skills/create-headless-agent/README.md
- Network accessline 5
Built on [`@openrouter/agent`](https://www.npmjs.com/package/@openrouter/agent) and [Bun](https://bun.sh). - Network accessline 9
Install just this skill with the [GitHub CLI](https://cli.github.com/) (v2.90.0+) — works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install): - Network accessline 17
Or install the full [OpenRouter skills plugin](https://github.com/OpenRouterTeam/skills) in Claude Code: - Network accessline 93
The generated agent doesn't reimplement the agent loop — [`@openrouter/agent`](https://www.npmjs.com/package/@openrouter/agent) handles all of that: - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 139
[Credential-related source omitted] - Network accessline 204
[Credential-related source omitted] - Access to secretsline 204
[Credential-related source omitted]
skills/create-headless-agent/SKILL.md
- Network accessline 12
- Bun 1.1+ - `OPENROUTER_API_KEY` from [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys) - Network accessline 13
[Credential-related source omitted] - Access to secretsline 13
[Credential-related source omitted] - Network accessline 51
Server tools go in the `tools` array alongside user-defined tools. No client code needed — OpenRouter executes them. Docs: [openrouter.ai/docs/guides/features/server-tools](https://openrouter.ai/docs/guides/features/server-tools/overview). - Access to secretsline 315
[Credential-related source omitted] - Access to secretsline 321
[Credential-related source omitted] - Network accessline 341
// `as const` unlocks full type inference for tool calls downstream. // See: https://openrouter.ai/docs/agent-sdk/call-model/tools - Network accessline 342
// See: https://openrouter.ai/docs/agent-sdk/call-model/tools
skills/create-headless-agent/metadata.json
- Network accessline 5
"abstract": "Scaffolds a headless agent in TypeScript using @openrouter/agent and Bun — for CLI tools, API servers, queue workers, and pipelines. No terminal UI.", "references": [ "https://openrouter.ai/docs/guides/features/server-too - Network accessline 6
"references": [ "https://openrouter.ai/docs/guides/features/server-tools/overview", "https://openrouter.ai/docs/guides/features/tool-calling", - Network accessline 7
"https://openrouter.ai/docs/guides/features/server-tools/overview", - Network accessline 8
"https://openrouter.ai/docs/guides/features/tool-calling", - Network accessline 9
"https://github.com/badlogic/pi-mono", - Network accessline 10
"https://github.com/openai/codex"
skills/create-headless-agent/references/entry-points.md
- Access to secretsline 299
[Credential-related source omitted] - Access to secretsline 335
[Credential-related source omitted] - Network accessline 344
// is 128 MB which is too large for an agent RPC endpoint. maxRequestBodySize: MAX_BODY, async fetch(req) { - Network accessline 345
maxRequestBodySize: MAX_BODY, async fetch(req) { const url = new URL(req.url); - Network accessline 346
async fetch(req) { - Network accessline 433
console.log(`Agent server listening on http://localhost:${PORT}`); - Network accessline 442
[Credential-related source omitted] - Network accessline 443
[Credential-related source omitted] - Network accessline 447
# Health check curl http://localhost:3000/health - Network accessline 448
curl http://localhost:3000/health - Network accessline 450
# Non-streaming request curl -X POST http://localhost:3000/chat \ - Network accessline 451
curl -X POST http://localhost:3000/chat \ - Network accessline 455
# Streaming (SSE) curl -X POST http://localhost:3000/chat \ - Network accessline 456
curl -X POST http://localhost:3000/chat \ - Network accessline 460
# With auth curl -X POST http://localhost:3000/chat \ - Network accessline 461
curl -X POST http://localhost:3000/chat \ - Network accessline 466
# With message history curl -X POST http://localhost:3000/chat \ - Network accessline 467
curl -X POST http://localhost:3000/chat \
skills/create-headless-agent/references/modules.md
- Dangerous shell operationline 461
- **Age-based cleanup**: run a `find .agent-state/tool-results -mtime +7 -delete` in a cron or on startup. - Network accessline 597
req: ApprovalRequest, ): Promise<ApprovalDecision> { const response = await fetch(endpoint, { - Network accessline 598
): Promise<ApprovalDecision> { const response = await fetch(endpoint, { method: 'POST', - Network accessline 599
const response = await fetch(endpoint, { - Network accessline 636
The SDK's [`StateAccessor`](https://openrouter.ai/docs/agent-sdk/call-model/tool-approval-state) pattern provides **live, resumable agent state** -- including `pendingToolCalls`, `unsentToolResults`, and a `status` field that tracks whether - Network accessline 1069
): Promise<void> { try { const response = await fetch(url, { - Network accessline 1070
try { const response = await fetch(url, { method: 'POST', - Network accessline 1071
const response = await fetch(url, { - Network accessline 1161
{ "model": "anthropic/claude-haiku-4.5", "webhookUrl": "https://hooks.example.com/agent-complete" - Network accessline 1162
"model": "anthropic/claude-haiku-4.5", "webhookUrl": "https://hooks.example.com/agent-complete" } - Network accessline 1163
"webhookUrl": "https://hooks.example.com/agent-complete" - Network accessline 1170
AGENT_WEBHOOK_URL=https://hooks.example.com/agent-complete my-agent --prompt "Run tests"
skills/create-headless-agent/references/tools.md
- Network accessline 114
- **inputSchema**: `url` (string) - **Behavior**: Validate the URL first (block `localhost`, `127.0.0.1`, `10.*`, `172.16-31.*`, `192.168.*`, `169.254.*`, `[::1]`, and other internal/link-local addresses to prevent SSRF). Then call `fetch(u - Network accessline 115
- **Behavior**: Validate the URL first (block `localhost`, `127.0.0.1`, `10.*`, `172.16-31.*`, `192.168.*`, `169.254.*`, `[::1]`, and other internal/link-local addresses to prevent SSRF). Then call `fetch(url)` (Bun has native `fetch` — no
skills/create-headless-agent/sample/.env.example
- Access to secretsline 1
[Credential-related source omitted]
skills/create-headless-agent/sample/.gitignore
- Access to secretsline 4
[Credential-related source omitted]
skills/create-headless-agent/sample/package.json
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/agent.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/cli.ts
- Executable scriptline 1
#!/usr/bin/env bun
skills/create-headless-agent/sample/src/config.ts
skills/create-headless-agent/sample/src/session.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/custom.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/file-edit.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/file-read.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/file-write.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/glob.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/grep.ts
- Executable scriptline 1
Executable file - Network accessline 44
}; } catch (err: any) { if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' }; - Network accessline 45
} catch (err: any) { if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' }; return { error: err.message }; - Network accessline 46
if (err.code === 'ENOENT') return { error: 'ripgrep (rg) not found. Install: https://github.com/BurntSushi/ripgrep' };
skills/create-headless-agent/sample/src/tools/index.ts
skills/create-headless-agent/sample/src/tools/list-dir.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/src/tools/shell.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/test/agent.test.ts
skills/create-headless-agent/sample/test/output-schema.test.ts
- Executable scriptline 1
Executable file
skills/create-headless-agent/sample/test/retry.test.ts
- Executable scriptline 1
Executable file
skills/install-ori-harness/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod
skills/install-ori-harness/SKILL.md
skills/openrouter-agent-migration/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod
skills/openrouter-agent-migration/SKILL.md
skills/openrouter-agent-migration/metadata.json
- Network accessline 5
"abstract": "Migration guide for moving agent functionality (callModel, tool(), stop conditions, format converters, streaming helpers) from @openrouter/sdk to the standalone @openrouter/agent package. Covers import mapping, before/after exa - Network accessline 6
"references": [ "https://github.com/OpenRouterTeam/openrouter-web/pull/16805", "https://github.com/OpenRouterTeam/openrouter-web/pull/16953", - Network accessline 7
"https://github.com/OpenRouterTeam/openrouter-web/pull/16805", - Network accessline 8
"https://github.com/OpenRouterTeam/openrouter-web/pull/16953", - Network accessline 9
"https://openrouter.ai/docs/sdks/typescript/call-model/overview"
skills/openrouter-analytics-query/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.92.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 22
git clone https://github.com/OpenRouterTeam/skills.git /tmp/or-skills - Dangerous shell operationline 25
rm -rf /tmp/or-skills - Network accessline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Network accessline 36
- Full request and response schema documentation - CLI flags for the `query-analytics.ts` script - Direct curl examples for API usage - Network accessline 37
- CLI flags for the `query-analytics.ts` script - Direct curl examples for API usage - Query construction patterns: aggregates, time series, filtered, multi-dimension - Network accessline 38
- Direct curl examples for API usage
skills/openrouter-analytics-query/SKILL.md
- Network accessline 13
[Credential-related source omitted] - Access to secretsline 13
[Credential-related source omitted] - Network accessline 18
POST https://openrouter.ai/api/v1/analytics/query - Network accessline 29
> **Source of truth (avoid drift):** the metric/dimension names and the request schema below are illustrative. The live, authoritative list comes from the **meta endpoint** — call `GET /api/v1/analytics/meta` (or `discover-schema.ts`) and t - Access to secretsline 203
[Credential-related source omitted] - Network accessline 248
[Credential-related source omitted] - Access to secretsline 248
[Credential-related source omitted] - Access to secretsline 249
[Credential-related source omitted] - Access to secretsline 327
[Credential-related source omitted]
skills/openrouter-analytics-schema/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.92.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 22
git clone https://github.com/OpenRouterTeam/skills.git /tmp/or-skills - Dangerous shell operationline 25
rm -rf /tmp/or-skills - Network accessline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted]
skills/openrouter-analytics-schema/SKILL.md
skills/openrouter-analytics/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.92.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 22
git clone https://github.com/OpenRouterTeam/skills.git /tmp/or-skills - Dangerous shell operationline 25
rm -rf /tmp/or-skills - Network accessline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted]
skills/openrouter-analytics/SKILL.md
- Network accessline 13
- An OpenRouter **management key** (provisioning key). Regular API keys will get a 403. - Get a management key at https://openrouter.ai/settings/management-keys (separate from the regular API keys page) - Network accessline 14
- Get a management key at https://openrouter.ai/settings/management-keys (separate from the regular API keys page) - Access to secretsline 15
[Credential-related source omitted] - Network accessline 176
Full documentation: https://openrouter.ai/docs/api/api-reference/analytics
skills/openrouter-analytics/scripts/discover-schema.ts
- Executable scriptline 1
Executable file
skills/openrouter-analytics/scripts/lib.ts
- Network accessline 1
const BASE_URL = process.env.OPENROUTER_BASE_URL ?? "https://openrouter.ai"; - Executable scriptline 1
Executable file - Access to secretsline 30
[Credential-related source omitted] - Network accessline 34
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Network accessline 35
"This must be a management key (provisioning key).\n" + "Get one at https://openrouter.ai/settings/management-keys" ); - Network accessline 36
"Get one at https://openrouter.ai/settings/management-keys" - Network accessline 73
let res: Response; try { res = await fetch(url, init); - Network accessline 74
try { res = await fetch(url, init); } catch (err) { - Network accessline 75
res = await fetch(url, init); - Access to secretsline 86
[Credential-related source omitted] - Network accessline 89
console.error( "Error 403: Forbidden. Analytics endpoints require a management key.\n" + "Create one at https://openrouter.ai/settings/management-keys" - Network accessline 90
"Error 403: Forbidden. Analytics endpoints require a management key.\n" + "Create one at https://openrouter.ai/settings/management-keys" ); - Network accessline 91
"Create one at https://openrouter.ai/settings/management-keys" - Network accessline 127
* Real dimension values (model IDs, provider names, ISO timestamps, etc.) never * start with `--`, so this is documented rather than worked around — callers that * truly need such a value should use the direct curl form instead. See the - Network accessline 128
* start with `--`, so this is documented rather than worked around — callers that * truly need such a value should use the direct curl form instead. See the * `openrouter-analytics-query` SKILL.md CLI Reference for the user-facing note. - Network accessline 129
* truly need such a value should use the direct curl form instead. See the
skills/openrouter-analytics/scripts/package-lock.json
- Network accessline 12
"node_modules/@esbuild/aix-ppc64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", - Network accessline 13
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", - Network accessline 14
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", - Network accessline 29
"node_modules/@esbuild/android-arm": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", - Network accessline 30
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", - Network accessline 31
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", - Network accessline 46
"node_modules/@esbuild/android-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", - Network accessline 47
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", - Network accessline 48
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", - Network accessline 63
"node_modules/@esbuild/android-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", - Network accessline 64
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", - Network accessline 65
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", - Network accessline 80
"node_modules/@esbuild/darwin-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", - Network accessline 81
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", - Network accessline 82
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", - Network accessline 97
"node_modules/@esbuild/darwin-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", - Network accessline 98
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", - Network accessline 99
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", - Network accessline 114
"node_modules/@esbuild/freebsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", - Network accessline 115
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", - Network accessline 116
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", - Network accessline 131
"node_modules/@esbuild/freebsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", - Network accessline 132
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", - Network accessline 133
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", - Network accessline 148
"node_modules/@esbuild/linux-arm": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", - Network accessline 149
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", - Network accessline 150
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", - Network accessline 165
"node_modules/@esbuild/linux-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", - Network accessline 166
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", - Network accessline 167
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", - Network accessline 182
"node_modules/@esbuild/linux-ia32": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", - Network accessline 183
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", - Network accessline 184
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", - Network accessline 199
"node_modules/@esbuild/linux-loong64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", - Network accessline 200
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", - Network accessline 201
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", - Network accessline 216
"node_modules/@esbuild/linux-mips64el": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", - Network accessline 217
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", - Network accessline 218
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", - Network accessline 233
"node_modules/@esbuild/linux-ppc64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", - Network accessline 234
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", - Network accessline 235
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", - Network accessline 250
"node_modules/@esbuild/linux-riscv64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", - Network accessline 251
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", - Network accessline 252
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", - Network accessline 267
"node_modules/@esbuild/linux-s390x": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", - Network accessline 268
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", - Network accessline 269
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", - Network accessline 284
"node_modules/@esbuild/linux-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", - Network accessline 285
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", - Network accessline 286
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", - Network accessline 301
"node_modules/@esbuild/netbsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", - Network accessline 302
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", - Network accessline 303
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", - Network accessline 318
"node_modules/@esbuild/netbsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", - Network accessline 319
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", - Network accessline 320
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", - Network accessline 335
"node_modules/@esbuild/openbsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", - Network accessline 336
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", - Network accessline 337
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", - Network accessline 352
"node_modules/@esbuild/openbsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", - Network accessline 353
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", - Network accessline 354
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", - Network accessline 369
"node_modules/@esbuild/openharmony-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", - Network accessline 370
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w - Network accessline 371
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", - Network accessline 386
"node_modules/@esbuild/sunos-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", - Network accessline 387
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", - Network accessline 388
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", - Network accessline 403
"node_modules/@esbuild/win32-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", - Network accessline 404
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", - Network accessline 405
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", - Network accessline 420
"node_modules/@esbuild/win32-ia32": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", - Network accessline 421
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", - Network accessline 422
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", - Network accessline 437
"node_modules/@esbuild/win32-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", - Network accessline 438
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", - Network accessline 439
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", - Network accessline 454
"node_modules/esbuild": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", - Network accessline 455
"version": "0.28.0", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", - Network accessline 456
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", - Network accessline 496
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 497
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 498
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 511
"node_modules/tsx": { "version": "4.22.3", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", - Network accessline 512
"version": "4.22.3", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==", - Network accessline 513
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz",
skills/openrouter-analytics/scripts/package.json
- Executable scriptline 1
Executable file
skills/openrouter-analytics/scripts/query-analytics.ts
skills/openrouter-analytics/scripts/suggest-queries.ts
- Executable scriptline 1
Executable file
skills/openrouter-benchmarks/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-benchmarks/SKILL.md
- Access to secretsline 12
[Credential-related source omitted] - Access to secretsline 15
[Credential-related source omitted] - Network accessline 26
| Query Design Arena only | Use `source=design-arena`, plus `arena` and `category` when relevant | | Get raw API-shaped data for integration work | Return the raw `data`/`meta` shape from the endpoint | | Understand all response fields or d - Network accessline 28
| Understand all response fields or direct curl usage | Read `references/benchmarks-api.md` | - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 76
[Credential-related source omitted]
skills/openrouter-benchmarks/references/benchmarks-api.md
skills/openrouter-decisions/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-decisions/references/decision-model-limits.md
- Network accessline 3
A decision model maps state and a question to a probability distribution over a fixed answer set, so it has no scratchpad for arithmetic, no loop for counting, and no output channel for text. Treat every row as the default for any decision
skills/openrouter-decisions/references/decisions-api.md
- Network accessline 3
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted] - Network accessline 104
- OpenRouter also accepts TypeSafe's top-level `assets` map: each asset is `{ "type": "image", "format": "png" | "jpg" | "jpeg", "data_base64": "..." }` (no `data:` prefix), and its key is written as a reference in `state`, `instructions`, - Network accessline 106
- Images and Box are early features whose format and limits can change. Check [multimodal decisions](https://openrouter.ai/docs/guides/community/multimodal-decisions.md) before relying on a detail. - Network accessline 111
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 112
[Credential-related source omitted] - Network accessline 119
The Decisions path lives outside the `/api/v1` prefix the SDK uses by default, so construct the client with `serverURL: 'https://openrouter.ai'`. [scripts/lib.ts](../scripts/lib.ts) wraps both transports with request validation and typed an - Network accessline 124
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Network accessline 143
`POST https://openrouter.ai/api/v1/systemone` ([reference](https://openrouter.ai/docs/api/api-reference/systemone/submit-a-system-one-request)) takes the same body and returns the same answers as the Decisions API, for code already on TypeS - Network accessline 145
[Credential-related source omitted] - Access to secretsline 145
[Credential-related source omitted] - Network accessline 150
[Credential-related source omitted] - Access to secretsline 150
[Credential-related source omitted] - Network accessline 158
Python and Go clients expose the same operation as `alpha.decisions.create` with a `decisions_request` body. Reference pages: [TypeScript](https://openrouter.ai/docs/client-sdks/typescript/sdks/decisions/README), [Python](https://openrouter
skills/openrouter-decisions/references/models.md
- Network accessline 8
npx tsx scripts/models.ts request.json # table with fit for this request npx tsx scripts/models.ts --json # every field below curl -s "https://openrouter.ai/api/v1/models?output_modalities=decisions" - Network accessline 10
curl -s "https://openrouter.ai/api/v1/models?output_modalities=decisions" - Network accessline 28
1. **Pinned, not aliased.** Production config holds a `canonical_slug` or a versioned `id`, never an alias, because an alias moves to a new build and the thresholds you set in step 7 belong to the build you probed. Log the response `model` - Network accessline 29
2. **Fit.** The request's state plus questions must fit `context_length` with room to spare, and the per-provider `context_length` or `max_prompt_tokens` in the endpoints listing can be lower than the model's. `models.ts request.json` takes - Network accessline 41
A model's `description` names its vendor and lineage. When the vendor publishes a limits or weaknesses page, read it against [decision-model-limits.md](decision-model-limits.md) and probe any difference. Every entry also answers `POST https
skills/openrouter-decisions/references/question-design.md
- Network accessline 58
If a clear question with complete state is still confidently wrong, read the vendor's limits page (Jev's is the [jaggedness page](https://docs.typesafe.ai/go/jaggedness.md)) and [decision-model-limits.md](decision-model-limits.md), and work - Network accessline 74
- **Route and fill arguments.** One request identifies the intent and the value for each argument, and code calls the handler: [function calling](https://docs.typesafe.ai/cookbooks/function_calling.md), [intent routing](https://docs.typesaf - Network accessline 75
- **Gate agent actions.** Check each risky tool call or permission prompt against what the user asked for and pause only on the ambiguous ones: [gate agent tool calls](https://openrouter.ai/docs/cookbook/building-agents/gate-tool-calls-with - Network accessline 76
- **Select instead of generate.** Code finds candidate values or spans, the model picks the intended one, and code normalizes it: [value extraction](https://docs.typesafe.ai/cookbooks/pre_parsed_value_extraction_cookbook.md), [date extracti - Network accessline 77
- **Find and judge evidence.** Retrieve candidates and ask how relevant each one is: [line-by-line search](https://docs.typesafe.ai/cookbooks/semantic_find.md), [re-ranking](https://docs.typesafe.ai/cookbooks/rerank_typesafe.md), [classifyi - Network accessline 78
- **Turn answers into data.** Score each dimension once and let code or users change the weights: [composite scoring](https://docs.typesafe.ai/patterns/composite-scoring.md), [feature discovery](https://docs.typesafe.ai/cookbooks/autoresear - Network accessline 79
- **Verify and escalate.** Check claims or fields against their evidence and send failures to a person or a reasoning model: [citation checks](https://docs.typesafe.ai/cookbooks/citation_check.md), [extraction cascades](https://docs.typesaf - Network accessline 81
More patterns land over time in TypeSafe's [cookbooks index](https://docs.typesafe.ai/go/cookbooks.md), [patterns](https://docs.typesafe.ai/go/patterns.md), and OpenRouter's [Jev hub](https://openrouter.ai/docs/guides/community/jev.md).
skills/openrouter-decisions/scripts/decide.ts
- Executable scriptline 1
#!/usr/bin/env -S npx tsx
skills/openrouter-decisions/scripts/lib.test.ts
- Executable scriptline 1
Executable file
skills/openrouter-decisions/scripts/lib.ts
- Executable scriptline 1
Executable file - Network accessline 3
export const DECISIONS_URL = "https://openrouter.ai/api/alpha/decisions"; - Network accessline 4
export const SDK_SERVER_URL = "https://openrouter.ai"; - Network accessline 5
export const MODELS_URL = "https://openrouter.ai/api/v1/models?output_modalities=decisions"; - Network accessline 36
export async function listDecisionModels(): Promise<DecisionModel[]> { const res = await fetch(MODELS_URL); - Network accessline 37
const res = await fetch(MODELS_URL); - Network accessline 45
[Credential-related source omitted] - Network accessline 46
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Network accessline 47
const res = await fetch(model.endpointsUrl, { - Access to secretsline 230
[Credential-related source omitted] - Network accessline 231
if (!apiKey) { console.error( "Error: OPENROUTER_API_KEY is not set. Get a key at https://openrouter.ai/keys" - Network accessline 232
console.error( "Error: OPENROUTER_API_KEY is not set. Get a key at https://openrouter.ai/keys" ); - Network accessline 233
[Credential-related source omitted] - Access to secretsline 233
[Credential-related source omitted] - Network accessline 290
[Credential-related source omitted] - Network accessline 291
): Promise<DecisionsResponse> { const res = await fetch(DECISIONS_URL, { method: "POST", - Network accessline 292
const res = await fetch(DECISIONS_URL, {
skills/openrouter-decisions/scripts/models.ts
- Executable scriptline 1
#!/usr/bin/env -S npx tsx
skills/openrouter-decisions/scripts/package-lock.json
- Network accessline 15
"node_modules/@esbuild/aix-ppc64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", - Network accessline 16
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", - Network accessline 17
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", - Network accessline 32
"node_modules/@esbuild/android-arm": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", - Network accessline 33
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", - Network accessline 34
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", - Network accessline 49
"node_modules/@esbuild/android-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", - Network accessline 50
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", - Network accessline 51
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", - Network accessline 66
"node_modules/@esbuild/android-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", - Network accessline 67
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", - Network accessline 68
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", - Network accessline 83
"node_modules/@esbuild/darwin-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", - Network accessline 84
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", - Network accessline 85
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", - Network accessline 100
"node_modules/@esbuild/darwin-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", - Network accessline 101
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", - Network accessline 102
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", - Network accessline 117
"node_modules/@esbuild/freebsd-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", - Network accessline 118
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", - Network accessline 119
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", - Network accessline 134
"node_modules/@esbuild/freebsd-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", - Network accessline 135
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", - Network accessline 136
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", - Network accessline 151
"node_modules/@esbuild/linux-arm": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", - Network accessline 152
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", - Network accessline 153
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", - Network accessline 168
"node_modules/@esbuild/linux-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", - Network accessline 169
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", - Network accessline 170
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", - Network accessline 185
"node_modules/@esbuild/linux-ia32": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", - Network accessline 186
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", - Network accessline 187
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", - Network accessline 202
"node_modules/@esbuild/linux-loong64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", - Network accessline 203
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", - Network accessline 204
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", - Network accessline 219
"node_modules/@esbuild/linux-mips64el": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", - Network accessline 220
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", - Network accessline 221
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", - Network accessline 236
"node_modules/@esbuild/linux-ppc64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", - Network accessline 237
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", - Network accessline 238
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", - Network accessline 253
"node_modules/@esbuild/linux-riscv64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", - Network accessline 254
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", - Network accessline 255
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", - Network accessline 270
"node_modules/@esbuild/linux-s390x": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", - Network accessline 271
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", - Network accessline 272
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", - Network accessline 287
"node_modules/@esbuild/linux-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", - Network accessline 288
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", - Network accessline 289
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", - Network accessline 304
"node_modules/@esbuild/netbsd-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", - Network accessline 305
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", - Network accessline 306
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", - Network accessline 321
"node_modules/@esbuild/netbsd-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", - Network accessline 322
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", - Network accessline 323
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", - Network accessline 338
"node_modules/@esbuild/openbsd-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", - Network accessline 339
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", - Network accessline 340
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", - Network accessline 355
"node_modules/@esbuild/openbsd-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", - Network accessline 356
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", - Network accessline 357
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", - Network accessline 372
"node_modules/@esbuild/openharmony-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", - Network accessline 373
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q - Network accessline 374
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", - Network accessline 389
"node_modules/@esbuild/sunos-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", - Network accessline 390
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", - Network accessline 391
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", - Network accessline 406
"node_modules/@esbuild/win32-arm64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", - Network accessline 407
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", - Network accessline 408
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", - Network accessline 423
"node_modules/@esbuild/win32-ia32": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", - Network accessline 424
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", - Network accessline 425
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", - Network accessline 440
"node_modules/@esbuild/win32-x64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", - Network accessline 441
"version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", - Network accessline 442
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", - Network accessline 457
"node_modules/@openrouter/sdk": { "version": "1.5.13", "resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-1.5.13.tgz", - Network accessline 458
"version": "1.5.13", "resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-1.5.13.tgz", "integrity": "sha512-ryYiJnfQhWWL+XH5u3iFkz+tWMjmn2NDj0HgqKeiBswYVjWlcWoHBRxbPgUv+v81W6MuRj3+qWfJ58HMvO3xsw==", - Network accessline 459
"resolved": "https://registry.npmjs.org/@openrouter/sdk/-/sdk-1.5.13.tgz", - Network accessline 467
"node_modules/esbuild": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", - Network accessline 468
"version": "0.28.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", - Network accessline 469
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", - Network accessline 509
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 510
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 511
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 524
"node_modules/tsx": { "version": "4.23.15", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz", - Network accessline 525
"version": "4.23.15", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz", "integrity": "sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==", - Network accessline 526
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz", - Network accessline 543
"node_modules/zod": { "version": "4.6.5", "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", - Network accessline 544
"version": "4.6.5", "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", "integrity": "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==", - Network accessline 545
"resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz", - Network accessline 547
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 548
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 549
"url": "https://github.com/sponsors/colinhacks"
skills/openrouter-decisions/scripts/package.json
- Executable scriptline 1
Executable file
skills/openrouter-generations/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.92.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 22
git clone https://github.com/OpenRouterTeam/skills.git /tmp/or-skills - Dangerous shell operationline 25
rm -rf /tmp/or-skills - Network accessline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted]
skills/openrouter-generations/SKILL.md
- Network accessline 13
- Any valid OpenRouter API key (regular or management key). Get one at [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys). - Access to secretsline 14
[Credential-related source omitted] - Network accessline 32
Full API reference: [openrouter.ai/docs/api/api-reference/generations/get-generation](https://openrouter.ai/docs/api/api-reference/generations/get-generation) - Network accessline 76
[Credential-related source omitted] - Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 77
[Credential-related source omitted] - Network accessline 84
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted]
skills/openrouter-generations/scripts/get-generation-content.ts
- Executable scriptline 1
Executable file
skills/openrouter-generations/scripts/get-generation.ts
- Executable scriptline 1
Executable file
skills/openrouter-generations/scripts/lib.ts
- Network accessline 1
const BASE_URL = process.env.OPENROUTER_BASE_URL ?? "https://openrouter.ai"; - Executable scriptline 1
Executable file - Access to secretsline 8
[Credential-related source omitted] - Network accessline 11
"Error: No API key provided.\n" + "Pass --api-key <key> or set the OPENROUTER_API_KEY environment variable.\n" + "Get one at https://openrouter.ai/settings/keys" - Network accessline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Network accessline 13
"Get one at https://openrouter.ai/settings/keys" - Network accessline 54
} } res = await fetch(url.toString(), { headers }); - Network accessline 55
} res = await fetch(url.toString(), { headers }); } catch (err) { - Network accessline 56
res = await fetch(url.toString(), { headers }); - Access to secretsline 68
[Credential-related source omitted]
skills/openrouter-generations/scripts/package-lock.json
- Network accessline 12
"node_modules/@esbuild/aix-ppc64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", - Network accessline 13
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", - Network accessline 14
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", - Network accessline 29
"node_modules/@esbuild/android-arm": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", - Network accessline 30
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", - Network accessline 31
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", - Network accessline 46
"node_modules/@esbuild/android-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", - Network accessline 47
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", - Network accessline 48
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", - Network accessline 63
"node_modules/@esbuild/android-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", - Network accessline 64
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", - Network accessline 65
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", - Network accessline 80
"node_modules/@esbuild/darwin-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", - Network accessline 81
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", - Network accessline 82
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", - Network accessline 97
"node_modules/@esbuild/darwin-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", - Network accessline 98
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", - Network accessline 99
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", - Network accessline 114
"node_modules/@esbuild/freebsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", - Network accessline 115
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", - Network accessline 116
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", - Network accessline 131
"node_modules/@esbuild/freebsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", - Network accessline 132
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", - Network accessline 133
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", - Network accessline 148
"node_modules/@esbuild/linux-arm": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", - Network accessline 149
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", - Network accessline 150
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", - Network accessline 165
"node_modules/@esbuild/linux-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", - Network accessline 166
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", - Network accessline 167
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", - Network accessline 182
"node_modules/@esbuild/linux-ia32": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", - Network accessline 183
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", - Network accessline 184
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", - Network accessline 199
"node_modules/@esbuild/linux-loong64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", - Network accessline 200
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", - Network accessline 201
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", - Network accessline 216
"node_modules/@esbuild/linux-mips64el": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", - Network accessline 217
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", - Network accessline 218
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", - Network accessline 233
"node_modules/@esbuild/linux-ppc64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", - Network accessline 234
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", - Network accessline 235
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", - Network accessline 250
"node_modules/@esbuild/linux-riscv64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", - Network accessline 251
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", - Network accessline 252
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", - Network accessline 267
"node_modules/@esbuild/linux-s390x": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", - Network accessline 268
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", - Network accessline 269
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", - Network accessline 284
"node_modules/@esbuild/linux-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", - Network accessline 285
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", - Network accessline 286
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", - Network accessline 301
"node_modules/@esbuild/netbsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", - Network accessline 302
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", - Network accessline 303
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", - Network accessline 318
"node_modules/@esbuild/netbsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", - Network accessline 319
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", - Network accessline 320
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", - Network accessline 335
"node_modules/@esbuild/openbsd-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", - Network accessline 336
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", - Network accessline 337
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", - Network accessline 352
"node_modules/@esbuild/openbsd-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", - Network accessline 353
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", - Network accessline 354
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", - Network accessline 369
"node_modules/@esbuild/openharmony-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", - Network accessline 370
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w - Network accessline 371
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", - Network accessline 386
"node_modules/@esbuild/sunos-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", - Network accessline 387
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", - Network accessline 388
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", - Network accessline 403
"node_modules/@esbuild/win32-arm64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", - Network accessline 404
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", - Network accessline 405
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", - Network accessline 420
"node_modules/@esbuild/win32-ia32": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", - Network accessline 421
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", - Network accessline 422
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", - Network accessline 437
"node_modules/@esbuild/win32-x64": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", - Network accessline 438
"version": "0.28.0", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", - Network accessline 439
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", - Network accessline 454
"node_modules/esbuild": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", - Network accessline 455
"version": "0.28.0", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", - Network accessline 456
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", - Network accessline 496
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 497
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 498
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 511
"node_modules/tsx": { "version": "4.22.3", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", - Network accessline 512
"version": "4.22.3", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==", - Network accessline 513
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz",
skills/openrouter-generations/scripts/package.json
- Executable scriptline 1
Executable file
skills/openrouter-images/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-images/SKILL.md
- Network accessline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Network accessline 145
Generation uses `POST /api/v1/images`. See the [Image Generation guide](https://openrouter.ai/docs/guides/overview/multimodal/image-generation) for full request/response details.
skills/openrouter-images/scripts/discover.ts
- Executable scriptline 1
Executable file
skills/openrouter-images/scripts/edit.ts
- Executable scriptline 1
Executable file
skills/openrouter-images/scripts/generate.ts
- Executable scriptline 1
Executable file
skills/openrouter-images/scripts/lib.ts
- Executable scriptline 1
Executable file - Network accessline 6
const API_BASE = "https://openrouter.ai/api/v1"; - Access to secretsline 11
[Credential-related source omitted] - Network accessline 13
console.error( "Error: OPENROUTER_API_KEY environment variable is not set.\n" + "Get your API key at https://openrouter.ai/keys" - Network accessline 14
[Credential-related source omitted] - Access to secretsline 14
[Credential-related source omitted] - Network accessline 15
"Get your API key at https://openrouter.ai/keys" - Access to secretsline 45
[Credential-related source omitted] - Network accessline 46
break; case 402: console.error("Error 402: Insufficient credits. Add credits at https://openrouter.ai/credits"); - Network accessline 47
case 402: console.error("Error 402: Insufficient credits. Add credits at https://openrouter.ai/credits"); break; - Network accessline 48
console.error("Error 402: Insufficient credits. Add credits at https://openrouter.ai/credits"); - Network accessline 66
[Credential-related source omitted] - Network accessline 67
[Credential-related source omitted] - Network accessline 68
const res = await fetch(IMAGES_ENDPOINT, { - Network accessline 88
*/ export async function getImageModels(): Promise<ImageModelsListResponse> { const res = await fetch(IMAGE_MODELS_ENDPOINT); - Network accessline 89
export async function getImageModels(): Promise<ImageModelsListResponse> { const res = await fetch(IMAGE_MODELS_ENDPOINT); if (!res.ok) { - Network accessline 90
const res = await fetch(IMAGE_MODELS_ENDPOINT); - Network accessline 107
} const url = `${IMAGE_MODELS_ENDPOINT}/${encodeURIComponent(author)}/${encodeURIComponent(slug)}/endpoints`; const res = await fetch(url); - Network accessline 108
const url = `${IMAGE_MODELS_ENDPOINT}/${encodeURIComponent(author)}/${encodeURIComponent(slug)}/endpoints`; const res = await fetch(url); if (!res.ok) { - Network accessline 109
const res = await fetch(url);
skills/openrouter-images/scripts/package-lock.json
- Network accessline 12
"node_modules/@esbuild/aix-ppc64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - Network accessline 13
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - Network accessline 14
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - Network accessline 29
"node_modules/@esbuild/android-arm": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - Network accessline 30
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - Network accessline 31
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - Network accessline 46
"node_modules/@esbuild/android-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - Network accessline 47
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - Network accessline 48
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - Network accessline 63
"node_modules/@esbuild/android-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - Network accessline 64
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - Network accessline 65
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - Network accessline 80
"node_modules/@esbuild/darwin-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - Network accessline 81
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - Network accessline 82
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - Network accessline 97
"node_modules/@esbuild/darwin-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - Network accessline 98
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - Network accessline 99
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - Network accessline 114
"node_modules/@esbuild/freebsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - Network accessline 115
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - Network accessline 116
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - Network accessline 131
"node_modules/@esbuild/freebsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - Network accessline 132
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - Network accessline 133
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - Network accessline 148
"node_modules/@esbuild/linux-arm": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - Network accessline 149
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - Network accessline 150
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - Network accessline 165
"node_modules/@esbuild/linux-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - Network accessline 166
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - Network accessline 167
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - Network accessline 182
"node_modules/@esbuild/linux-ia32": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - Network accessline 183
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - Network accessline 184
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - Network accessline 199
"node_modules/@esbuild/linux-loong64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - Network accessline 200
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - Network accessline 201
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - Network accessline 216
"node_modules/@esbuild/linux-mips64el": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - Network accessline 217
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - Network accessline 218
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - Network accessline 233
"node_modules/@esbuild/linux-ppc64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - Network accessline 234
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - Network accessline 235
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - Network accessline 250
"node_modules/@esbuild/linux-riscv64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - Network accessline 251
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - Network accessline 252
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - Network accessline 267
"node_modules/@esbuild/linux-s390x": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - Network accessline 268
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - Network accessline 269
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - Network accessline 284
"node_modules/@esbuild/linux-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - Network accessline 285
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - Network accessline 286
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - Network accessline 301
"node_modules/@esbuild/netbsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - Network accessline 302
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - Network accessline 303
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - Network accessline 318
"node_modules/@esbuild/netbsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - Network accessline 319
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - Network accessline 320
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - Network accessline 335
"node_modules/@esbuild/openbsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - Network accessline 336
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - Network accessline 337
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - Network accessline 352
"node_modules/@esbuild/openbsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - Network accessline 353
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - Network accessline 354
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - Network accessline 369
"node_modules/@esbuild/openharmony-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - Network accessline 370
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g - Network accessline 371
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - Network accessline 386
"node_modules/@esbuild/sunos-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - Network accessline 387
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - Network accessline 388
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - Network accessline 403
"node_modules/@esbuild/win32-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - Network accessline 404
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - Network accessline 405
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - Network accessline 420
"node_modules/@esbuild/win32-ia32": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - Network accessline 421
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - Network accessline 422
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - Network accessline 437
"node_modules/@esbuild/win32-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - Network accessline 438
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - Network accessline 439
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - Network accessline 454
"node_modules/esbuild": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - Network accessline 455
"version": "0.27.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - Network accessline 456
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - Network accessline 496
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 497
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 498
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 511
"node_modules/get-tsconfig": { "version": "4.13.6", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - Network accessline 512
"version": "4.13.6", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", - Network accessline 513
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - Network accessline 519
}, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 520
"funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } - Network accessline 521
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 524
"node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 525
"version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - Network accessline 526
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 529
"license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 530
"funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } - Network accessline 531
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 534
"node_modules/tsx": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - Network accessline 535
"version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", - Network accessline 536
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
skills/openrouter-images/scripts/package.json
- Executable scriptline 1
Executable file
skills/openrouter-models/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-models/SKILL.md
- Network accessline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Network accessline 131
`GET /api/v1/models` returns `{ data: Model[] }`. For full field reference, see the [Models reference](https://openrouter.ai/docs/guides/overview/models). - Network accessline 152
The scripts below reformat the raw API data. When calling the API directly (e.g. via `fetch`), refer to the [OpenAPI spec](https://openrouter.ai/openapi.json) for field names.
skills/openrouter-models/scripts/compare-models.ts
- Executable scriptline 1
Executable file
skills/openrouter-models/scripts/get-endpoints.ts
- Executable scriptline 1
Executable file
skills/openrouter-models/scripts/lib.ts
- Executable scriptline 1
Executable file - Access to secretsline 2
[Credential-related source omitted] - Network accessline 4
console.error( "Error: OPENROUTER_API_KEY environment variable is not set.\n" + "Get your API key at https://openrouter.ai/keys" - Network accessline 5
[Credential-related source omitted] - Access to secretsline 5
[Credential-related source omitted] - Network accessline 6
"Get your API key at https://openrouter.ai/keys" - Access to secretsline 14
[Credential-related source omitted] - Network accessline 17
export async function fetchApi(path: string, apiKey?: string): Promise<any> { const url = `https://openrouter.ai/api/v1${path}`; - Network accessline 18
const url = `https://openrouter.ai/api/v1${path}`; - Network accessline 21
[Credential-related source omitted] - Network accessline 23
const res = await fetch(url, { headers }); - Access to secretsline 29
[Credential-related source omitted]
skills/openrouter-models/scripts/list-models.ts
- Executable scriptline 1
Executable file
skills/openrouter-models/scripts/package-lock.json
- Network accessline 12
"node_modules/@esbuild/aix-ppc64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - Network accessline 13
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - Network accessline 14
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - Network accessline 29
"node_modules/@esbuild/android-arm": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - Network accessline 30
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - Network accessline 31
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - Network accessline 46
"node_modules/@esbuild/android-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - Network accessline 47
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - Network accessline 48
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - Network accessline 63
"node_modules/@esbuild/android-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - Network accessline 64
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - Network accessline 65
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - Network accessline 80
"node_modules/@esbuild/darwin-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - Network accessline 81
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - Network accessline 82
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - Network accessline 97
"node_modules/@esbuild/darwin-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - Network accessline 98
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - Network accessline 99
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - Network accessline 114
"node_modules/@esbuild/freebsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - Network accessline 115
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - Network accessline 116
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - Network accessline 131
"node_modules/@esbuild/freebsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - Network accessline 132
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - Network accessline 133
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - Network accessline 148
"node_modules/@esbuild/linux-arm": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - Network accessline 149
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - Network accessline 150
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - Network accessline 165
"node_modules/@esbuild/linux-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - Network accessline 166
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - Network accessline 167
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - Network accessline 182
"node_modules/@esbuild/linux-ia32": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - Network accessline 183
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - Network accessline 184
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - Network accessline 199
"node_modules/@esbuild/linux-loong64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - Network accessline 200
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - Network accessline 201
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - Network accessline 216
"node_modules/@esbuild/linux-mips64el": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - Network accessline 217
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - Network accessline 218
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - Network accessline 233
"node_modules/@esbuild/linux-ppc64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - Network accessline 234
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - Network accessline 235
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - Network accessline 250
"node_modules/@esbuild/linux-riscv64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - Network accessline 251
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - Network accessline 252
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - Network accessline 267
"node_modules/@esbuild/linux-s390x": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - Network accessline 268
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - Network accessline 269
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - Network accessline 284
"node_modules/@esbuild/linux-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - Network accessline 285
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - Network accessline 286
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - Network accessline 301
"node_modules/@esbuild/netbsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - Network accessline 302
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - Network accessline 303
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - Network accessline 318
"node_modules/@esbuild/netbsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - Network accessline 319
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - Network accessline 320
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - Network accessline 335
"node_modules/@esbuild/openbsd-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - Network accessline 336
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - Network accessline 337
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - Network accessline 352
"node_modules/@esbuild/openbsd-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - Network accessline 353
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - Network accessline 354
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - Network accessline 369
"node_modules/@esbuild/openharmony-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - Network accessline 370
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g - Network accessline 371
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - Network accessline 386
"node_modules/@esbuild/sunos-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - Network accessline 387
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - Network accessline 388
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - Network accessline 403
"node_modules/@esbuild/win32-arm64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - Network accessline 404
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - Network accessline 405
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - Network accessline 420
"node_modules/@esbuild/win32-ia32": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - Network accessline 421
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - Network accessline 422
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - Network accessline 437
"node_modules/@esbuild/win32-x64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - Network accessline 438
"version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - Network accessline 439
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - Network accessline 454
"node_modules/esbuild": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - Network accessline 455
"version": "0.27.3", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - Network accessline 456
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - Network accessline 496
"node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 497
"version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - Network accessline 498
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - Network accessline 511
"node_modules/get-tsconfig": { "version": "4.13.6", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - Network accessline 512
"version": "4.13.6", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", - Network accessline 513
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - Network accessline 519
}, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 520
"funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } - Network accessline 521
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - Network accessline 524
"node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 525
"version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - Network accessline 526
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - Network accessline 529
"license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 530
"funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } - Network accessline 531
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - Network accessline 534
"node_modules/tsx": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - Network accessline 535
"version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", - Network accessline 536
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
skills/openrouter-models/scripts/package.json
- Executable scriptline 1
Executable file
skills/openrouter-models/scripts/resolve-model.ts
- Executable scriptline 1
Executable file
skills/openrouter-models/scripts/search-models.ts
- Executable scriptline 1
Executable file
skills/openrouter-oauth/README.md
- Network accessline 3
Add [Sign In with OpenRouter](https://openrouterteam.github.io/sign-in-with-openrouter/) to any web app — OAuth PKCE using plain `fetch`, no SDK or client registration required. Users authorize on OpenRouter and your app receives an API key - Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod
skills/openrouter-oauth/SKILL.md
- Network accessline 12
Live demo: [openrouterteam.github.io/sign-in-with-openrouter](https://openrouterteam.github.io/sign-in-with-openrouter/) - Network accessline 42
https://openrouter.ai/auth?callback_url={url}&code_challenge={challenge}&code_challenge_method=S256 - Network accessline 60
POST https://openrouter.ai/api/v1/auth/keys - Access to secretsline 88
[Credential-related source omitted] - Network accessline 127
const challenge = await computeS256Challenge(verifier); const url = callbackUrl ?? window.location.origin + window.location.pathname; window.location.href = `https://openrouter.ai/auth?${new URLSearchParams({ - Network accessline 128
const url = callbackUrl ?? window.location.origin + window.location.pathname; window.location.href = `https://openrouter.ai/auth?${new URLSearchParams({ callback_url: url, code_challenge: challenge, code_challenge_method: "S256", - Network accessline 129
window.location.href = `https://openrouter.ai/auth?${new URLSearchParams({ - Network accessline 136
if (!verifier) throw new Error("Missing code verifier"); sessionStorage.removeItem(VERIFIER_KEY); const res = await fetch("https://openrouter.ai/api/v1/auth/keys", { - Network accessline 137
sessionStorage.removeItem(VERIFIER_KEY); const res = await fetch("https://openrouter.ai/api/v1/auth/keys", { method: "POST", - Network accessline 138
const res = await fetch("https://openrouter.ai/api/v1/auth/keys", { - Network accessline 208
const response = await fetch("https://openrouter.ai/api/v1/responses", { - Network accessline 227
- [OAuth PKCE guide](https://openrouter.ai/docs/guides/overview/auth/oauth) — full parameter reference and key management - Network accessline 228
- [Authentication guide](https://openrouter.ai/docs/api/reference/authentication) — API key usage and Bearer token setup - Network accessline 229
- [Live demo](https://openrouterteam.github.io/sign-in-with-openrouter/) — interactive button playground - Network accessline 230
- [OpenRouter TypeScript SDK](https://openrouter.ai/docs/sdks/typescript/overview) — `callModel` pattern for completions and streaming
skills/openrouter-stt/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-stt/SKILL.md
- Network accessline 8
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Network accessline 62
# --data-binary @file keeps the base64 payload off argv (avoids E2BIG / ARG_MAX). http_code=$(curl -sS -X POST https://openrouter.ai/api/v1/audio/transcriptions \ - Network accessline 63
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Dangerous shell operationline 73
rm -f "$BODY" "$PAYLOAD" - Dangerous shell operationline 78
rm -f "$BODY" "$PAYLOAD" - Network accessline 86
curl -sS "https://openrouter.ai/api/v1/models?output_modalities=transcription" \ - Network accessline 139
const res = await fetch("https://openrouter.ai/api/v1/audio/transcriptions", { - Access to secretsline 142
[Credential-related source omitted] - Network accessline 169
res = requests.post( - Network accessline 170
"https://openrouter.ai/api/v1/audio/transcriptions", - Access to secretsline 172
[Credential-related source omitted] - Network accessline 201
- [STT guide](https://openrouter.ai/docs/guides/overview/multimodal/stt) - Network accessline 202
- [Models page — filter to transcription output](https://openrouter.ai/models?output_modalities=transcription)
skills/openrouter-tts/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-tts/SKILL.md
- Network accessline 8
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Network accessline 36
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Dangerous shell operationline 47
rm -f "$OUTPUT" "$HEADERS" - Dangerous shell operationline 52
rm -f "$HEADERS" - Network accessline 61
# Models + voices in one shot curl -sS "https://openrouter.ai/api/v1/models?output_modalities=speech" \ - Network accessline 62
curl -sS "https://openrouter.ai/api/v1/models?output_modalities=speech" \ - Network accessline 65
# Just the voices for a specific model curl -sS "https://openrouter.ai/api/v1/models?output_modalities=speech" \ - Network accessline 66
curl -sS "https://openrouter.ai/api/v1/models?output_modalities=speech" \ - Network accessline 121
client = OpenAI(base_url="https://openrouter.ai/api/v1", - Access to secretsline 122
[Credential-related source omitted] - Network accessline 138
const client = new OpenAI({ baseURL: "https://openrouter.ai/api/v1", - Network accessline 139
baseURL: "https://openrouter.ai/api/v1", - Access to secretsline 140
[Credential-related source omitted] - Network accessline 178
- [TTS guide](https://openrouter.ai/docs/guides/overview/multimodal/tts) - Network accessline 179
- [Models page — filter to speech output](https://openrouter.ai/models?output_modalities=speech)
skills/openrouter-typescript-sdk/README.md
- Network accessline 3
Complete reference for integrating with [600+ AI models](https://openrouter.ai/models) through the OpenRouter TypeScript SDK and Agent packages using the `callModel` pattern — text generation, tool use, streaming, and multi-turn conversatio - Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 21
- **[`@openrouter/agent`](https://www.npmjs.com/package/@openrouter/agent)** — Agent features: `callModel`, `tool()`, stop conditions, streaming, format converters - Network accessline 22
- **[`@openrouter/sdk`](https://www.npmjs.com/package/@openrouter/sdk)** — Platform features: model listing, chat completions, credits, OAuth, API key management
skills/openrouter-typescript-sdk/SKILL.md
- Network accessline 29
Get your API key from [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys), then initialize: - Access to secretsline 35
[Credential-related source omitted] - Network accessline 51
1. Visit [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys) - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted] - Network accessline 135
const authResponse = await client.oAuth.createAuthCode({ callbackUrl: 'https://myapp.com/auth/callback' - Network accessline 136
callbackUrl: 'https://myapp.com/auth/callback' - Access to secretsline 200
[Credential-related source omitted] - Network accessline 204
app.get('/auth/start', async (req, res) => { const authResponse = await client.oAuth.createAuthCode({ callbackUrl: 'https://myapp.com/auth/callback' - Network accessline 205
const authResponse = await client.oAuth.createAuthCode({ callbackUrl: 'https://myapp.com/auth/callback' }); - Network accessline 206
callbackUrl: 'https://myapp.com/auth/callback' - Network accessline 330
content: [ { type: 'text', text: 'What is in this image?' }, { type: 'image_url', image_url: { url: 'https://example.com/image.png' } } - Network accessline 331
{ type: 'text', text: 'What is in this image?' }, { type: 'image_url', image_url: { url: 'https://example.com/image.png' } } ] - Network accessline 332
{ type: 'image_url', image_url: { url: 'https://example.com/image.png' } } - Dangerous shell operationline 463
return { result: eval(expression) }; - Access to secretsline 1062
[Credential-related source omitted] - Access to secretsline 1105
[Credential-related source omitted] - Access to secretsline 1140
[Credential-related source omitted] - Network accessline 1159
return { results: [ { title: 'Example', snippet: 'Example result', url: 'https://example.com' } - Network accessline 1160
results: [ { title: 'Example', snippet: 'Example result', url: 'https://example.com' } ] - Network accessline 1161
{ title: 'Example', snippet: 'Example result', url: 'https://example.com' } - Network accessline 1260
- **API Keys**: [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys) - Network accessline 1261
- **Model List**: [openrouter.ai/models](https://openrouter.ai/models) - Network accessline 1262
- **Agent SDK**: [github.com/OpenRouterTeam/typescript-agent](https://github.com/OpenRouterTeam/typescript-agent) - Network accessline 1263
- **SDK Issues**: [github.com/OpenRouterTeam/typescript-sdk/issues](https://github.com/OpenRouterTeam/typescript-sdk/issues)
skills/openrouter-typescript-sdk/metadata.json
- Network accessline 5
"abstract": "Complete reference for the OpenRouter TypeScript SDK and Agent packages, enabling AI agents to integrate with 300+ AI models through a unified, type-safe interface. Agent features (callModel, tool(), stop conditions, streaming, - Network accessline 6
"references": [ "https://openrouter.ai/docs/sdks/typescript/call-model/overview", "https://openrouter.ai/docs/sdks", - Network accessline 7
"https://openrouter.ai/docs/sdks/typescript/call-model/overview", - Network accessline 8
"https://openrouter.ai/docs/sdks", - Network accessline 9
"https://openrouter.ai/docs/api/reference/overview", - Network accessline 10
"https://openrouter.ai/docs/sdks/typescript/api-reference/api-reference/oauth", - Network accessline 11
"https://openrouter.ai/docs/sdks/llms-full.txt"
skills/openrouter-video/README.md
- Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted]
skills/openrouter-video/SKILL.md
- Network accessline 8
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Network accessline 23
curl -sS https://openrouter.ai/api/v1/videos/models \ - Network accessline 43
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Network accessline 51
[Credential-related source omitted] - Network accessline 52
[Credential-related source omitted] - Network accessline 53
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Network accessline 65
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Network accessline 86
Image `url` can be a public `https://` URL or a local-file data URL: `MIME=image/png; B64=$(base64 < file.png | tr -d '\n'); url="data:${MIME};base64,${B64}"`. - Network accessline 117
- [Video generation guide](https://openrouter.ai/docs/guides/overview/multimodal/video-generation) - Network accessline 118
- [Models page (filter by video output)](https://openrouter.ai/models?output_modalities=video)
skills/spawn-ori-eval/README.md
- Network accessline 3
Delegate model evals to [Ori](https://openrouter.ai/ori/code): spawn a headless Ori run as a subprocess so the eval is authored and graded on a pinned harness and model, then relay the ranked results. - Network accessline 7
With the [GitHub CLI](https://cli.github.com/) (v2.90.0+): - Network accessline 13
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, Windsurf, and [many more agents](https://cli.github.com/manual/gh_skill_install). Add `--scope user` to install across every project for your current agent, or `--agent claude-cod - Dangerous shell operationline 19
- `ori` on PATH — `curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash` - Network accessline 19
- `ori` on PATH — `curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash` - Network accessline 21
- [Bun](https://bun.sh), which Ori uses to execute `*.eval.ts`
skills/spawn-ori-eval/SKILL.md
- Instruction override signalline 61
- Mark a step whose action is a message to the user done only after that message exists in the conversation. Reading the content in a tool result is not showing it. - Run one Ori process at a time, never one per candidate model. `ori eval` - Instruction override signalline 63
- Do not tell the user internal pass labels such as `eval run pass 3`. Use plain progress language instead. - Access to secretsline 75
[Credential-related source omitted] - Dangerous shell operationline 121
Install the binary with `curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash`. It lands in `~/.local/bin`, which is frequently absent from PATH in a non-login shell, so try `~/.local/bin/ori --version` before reporting a failure. Bu - Network accessline 121
Install the binary with `curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash`. It lands in `~/.local/bin`, which is frequently absent from PATH in a non-login shell, so try `~/.local/bin/ori --version` before reporting a failure. Bu
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Combined signals: 1 fact
- Passes content downloaded from openrouter.ai to an interpreterinstall-ori-harness/SKILL.md:19High confidence
Signal confidence: 494 facts
- Network access in prose of the SKILL.mdopen-responses/SKILL.md:23Low confidence
- Network access in prose of the SKILL.mdopen-responses/SKILL.md:355Low confidence
- Network access in prose of documentationopen-responses/references/extensions.md:5Low confidence
- Network access in code of documentationopen-responses/references/extensions.md:47Low confidence
- Network access in code of documentationopen-responses/references/extensions.md:48Low confidence
- Network access in code of documentationopen-responses/references/extensions.md:49Low confidence
- Network access in prose of documentationcreate-agent-tui/README.md:9Low confidence
- Network access in prose of documentationcreate-agent-tui/README.md:17Low confidence
- Network access in prose of documentationcreate-agent-tui/README.md:153Low confidence
- Access to secrets in code of documentationcreate-agent-tui/README.md:177Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuecreate-agent-tui/README.md:203Low confidence
- Network access in prose of the SKILL.mdcreate-agent-tui/SKILL.md:17Low confidence
- Network access in prose of the SKILL.mdcreate-agent-tui/SKILL.md:18Low confidence
- Access to secrets in prose of the SKILL.mdcreate-agent-tui/SKILL.md:18Low confidence
- Access to secrets in code of the SKILL.mdcreate-agent-tui/SKILL.md:146High confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valuecreate-agent-tui/SKILL.md:309Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valuecreate-agent-tui/SKILL.md:318Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:23Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:24Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuecreate-agent-tui/references/server-entry-points.md:41Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuecreate-agent-tui/references/server-entry-points.md:43Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:136Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:137Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:141Low confidence
- Network access in code of documentationcreate-agent-tui/references/server-entry-points.md:142Low confidence
- Network access in code of documentationcreate-agent-tui/references/slash-commands.md:78Low confidence
- Network access in code of documentationcreate-agent-tui/references/slash-commands.md:79Low confidence
- Network access in code of documentationcreate-agent-tui/references/slash-commands.md:80Low confidence
- Network access in prose of documentationcreate-agent-tui/references/tools.md:198Low confidence
- Network access in prose of documentationcreate-agent-tui/references/tools.md:199Low confidence
- Executable script in code of a file that runscreate-agent-tui/sample/package.json:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/agent.ts:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/banner.ts:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/cli.ts:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuecreate-agent-tui/sample/src/cli.ts:257Low confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/commands.ts:1High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/commands.ts:42High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/commands.ts:43High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/commands.ts:44High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/config.ts:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuecreate-agent-tui/sample/src/config.ts:72Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuecreate-agent-tui/sample/src/config.ts:81Low confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/loader.ts:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/renderer.ts:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/screenshot-demos.ts:1High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/screenshot-demos.ts:22High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/screenshot-demos.ts:23High confidence
- Network access in code of a file that runscreate-agent-tui/sample/src/screenshot-demos.ts:24High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/session.ts:1High confidence
- Executable script in code of a file that runscreate-agent-tui/sample/src/terminal-bg.ts:1High confidence
and 444 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md open-responses/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md open-responses/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md open-responses/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md open-responses/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md open-responses/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.