Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add gitguffaw/codex-router/plugin install codex-routerWrote 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/gitguffaw/codex-router/codex-cli-runtime)<a href="https://agentmods.dev/skills/gitguffaw/codex-router/codex-cli-runtime"><img src="https://agentmods.dev/badge/skills/gitguffaw/codex-router/codex-cli-runtime/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/gitguffaw/codex-router/codex-cli-runtime"><img src="https://agentmods.dev/badge/skills/gitguffaw/codex-router/codex-cli-runtime.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.00019 | $0.00935 |
| Opus 5.5 | $0.00008 | $0.00374 |
| Sonnet 5.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 1mo 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.
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.
- 1mo ago 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 17d ago), licensed Apache-2.0. It adds 19 tokens to every session and 935 once invoked, about $0.0001 per session on Opus 5.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-review
Use when the user asks to "review code with codex", "run a codex review", "review my changes", "review this commit", "review my branch", or wants OpenAI Codex to review code changes. Provides automated code review using the Codex CLI.
critical-code-reviewer
Rigorously review code or pull requests for correctness, security, accessibility, maintainability, tests, and edge cases. Use when users request a critical code review, want a guided walkthrough of findings, need implementer-facing feedback, or want to prepare, create, or submit a GitHub pull request review.
brooks-sweep
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…
triage
Triages a PR comment — from a bot (Copilot, CI) or a human reviewer. Routes to the triagehelper.py helper for identity checks, thread snapshotting, isolated-worktree fixes, and publish/reply/resolve mechanics; you classify the finding and apply a justified fix. --dry-run is fully read-only (investigation and a printed…
pr-review
Comprehensive PR review across six dimensions — cost impact, environment drift, ownership gaps, SOC 2 compliance, deprecated API / version hygiene, and rollback feasibility. Each mode inspects the diff and current file state, reports findings with severity, and recommends concrete fixes. Use when preparing a PR for…
genshijin-review
A compact pull-request review format that writes one actionable finding per line in Japanese or English.