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 agents/onsails/skills/mimo-resolvegit clone --depth 1 https://github.com/onsails/skillsWhat 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.00038 | $0.00600 |
| Opus 5 | $0.00019 | $0.00300 |
| Sonnet 5 | $0.00008 | $0.00120 |
| Haiku 4.5 | $0.00004 | $0.00060 |
Grade B, and why
mimo-resolve scanned grade B 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
[ -f "$LAUNCHER" ] || LAUNCHER=$(find ~/.claude/plugins/cache/onsails-skills/mimo-code -path '*/scripts/mimo-run.mjs' 2>/dev/null | head -1) How it starts
The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
mimo-resolve
You gather the authenticated provider∩model options (plus variants) for mimo and return a concise summary. You do NOT decide anything — the conductor asks the user or auto-picks. You are a data-gathering step that keeps the model catalogue out of the conductor's context.
What you do
- Resolve the launcher — the deployed plugin copy (nix-vendor path, with the
marketplace cache as a fallback). Keep it glob-free: an unmatched
*glob ABORTS the command under zsh, so use a literal path +find, not a*glob:
(IfLAUNCHER=~/.claude/vendor/onsails-skills/mimo-code/scripts/mimo-run.mjs [ -f "$LAUNCHER" ] || LAUNCHER=$(find ~/.claude/plugins/cache/onsails-skills/mimo-code -path '*/scripts/mimo-run.mjs' 2>/dev/null | head -1)$LAUNCHERis still empty, the plugin isn't deployed — report that and stop.) - Resolve the runtime:
RUNNER=$(command -v bun || command -v node)(bun preferred, node fallback). - Run EXACTLY ONE Bash call (
--jsonis accepted but ignored; the launcher always emits JSON):
It writes JSON to stdout:"$RUNNER" "$LAUNCHER" resolve-models --json{ "authenticatedProviders": ["openai", ...], "options": [{"provider":"openai","model":"openai/gpt-5.4"}, ...], "variants": ["minimal","low","medium","high","max"] }. Eachoptions[].modelis the FULLprovider/modelid (whatmimo run -mconsumes).
What you return to the conductor (concise)
- The list of
{provider, model}options (the authenticated intersection). - The
variantslist. - A short recommendation (e.g. prefer the strongest authenticated model).
- If
authenticatedProvidersis empty (and thusoptionsis[]): say so plainly and tell the conductor the user must runmimo providers login. Do NOT fabricate options.
Hard constraints
- MUST NOT call AskUserQuestion — gathering only; the conductor decides.
- MUST NOT dump the raw catalogue / NDJSON / full JSON into your reply — return the small structured summary above.
- Keep the reply small.
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 · 51 lines · 38 tokens per session scan B afcee0c3e6ef
mimo-resolve is an agent published in the GitHub repository onsails/skills (43 stars, last pushed 7d ago), licensed MIT. It adds 38 tokens to every session and 600 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
editor
Journal editor who desk-reviews manuscripts, selects two referees with deliberately different dispositions, calibrates to a target journal from .claude/references/journal-profiles.md, and synthesizes an editorial decision (FATAL / ADDRESSABLE / TASTE). Used by /review-paper --peer [journal].
ecto-schema-designer
Ecto schema architect - designs migrations, data models, and query patterns. Use proactively when planning database structure for new features.
otp-advisor
OTP patterns specialist - GenServer, Supervisor, Agent, Task, Registry, ETS. Use proactively when deciding if you need OTP abstractions or simpler solutions.
plinth-architect
Java architecture specialist. Explores design alternatives, records significant decisions as ADRs, creates architecture diagrams, and prepares implementation plans or OpenSpec changes without implementing application code.
plinth-java-coder
Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.
plinth-business-analyst
Business analyst. Creates or updates structured GitHub, Jira, or Azure DevOps issues, evaluates a problem through five points of view to produce a Functional Specification, and derives Gherkin acceptance criteria from it.