Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/dryvist/claude-code-plugins/openrouter-modelsnpx skills add dryvist/claude-code-plugins --skill openrouter-modelsgit clone --depth 1 https://github.com/dryvist/claude-code-pluginsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00061 | $0.01451 |
| Opus 5 | $0.00030 | $0.00726 |
| Sonnet 5 | $0.00012 | $0.00290 |
| Haiku 4.5 | $0.00006 | $0.00145 |
Grade A, and why
openrouter-models scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsS --max-time 15 https://openrouter.ai/api/v1/models | jq ' How it starts
The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
openrouter-models
Your locally served brain handles routine work. For reasoning or coding where a
stronger hosted model would genuinely change the outcome, escalate through the
shared router — a deliberate per-call choice, never an automatic on-error
fallback. This skill covers what is available, what it costs, and the rules
around it. delegate-to-router covers the mechanics of the call itself.
The model set is enforced; the budget is yours to enforce
Two different kinds of limit. Treating them the same is how money gets spent.
Enforced at the router: the set of models your credential may reach. That
is an allowlist you cannot edit, so a 400 for an unlisted model means the
policy worked — it costs nothing and is a correct answer.
NOT enforced, in the general case: your spend. Metering spend per caller needs shared state plus a credential per caller, and a deliberately stateless router may have neither. Where that is so, no ceiling exists anywhere except in your own behaviour.
The budget: $1.00 per day, self-enforced
That is the standing default, and it is real only because you apply it. If your deployment states a different figure, use theirs; if it states none, use this one. Do not proceed without a number — "stop at the cap" means nothing if no cap is named, and an unnamed cap is how an account-wide credential ends up metered by nothing at all.
- Track your spend yourself. Keep a running total in memory keyed by day
(
openrouter-spend-<YYYY-MM-DD>). After each paid call, estimate its cost from the response's token usage times the per-token prices you discovered, and add it. Check the total before every paid call. - Stop at $1.00. At or above it, use the locally served tier or a
:freevariant instead, and note the deferral. Nothing else will stop you. - Never read "nothing stopped me" as permission. An unenforced limit is still a limit; it is just one only you can apply.
- Prefer free variants whenever they are adequate, subject to the egress rule below. Never run a long unattended loop on a paid model — an unattended loop is exactly where self-enforcement fails silently.
- Report what you have used when you report spend-relevant work, so a human can see the total you are enforcing against.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 136 lines · 61 tokens per session scan A 13365f6dd26b
openrouter-models is a skill published in the GitHub repository dryvist/claude-code-plugins (3 stars, last pushed 2d ago), licensed Apache-2.0. It adds 61 tokens to every session and 1,451 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
rspec
This skill should be used when the user asks to "write specs", "create spec", "add RSpec tests", "fix failing spec", or mentions RSpec, describe blocks, it blocks, expect syntax, test doubles, or matchers. Should also be used when editing spec.rb files, working in spec/ directory, planning implementation phases that…
activerecord
This skill should be used when the user asks to "write a migration", "add a column", "add column to table", "create an index", "add a foreign key", "set up associations", "fix N+1 queries", "optimize queries", "add validations", "create callbacks", "use eager loading", or mentions ActiveRecord, belongsto, hasmany…
dragonruby
This skill should be used when the user asks to "create a game", "make a game", "game development", "dragonruby", "drgtk", "game loop", "tick method", "sprite rendering", "game state", or mentions args.outputs, args.state, args.inputs, coordinate system, collision detection, animation frames, or scene management.…
draper-decorators
This skill should be used when the user asks to "create a decorator", "write a decorator", "move logic into decorator", "clean logic out of the view", "isn't it decorator logic", "test a decorator", or mentions Draper, keeping views clean, or representation logic in decorators. Should also be used when editing…
mcp-server
This skill should be used when the user asks to "create an MCP server", "build MCP tools", "define MCP prompts", "register MCP resources", "implement Model Context Protocol", or mentions the mcp gem, MCP::Server, MCP::Tool, JSON-RPC transport, stdio transport, or streamable HTTP transport. Should also be used when…
ratatui-ruby
This skill should be used when the user asks to "create a TUI", "terminal interface", "terminal UI", "ratatui", "ratatui-ruby", "inline viewport", "full-screen terminal app", "terminal widgets", "tui.draw", "tui.pollevent", or mentions RatatuiRuby.run, managed loop, terminal rendering, Tea MVU, or building CLI…