Installs into .claude/skills of the current project.
Are you the author of Codex Cli Runtime?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gitguffaw-codex-cli-runtime)
---
name: codex-cli-runtime
description: Internal helper contract for calling the codex-companion runtime from Claude Code
user-invocable: false
---
# 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 --watch` once 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`, or `cancel` from `codex-router:codex-rescue`.
- Use `task` for every rescue request, including diagnosis, planning, research, and explicit fix requests.
- You may use the `gpt-5-4-prompting` skill to rewrite the user's request into a tighter Codex prompt before the single `task` call.
- 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 `--effort` unset unless the user explicitly requests a specific effort.
- Leave model unset by default. Add `--model` only 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 `--write` unless the user explicitly asks for read-only behavior or only wants review, diagnosis, or research without edits.
Command selection:
- Use exactly one `task` invocation per rescue handoff.
- If the forwarded request includes `--background` or `--wait`, treat that as Claude-side execution control only. Strip it before calling `task`, and do not treat it as part of the natural-language task text.
- Always call internal `task --watch` without `--background`. The outer command backgrounds the rescue subagent when requested. `--watch` launches 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 to `task`; the runtime resolves exact slugs and live aliases.
- If the forwarded request includes `--effort`, pass it through to `task`.
- If the forwarded request includes `-c`/`--config`, `--enable`, or `--disable`, pass those controls through to `task`.
- 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 use `task --resume-last`, even if the request text is ambiguous.
- `--fresh`: always use a fresh `task` run, 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 live `codex debug models` entry.
- `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-rescue` unless 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 --watch` command 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.