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 commands/rbinar/cli-dispatch/setupgit clone --depth 1 https://github.com/rbinar/cli-dispatchWhat 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.00026 | $0.05274 |
| Opus 5 | $0.00013 | $0.02637 |
| Sonnet 5 | $0.00005 | $0.01055 |
| Haiku 4.5 | $0.00003 | $0.00527 |
Grade C, and why
setup scanned grade C with 2 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 yesterday.
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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
- `claude` → `npm i -g @anthropic-ai/claude-code` (fallback: `curl -fsSL https://claude.ai/install.sh | bash`) Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `claude` → `npm i -g @anthropic-ai/claude-code` (fallback: `curl -fsSL https://claude.ai/install.sh | bash`) How it starts
The opening of the file, as written. The whole thing — 301 lines — stays where its author put it; the contents beside it link to each section on GitHub.
cli-dispatch setup
cli-dispatch is a multi-backend delegation hub. Five worker backends are available:
| Backend | Worker CLI it wraps | Auth | Installs |
|---|---|---|---|
| DeepSeek | claude (Claude Code) pointed at DeepSeek's API |
DeepSeek API key | claude-ds, claude-ds-stream, ds-agent |
| Antigravity | agy (Antigravity CLI, Gemini) under a pseudo-TTY |
Google sign-in (agy) or GEMINI_API_KEY |
ag-stream, ag-agent |
| Codex | codex (OpenAI Codex CLI) |
codex login (ChatGPT/OAuth) or CODEX_API_KEY |
cx-stream, cx-agent |
| OpenCode | opencode (OpenCode CLI, via OpenRouter) |
OpenRouter API key (paste yourself, no OAuth) | oc-stream, oc-agent |
| GitHub Copilot | copilot (GitHub Copilot CLI) |
gh auth login / COPILOT_GITHUB_TOKEN / GH_TOKEN + active Copilot subscription |
cp-stream, cp-agent |
Follow these steps:
-
Detect which worker CLIs are available so you can recommend a sensible default:
command -v claude >/dev/null 2>&1 && echo "claude: found" || echo "claude: MISSING" command -v agy >/dev/null 2>&1 && echo "agy: found ($(agy --version 2>/dev/null))" || echo "agy: MISSING" command -v codex >/dev/null 2>&1 && echo "codex: found ($(codex --version 2>/dev/null))" || echo "codex: MISSING" command -v opencode >/dev/null 2>&1 && echo "opencode: found ($(opencode --version 2>/dev/null))" || echo "opencode: MISSING" command -v copilot >/dev/null 2>&1 && echo "copilot: found ($(copilot --version 2>/dev/null))" || echo "copilot: MISSING" -
Ask the user which backend(s) to install with
AskUserQuestion(header: "Backends", multiSelect). Offer: DeepSeek, Antigravity (Gemini), Codex (OpenAI), OpenCode (OpenRouter), GitHub Copilot. In the option descriptions, note which underlying CLI each needs and whether it was found in step 1 (e.g. ifcodexis MISSING, say it can be installed after). For OpenCode, note it needs an OpenRouter API key (paste-yourself, no OAuth) and that ifopencodewas MISSING in step 1, it can be installed after. For Copilot, note it needs an active GitHub Copilot subscription plusgh auth loginorCOPILOT_GITHUB_TOKEN/GH_TOKEN. Map the (possibly multiple) answers to a comma-list: DeepSeek→deepseek, Antigravity→antigravity, Codex→codex, OpenCode→opencode, Copilot→copilot(e.g. all five →deepseek,antigravity,codex,opencode,copilot, also accepted asall). -
Cross-reference step 2's picks against step 1's detection, and offer to auto-install any missing CLI(s):
- Map each backend chosen in step 2 to the underlying CLI step 1 checked: DeepSeek→
claude, Antigravity→agy, Codex→codex, OpenCode→opencode, Copilot→copilot. Determine which of the chosen backends' CLIs came backMISSINGin step 1. - If none are missing, skip this step entirely and run the installer in step 4 exactly as today, with no new flag.
- If one or more are missing, ask a separate
AskUserQuestion(header: "Auto-install?") that explicitly names each missing CLI and the exact command(s) that would run for it:claude→npm i -g @anthropic-ai/claude-code(fallback:curl -fsSL https://claude.ai/install.sh | bash)agy→curl -fsSL https://antigravity.google/cli/install.sh | bashcodex→npm i -g @openai/codex(fallbacks:brew install --cask codex, orcurl -fsSL https://chatgpt.com/codex/install.sh | sh)opencode→npm i -g opencode-aicopilot→npm i -g @github/copilot(fallbacks:brew install --cask copilot-cli, orcurl -fsSL https://gh.io/copilot-install | bash) In the question text, state plainly that theagyinstaller and thecurl-based fallbacks forclaude/codex/copilotdownload and execute a script from the vendor's domain (antigravity.google,claude.ai,chatgpt.com,gh.io) — the user should know this before approving. Offer:- "Yes, auto-install" — the installer will be invoked with
--install-missing(bash) /-InstallMissing(PowerShell) in step 4, so it attempts each missing CLI via package manager or vendor script, falling back to the existing MISSING warning if that fails. - "No, I'll install manually" — proceed exactly as today, no new flag; the user
installs the missing CLI(s) themselves whenever they like.
Leave neither option marked
recommended: true— running a vendor's install script is a deliberate, per-user tradeoff, not something to nudge them toward.
- This approval is per-run only: always ask again in a fresh setup run, even if the user approved auto-install previously — never treat a prior session's answer as standing consent.
- Map each backend chosen in step 2 to the underlying CLI step 1 checked: DeepSeek→
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.
- yesterday First seen · 301 lines · 26 tokens per session scan C 234c597b7f95
setup is a command published in the GitHub repository rbinar/cli-dispatch (5 stars, last pushed 14d ago), licensed MIT. It adds 26 tokens to every session and 5,274 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
rebase
Rebase current branch onto trunk (origin/master or origin/main), predict and resolve conflicts.
execute
Enter EXECUTE mode to implement approved plan.
innovate
Enter INNOVATE mode for brainstorming approaches.
research
Enter RESEARCH mode for information gathering.
verify
Adversarial spec-vs-implementation verification for a completed task. Dispatches the spec-mentor subagent with fresh context (no anchoring bias), parses its verdict (PASS / DRIFT / NEEDS-MARTY), and updates the verification queue. The v7.4.0 architectural replacement for a dedicated "mentor session.".
criar-skill
Use when creating new skills, automations, or specialized knowledge packages. Keywords: criar skill, nova skill, automatizar, conhecimento, TDD skill.