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/gitguffaw/codex-router/codex-cli-runtimenpx skills add gitguffaw/codex-router --skill codex-cli-runtimegit clone --depth 1 https://github.com/gitguffaw/codex-routerWhat 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.00019 | $0.00935 |
| Opus 5 | $0.00010 | $0.00467 |
| Sonnet 5 | $0.00004 | $0.00187 |
| Haiku 4.5 | $0.00002 | $0.00093 |
Grade A, and why
codex-cli-runtime 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 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.
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.
This is a copy
89% identical to codex-cli-runtime — 24 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
Codex Runtime
Use this skill only inside the codex-router:codex-rescue subagent.
Primary helper:
node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" task --watch "<raw arguments>"
Execution rules:
- The rescue subagent is a forwarder, not an orchestrator. Its only job is to invoke
task --watchonce and return that stdout unchanged when the watched job finishes. - Prefer the helper over hand-rolled
git, direct Codex CLI strings, or any other Bash activity. - Do not call
setup,review,adversarial-review,status,result, orcancelfromcodex-router:codex-rescue. - Use
taskfor every rescue request, including diagnosis, planning, research, and explicit fix requests. - You may use the
gpt-5-4-promptingskill to rewrite the user's request into a tighter Codex prompt before the singletaskcall. - That prompt drafting is the only Claude-side work allowed. Do not inspect the repo, solve the task yourself, or add independent analysis outside the forwarded prompt text.
- Leave
--effortunset unless the user explicitly requests a specific effort. - Leave model unset by default. Add
--modelonly when the user explicitly asks for one. - Preserve model selectors and aliases such as
spark; the runtime resolves them against the live catalog. - Default to a write-capable Codex run by adding
--writeunless the user explicitly asks for read-only behavior or only wants review, diagnosis, or research without edits.
Command selection:
- Use exactly one
taskinvocation per rescue handoff. - If the forwarded request includes
--backgroundor--wait, treat that as Claude-side execution control only. Strip it before callingtask, and do not treat it as part of the natural-language task text. - Always call internal
task --watchwithout--background. The outer command backgrounds the rescue subagent when requested.--watchlaunches a detached tracked worker, captures its exact job id, and reconciles only that authorized job. - The watcher may expire, but the active worker must continue. Never translate watcher or Bash expiration into job cancellation or failure.
- If the forwarded request includes
--model, pass the selector through unchanged totask; the runtime resolves exact slugs and live aliases. - If the forwarded request includes
--effort, pass it through totask. - If the forwarded request includes
-c/--config,--enable, or--disable, pass those controls through totask. - If the forwarded request includes
--resume, strip that token from the task text and add--resume-last. - If the forwarded request includes
--fresh, strip that token from the task text and do not add--resume-last. --resume: always usetask --resume-last, even if the request text is ambiguous.--fresh: always use a freshtaskrun, even if the request sounds like a follow-up.--effort: pass through the requested level. Do not maintain a fixed list; Codex effort names evolve. When a model is explicit, the runtime validates the level against that model's livecodex debug modelsentry.task --resume-last: internal helper for "keep going", "resume", "apply the top fix", or "dig deeper" after a previous rescue run.
Safety rules:
- Default to write-capable Codex work in
codex-router:codex-rescueunless the user explicitly asks for read-only behavior. - Preserve the user's task text as-is apart from stripping routing flags.
- Do not inspect the repository, read files, grep, monitor progress, poll status, fetch results, cancel jobs, summarize output, or do any follow-up work of your own.
- Return the stdout of the
task --watchcommand exactly as-is when it completes. - If Bash expires after reporting
Codex rescue started as <job-id>, return that exact job id and/codex-router:result <job-id>, and state that the active job was not cancelled. - If the Bash call fails before a job id is reported or Codex cannot be invoked, return nothing.
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 · 48 lines · 19 tokens per session scan A 0c82fc5fa582
codex-cli-runtime is a skill published in the GitHub repository gitguffaw/codex-router (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 19 tokens to every session and 935 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to codex-cli-runtime, differing in 24 lines, and is treated as a copy.
Other skills, from other repositories
codex-delegate
Delegate a coding task to the OpenAI Codex CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Codex — phrasings like "have Codex do X", "delegate this to Codex", "run it through Codex", or "use Codex to implement/fix/refactor" …
commandcode-delegate
Delegate a coding task to the Command Code CLI (cmd) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Command Code — phrasings like "have Command Code do X", "delegate this to commandcode", "run it through cmd", or "use Command Code…
opencode-delegate
Delegate a coding task to the OpenCode CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to OpenCode — phrasings like "have OpenCode do X", "delegate this to OpenCode", "run it through OpenCode", or "use OpenCode to…
warp-delegate
Delegate a coding task to the Warp Agent CLI (oz) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Warp - phrasings like "have Warp implement X", "delegate this to the Warp CLI", "run it through Warp", "use oz to…
zcode-delegate
Delegate a coding task to the Z.AI ZCode CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to ZCode — phrasings like "have ZCode do X", "delegate this to ZCode", "run it through ZCode", or "use ZCode to implement/fix/refactor" — or…
agy-delegate
Delegate a coding task to the Google Antigravity CLI (agy) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Antigravity or agy - phrasings like "have Antigravity do X", "delegate this to agy", "run it through agy", or "use…