Codex Skill Guide
When to Use Codex
- Tricky Debugging: Exceptional at finding elusive bugs that are hard to track down (mystery bugs, race conditions, edge cases)
- Security Analysis: Industry-leading vulnerability discovery - found zero-day CVEs in production frameworks, autonomous patch generation
- Code Review: Comprehensive security-focused code reviews, identifying vulnerabilities and anti-patterns
- Complex Refactoring: Large-scale code transformations with deep understanding of codebase context
- Agentic Coding: Multi-step autonomous software engineering tasks
Defaults
- Model: use the Codex CLI default (currently
gpt-5.3-codex; the CLI picks this automatically, so omit -m unless overriding).
- Reasoning effort:
medium unless the user selects otherwise.
- Sandbox mode:
read-only unless edits or network access are needed.
- stderr: suppress with
2>/dev/null to drop thinking tokens. Show stderr only when the user asks for thinking output or when debugging an error.
Running a Task
- Ask the user (via
AskUserQuestion) which reasoning effort to use (xhigh, high, medium, or low). Default to medium if the user does not specify.
- Select the sandbox mode required for the task; default to
--sandbox read-only unless edits or network access are necessary.
- Assemble the command with the appropriate options:
-m, --model <MODEL> (omit to use the CLI default)
--config model_reasoning_effort="<high|medium|low>"
--sandbox <read-only|workspace-write|danger-full-access>
--full-auto
-C, --cd <DIR>
--skip-git-repo-check (include after confirming with user on first use per session)
- To continue a previous session, pipe the new prompt via stdin:
echo "your prompt here" | codex exec [flags] resume --last 2>/dev/null. Flags go between exec and resume. Resume inherits the model, reasoning effort, and sandbox mode from the original session. Pass flags only to override one of those values.
- Append
2>/dev/null to every codex exec command to suppress thinking tokens (stderr). Show stderr only if the user asks to see thinking tokens or if you need to debug a failure.
- Run the command, capture stdout/stderr (filtered as appropriate), and summarise the outcome for the user.
- After Codex edits files, verify changes before proceeding:
- Run
git diff to review modifications
- Run tests if applicable (
npm test, pytest, etc.)
- Only commit or continue after validation passes
- After Codex completes, tell the user: "You can resume this Codex session at any time by saying 'codex resume' or asking me to continue with additional analysis or changes."
Task Checklist
- [ ] 1. Select reasoning effort (default: medium)
- [ ] 2. Select sandbox mode (default: read-only)
- [ ] 3. Assemble command with flags (model defaults to CLI's current default)
- [ ] 4. Get permission for high-impact flags (if --full-auto or danger-full-access)
- [ ] 5. Run command with 2>/dev/null
- [ ] 6. Summarise outcome
- [ ] 7. Verify changes (git diff, tests) if edits made
- [ ] 8. Inform user about resume option
Following Up
- After every
codex command, use AskUserQuestion to confirm next steps, collect clarifications, or decide whether to resume with codex exec resume --last.
- Restate the chosen reasoning effort and sandbox mode when proposing follow-up actions.
Error Handling
- Stop and report failures whenever
codex --version or a codex exec command exits non-zero; request direction before retrying.
- Before using high-impact flags (
--full-auto, --sandbox danger-full-access, --skip-git-repo-check), ask the user for permission using AskUserQuestion unless permission was already granted.
- When output includes warnings or partial results, summarise them and ask how to adjust using
AskUserQuestion.
Quick Reference
Append 2>/dev/null to every command below to suppress thinking tokens.
| Use case |
Sandbox mode |
Key flags |
| Read-only review or analysis |
read-only |
--sandbox read-only |
| Apply local edits |
workspace-write |
--sandbox workspace-write --full-auto |
| Permit network or broad access |
danger-full-access |
--sandbox danger-full-access --full-auto |
| Resume recent session |
Inherited from original |
echo "prompt" | codex exec resume --last (add flags between exec and resume only to override inherited values) |
| Run from another directory |
Match task needs |
-C <DIR> plus other flags |
Examples
Claude assembles:
codex exec --skip-git-repo-check --config model_reasoning_effort="high" --sandbox read-only 2>/dev/null
After completion: "Analysis complete. Found 2 potential SQL injection vulnerabilities in db/queries.ts. You can resume this Codex session at any time by saying 'codex resume' or asking me to continue with additional analysis."
Claude assembles:
codex exec --skip-git-repo-check --config model_reasoning_effort="high" --sandbox workspace-write --full-auto 2>/dev/null
After edits: Runs git diff to show changes, runs npm test to verify fix, then: "Fixed the race condition by adding mutex locks. Tests pass. You can resume this session with 'codex resume'."
Claude assembles:
echo "Continue the security analysis, focusing on authentication flows" | codex exec --skip-git-repo-check resume --last 2>/dev/null
Note: No model/sandbox flags needed -- inherited from original session.
Reasoning Effort Levels
Codex CLI context window: 400K input / 128K output. Check Codex releases for current pricing and benchmarks.
| Reasoning |
Best for |
xhigh |
Zero-day vulnerability discovery, deep architecture analysis, multi-hour agentic tasks |
high |
Security analysis, complex refactoring, performance optimisation, debugging race conditions |
medium (default) |
Feature additions, bug fixes, code review, standard refactoring |
low |
Quick fixes, formatting, documentation, simple changes |
Cached input tokens receive a significant discount. Repeated context within 24 hours benefits from this automatically.
CLI Version
Requires a recent Codex CLI version. Check with codex --version. See Codex releases for the latest version and current default model.
Use the /model slash command within a Codex session to switch models, or configure the default in ~/.codex/config.toml.
1---2name: codex3description: Invokes Codex CLI for code analysis, refactoring, or automated editing. Use when the user asks to run codex exec, codex resume, or references OpenAI Codex.4license: MIT5---67# Codex Skill Guide89## When to Use Codex10- **Tricky Debugging**: Exceptional at finding elusive bugs that are hard to track down (mystery bugs, race conditions, edge cases)11- **Security Analysis**: Industry-leading vulnerability discovery - found zero-day CVEs in production frameworks, autonomous patch generation12- **Code Review**: Comprehensive security-focused code reviews, identifying vulnerabilities and anti-patterns13- **Complex Refactoring**: Large-scale code transformations with deep understanding of codebase context14- **Agentic Coding**: Multi-step autonomous software engineering tasks1516## Defaults1718- **Model**: use the Codex CLI default (currently `gpt-5.3-codex`; the CLI picks this automatically, so omit `-m` unless overriding).19- **Reasoning effort**: `medium` unless the user selects otherwise.20- **Sandbox mode**: `read-only` unless edits or network access are needed.21- **stderr**: suppress with `2>/dev/null` to drop thinking tokens. Show stderr only when the user asks for thinking output or when debugging an error.2223<instructions>2425## Running a Task26271. Ask the user (via `AskUserQuestion`) which reasoning effort to use (`xhigh`, `high`, `medium`, or `low`). Default to `medium` if the user does not specify.282. Select the sandbox mode required for the task; default to `--sandbox read-only` unless edits or network access are necessary.293. Assemble the command with the appropriate options:30 - `-m, --model <MODEL>` (omit to use the CLI default)31 - `--config model_reasoning_effort="<high|medium|low>"`32 - `--sandbox <read-only|workspace-write|danger-full-access>`33 - `--full-auto`34 - `-C, --cd <DIR>`35 - `--skip-git-repo-check` (include after confirming with user on first use per session)364. To continue a previous session, pipe the new prompt via stdin: `echo "your prompt here" | codex exec [flags] resume --last 2>/dev/null`. Flags go between `exec` and `resume`. Resume inherits the model, reasoning effort, and sandbox mode from the original session. Pass flags only to override one of those values.375. Append `2>/dev/null` to every `codex exec` command to suppress thinking tokens (stderr). Show stderr only if the user asks to see thinking tokens or if you need to debug a failure.386. Run the command, capture stdout/stderr (filtered as appropriate), and summarise the outcome for the user.397. After Codex edits files, verify changes before proceeding:40 - Run `git diff` to review modifications41 - Run tests if applicable (`npm test`, `pytest`, etc.)42 - Only commit or continue after validation passes438. After Codex completes, tell the user: "You can resume this Codex session at any time by saying 'codex resume' or asking me to continue with additional analysis or changes."4445### Task Checklist4647```48- [ ] 1. Select reasoning effort (default: medium)49- [ ] 2. Select sandbox mode (default: read-only)50- [ ] 3. Assemble command with flags (model defaults to CLI's current default)51- [ ] 4. Get permission for high-impact flags (if --full-auto or danger-full-access)52- [ ] 5. Run command with 2>/dev/null53- [ ] 6. Summarise outcome54- [ ] 7. Verify changes (git diff, tests) if edits made55- [ ] 8. Inform user about resume option56```5758## Following Up5960- After every `codex` command, use `AskUserQuestion` to confirm next steps, collect clarifications, or decide whether to resume with `codex exec resume --last`.61- Restate the chosen reasoning effort and sandbox mode when proposing follow-up actions.6263## Error Handling6465- Stop and report failures whenever `codex --version` or a `codex exec` command exits non-zero; request direction before retrying.66- Before using high-impact flags (`--full-auto`, `--sandbox danger-full-access`, `--skip-git-repo-check`), ask the user for permission using `AskUserQuestion` unless permission was already granted.67- When output includes warnings or partial results, summarise them and ask how to adjust using `AskUserQuestion`.6869</instructions>7071### Quick Reference7273Append `2>/dev/null` to every command below to suppress thinking tokens.7475| Use case | Sandbox mode | Key flags |76| --- | --- | --- |77| Read-only review or analysis | `read-only` | `--sandbox read-only` |78| Apply local edits | `workspace-write` | `--sandbox workspace-write --full-auto` |79| Permit network or broad access | `danger-full-access` | `--sandbox danger-full-access --full-auto` |80| Resume recent session | Inherited from original | `echo "prompt" \| codex exec resume --last` (add flags between `exec` and `resume` only to override inherited values) |81| Run from another directory | Match task needs | `-C <DIR>` plus other flags |8283## Examples8485<example>86**User**: "Review this file for security vulnerabilities"8788**Claude assembles**:89```bash90codex exec --skip-git-repo-check --config model_reasoning_effort="high" --sandbox read-only 2>/dev/null91```9293**After completion**: "Analysis complete. Found 2 potential SQL injection vulnerabilities in `db/queries.ts`. You can resume this Codex session at any time by saying 'codex resume' or asking me to continue with additional analysis."94</example>9596<example>97**User**: "Fix the race condition bug in the worker pool"9899**Claude assembles**:100```bash101codex exec --skip-git-repo-check --config model_reasoning_effort="high" --sandbox workspace-write --full-auto 2>/dev/null102```103104**After edits**: Runs `git diff` to show changes, runs `npm test` to verify fix, then: "Fixed the race condition by adding mutex locks. Tests pass. You can resume this session with 'codex resume'."105</example>106107<example>108**User**: "Continue analysing that code" (after previous session)109110**Claude assembles**:111```bash112echo "Continue the security analysis, focusing on authentication flows" | codex exec --skip-git-repo-check resume --last 2>/dev/null113```114115**Note**: No model/sandbox flags needed -- inherited from original session.116</example>117118## Reasoning Effort Levels119120Codex CLI context window: 400K input / 128K output. Check [Codex releases](https://github.com/openai/codex/releases) for current pricing and benchmarks.121122| Reasoning | Best for |123| --- | --- |124| `xhigh` | Zero-day vulnerability discovery, deep architecture analysis, multi-hour agentic tasks |125| `high` | Security analysis, complex refactoring, performance optimisation, debugging race conditions |126| `medium` (default) | Feature additions, bug fixes, code review, standard refactoring |127| `low` | Quick fixes, formatting, documentation, simple changes |128129Cached input tokens receive a significant discount. Repeated context within 24 hours benefits from this automatically.130131## CLI Version132133Requires a recent Codex CLI version. Check with `codex --version`. See [Codex releases](https://github.com/openai/codex/releases) for the latest version and current default model.134135Use the `/model` slash command within a Codex session to switch models, or configure the default in `~/.codex/config.toml`.