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 skills add beastlabai/multi-llm-plugin --skill multi-llmgit clone --depth 1 https://github.com/beastlabai/multi-llm-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/beastlabai/multi-llm-plugin/multi-llm)<a href="https://agentmods.dev/skills/beastlabai/multi-llm-plugin/multi-llm"><img src="https://agentmods.dev/badge/skills/beastlabai/multi-llm-plugin/multi-llm/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/beastlabai/multi-llm-plugin/multi-llm"><img src="https://agentmods.dev/badge/skills/beastlabai/multi-llm-plugin/multi-llm.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00076 | $0.00970 |
| Opus 5.5 | $0.00030 | $0.00388 |
| Sonnet 5.5 | $0.00015 | $0.00194 |
| Haiku 4.5 | $0.00008 | $0.00097 |
Grade A, and why
multi-llm scanned grade A with 0 findings 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 10d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Multi-LLM
Call the multi_llm tool with the argument text, converted to its four properties exactly
as that tool's own argument descriptions specify. The tool is the only supported entry point
on this host: it appends the flags this host requires, refuses the ones it owns, and
supervises the run to a terminal result. Do not reach the dispatcher any other way. The tool
runs outside the exec sandbox, and on the modes that apply changes it writes to the workspace. A call can run for up to its 15-minute budget. When you call this tool from an exec cell, start the cell with // @exec: {"yield_time_ms": 900000}, so the cell waits for the result. If a cell hands back "Script running" anyway, call wait until this call returns, and never end your turn while it is running.
Read the result's exit and next the way the dispatcher's own contract reads them; on state: partial, name the failed models and their reasons from progress.models; when the result carries validation_counts (a review phase's does), report them, and if needs_human_decision or validation_failed is non-zero point at report.md for those groups; they are decided later, when the suggestions are applied. A result without that key has no counts to report, so do not mention them. When the result carries a notice (result.notice, a finished run's: what it left out or could not check, such as items it did not apply or that nothing ran this repository's tests), report what it says, every part of it, as plain text. Put it above the closing section, and repeat nothing that section says.
On this host next arrives as arguments for this same tool, not as a command: "running" it means calling the tool again with exactly those arguments, never a shell.
Run next verbatim when it is not null on 0 and 2. On 3 stop: report to the user which phase stopped, on which plan or commit range, the last error line it printed, whole (on a stop it says what stopped, what it reported, what did not run and whether anything ran the repository's tests), and the options its output names (next included); do not run a different mode. Do not perform the work this run was going to review, plan, or implement: doing it yourself is never a substitute for a failed run. Run an option only after the user has picked it. Never edit driver.write_paths, or any other multi-llm setting in .multi-llm/providers.yaml, yourself. At a stop, offer only the ways forward the stop itself names, as it words them: when it names a change to driver.write_paths that lets a refused file be written (adding it to allow, or removing or narrowing a deny rule that covers it), that is one of them and the user's call; add no advice about the write policy of your own. user_next_step is the phase after this one, for the user to type: never run it yourself; end your report with its markdown, copied as it is (its words and order, each command alone in its fenced block, each why and note plain text, the manual tasks it lists included, no caption of your own). Only that markdown says "Workflow complete.": never write those words yourself. Copy it word for word, never wrapped in a fenced block of your own (its commands are fenced already), and say none of it twice: its whys, notes, manual tasks and "Workflow complete." appear only in it, never above it. It is never a tool call, unlike next, which is one. At a stop, resume_markdown is the stop's options, already written: end your report with it the same way, in place of any list, recap or summary of the options or ways forward of your own.
If that tool is not listed, the plugin's server did not start: codex mcp get multi_llm
names the command it tried, and python3 >= 3.9 must be on PATH.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- apply_code_fixes_orchestrator.py 59 KB runs code
- apply_commit_fixes_orchestrator.py 2.0 KB runs code
- apply_suggestions_orchestrator.py 15 KB runs code
- apply_task_suggestions_orchestrator.py 29 KB runs code
- ask_orchestrator.py 116 KB runs code
- assets/icons/Anthropic.svg 584 B
- assets/icons/Codex.svg 1.3 KB
- assets/icons/Copilot.svg 1.5 KB
- assets/icons/Cursor.svg 793 B
- assets/icons/GoogleGemini.svg 623 B
- assets/icons/Goose.svg 3.2 KB
- assets/icons/Kilocode.svg 531 B
- assets/icons/MiniMax.png 1.5 KB
- assets/icons/Mistral.svg 717 B
- assets/icons/MoonshotAI.svg 957 B
- assets/icons/Nvidia.svg 2.4 KB
- assets/icons/OhMyPi.svg 434 B
- assets/icons/OpenAI.svg 1.7 KB
- assets/icons/Opencode.svg 325 B
- assets/icons/Pi.svg 440 B
- assets/icons/Qwen.svg 1.7 KB
- assets/icons/xAI.svg 343 B
- assets/icons/Zhipu.png 442 B
- assets/omp/overlay.yml 2.4 KB
- check_workflow_prerequisites.py 75 KB runs code
- code_review_orchestrator.py 332 KB runs code
- display_decisions.py 9.9 KB runs code
- finalize_tracking.py 40 KB runs code
- full_workflow_orchestrator.py 56 KB runs code
- generate_tasks_orchestrator.py 38 KB runs code
- hosts/capabilities.yaml 46 KB
- hosts/codex/plugin-skill.md.tmpl 2.8 KB
- hosts/codex/shim.md.tmpl 6.3 KB
- hosts/opencode/plugin-command.md.tmpl 2.2 KB
- hosts/opencode/shim.md.tmpl 6.2 KB
- hosts/render_capabilities.py 48 KB runs code
- hosts/snippets/poll-loop.md 4.4 KB
- hosts/snippets/uv-preflight.md 2.2 KB
- hosts/uv-missing.txt 1.5 KB
- implement_orchestrator.py 149 KB runs code
- improve_code_orchestrator.py 1.5 KB runs code
- improve_commits_orchestrator.py 2.1 KB runs code
- improve_plan_orchestrator.py 1.4 KB runs code
- init_config.py 57 KB runs code
- instructions/apply-code-fixes.md 56 KB
- instructions/apply-commit-fixes.md 9.8 KB
- instructions/apply-suggestions.md 53 KB
- instructions/apply-task-suggestions.md 52 KB
- instructions/ask.md 28 KB
- instructions/full-workflow.md 24 KB
- instructions/generate-tasks.md 18 KB
- instructions/implement.md 62 KB
- instructions/improve-code.md 18 KB
- instructions/improve-commits.md 25 KB
- instructions/improve-plan.md 19 KB
- instructions/init-config.md 6.5 KB
- instructions/review-code.md 45 KB
- instructions/review-commits.md 11 KB
- instructions/review-plan.md 43 KB
- instructions/review-tasks.md 37 KB
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.
- 10d ago Changed 0e941d5a52de
- 14d ago Changed · -375 lines · +76 tokens per session 03bdcca01555
- 2mo ago First seen · 395 lines · 0 tokens per session scan A fcc75429e892
multi-llm is a skill published in the GitHub repository beastlabai/multi-llm-plugin (12 stars, last pushed 5d ago), licensed MIT. It adds 76 tokens to every session and 970 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
multi-llm compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| multi-llmbeastlabai/multi-llm-plugin | Skill | 12 | 5d ago | MIT | A | 76 | Claude Code |
| imagegenopenai/codex | Skill | 133k | yesterday | Apache-2.0 | A | 113 | Codex |
| playwright-climicrosoft/playwright | Skill | 99k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | 4d ago | MIT | A | 200 | Claude Code, Codex |
| systematic-debuggingobra/superpowers | Skill | 313k | 3d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |
| next-partial-prefetching-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 103 | Claude Code |