Skip to content
Back to skills

Codex 2

ASecurity

Run OpenAI's Codex CLI agent in non-interactive mode using `codex exec`. Use when delegating coding tasks to Codex, running Codex in scripts/automation, or when needing a second agent to work on a task in parallel.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsrustgobashapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill codex-2 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codex 2?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Codex 2
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-codex-2/badge)](https://www.skillsdirectory.com/skills/david-li0406-codex-2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: codex
description: Run OpenAI's Codex CLI agent in non-interactive mode using `codex exec`. Use when delegating coding tasks to Codex, running Codex in scripts/automation, or when needing a second agent to work on a task in parallel.
---

# Codex CLI (Non-Interactive)

Codex is OpenAI's coding agent. Use `codex exec` to run it non-interactively from any cli agent.

## When to Use Codex

Use Codex when:
- **Parallel work**: Delegate a task while continuing other work
- **Second opinion**: Get an independent implementation or review
- **Long-running tasks**: Offload tasks that may take many iterations
- **Code review**: Use `codex exec review` for PR/diff reviews

Do NOT use Codex for:
- Simple file reads/edits you can do directly
- Tasks requiring back-and-forth conversation
- Tasks needing your current context

## Quick Reference

```bash
# Analysis (read-only, default)
codex exec "describe the architecture of this codebase"

# Allow file edits
codex exec --full-auto "fix the failing tests"

# Code review
codex exec review --uncommitted
codex exec review --base main

# Structured JSON output
codex exec --output-schema schema.json -o result.json "extract metadata"

# Continue previous session (inherits original sandbox settings)
codex exec resume --last "now add tests"
```

## Core Concepts

### Output Streams

Progress goes to stderr, final result to stdout. To capture only the result:
```bash
codex exec "summarize the repo" 2>/dev/null > summary.txt
```

To see progress while capturing result:
```bash
codex exec "generate changelog" 2>&1 | tee output.txt
```

### Sandbox Modes

In non-interactive mode, **no approval prompts are possible**. Permissions must be set upfront:

| Mode | Flag | Behavior |
|------|------|----------|
| Read-only | (default) | Reads anywhere, writes/commands blocked |
| Workspace-write | `--full-auto` | Pre-approves edits and commands in workspace |
| Full access | `--yolo` | No restrictions. Use in isolated environments only |

**Choose based on task:**
- Analysis/explanation → default (read-only)
- Fix bugs/implement features → `--full-auto`
- Needs network or system access → `--yolo` (dangerous)

Note: `~/.codex/config.toml` can set project trust levels that override defaults.

### Models

Default model is `gpt-5.2-codex`. Override with `-m`:
```bash
codex exec -m gpt-5 "explain this code"
```

### Authentication

By default, the user should already be authenticated. If not, set `CODEX_API_KEY`:
```bash
CODEX_API_KEY=sk-... codex exec "task"
```

## Code Review

Built-in review subcommand:
```bash
# Review uncommitted changes
codex exec review --uncommitted

# Review against a base branch
codex exec review --base main

# Review a specific commit
codex exec review --commit abc123
```

## Structured Output

Use `--output-schema` for JSON output. **Important**: OpenAI requires `additionalProperties: false` on all object types.

```bash
codex exec --output-schema schema.json -o result.json "extract API endpoints"
```

Schema example:
```json
{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "endpoints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": { "type": "string" },
          "method": { "type": "string" }
        },
        "required": ["path", "method"],
        "additionalProperties": false
      }
    }
  },
  "required": ["name", "endpoints"],
  "additionalProperties": false
}
```

## Session Resume

Resume continues a previous session, **inheriting its sandbox settings**:
```bash
# Start a task
codex exec --full-auto "implement rate limiter"

# Continue later (inherits --full-auto from original)
codex exec resume --last "add unit tests"

# Or resume by session ID
codex exec resume <SESSION_ID> "follow-up task"
```

**Note**: Cannot pass `--full-auto` to resume; it inherits from the original session.

## JSONL Event Stream

For programmatic use, `--json` outputs structured events:
```bash
codex exec --json "analyze code" 2>/dev/null | jq -c 'select(.type == "item.completed")'
```

## Performance & Best Practices

### Execution Time
Complex tasks typically take **60-120+ seconds**. Simple analysis tasks complete in 10-30 seconds.

- Tasks may continue executing even after your timeout
- Always check if files were modified regardless of timeout status
- Use `tail -f <output_file>` to monitor long-running background tasks

### Task Granularity
Break complex work into focused tasks:

```bash
# Good: Focused, single-purpose tasks
codex exec --full-auto "add star ratings to the skill cards"
codex exec --full-auto "add a search filter to the toolbar"

# Avoid: Multi-feature requests in one task
codex exec --full-auto "add ratings, search, filters, modal, and animations"
```

### Concurrent Editing
**Avoid running multiple Codex sessions on the same file simultaneously.** While it may work, concurrent edits risk merge conflicts or overwrites.

### Large Files
Files over ~2000 lines slow execution as Codex reads the entire file multiple times. Consider:
- Splitting into multiple files when possible
- Using specific line references in prompts
- Breaking incremental changes into smaller tasks

## Error Handling

Common errors:
- **Timeout**: Long tasks may timeout. Check if work completed anyway, or use resume to continue.
- **Sandbox blocked**: Task needs writes but running in read-only. Use `--full-auto`.
- **Schema validation**: Missing `additionalProperties: false` in schema objects.
- **Model not supported**: Some models unavailable with ChatGPT auth. Use default `gpt-5.2-codex`.

## Detailed References

- **[exec-reference.md](references/exec-reference.md)**: Complete flag reference
- **[prompting.md](references/prompting.md)**: Effective prompts and workflow patterns

## Project Context

Codex reads `AGENTS.md` files for project instructions:
- `~/.codex/AGENTS.md` - Global defaults
- `<repo>/AGENTS.md` - Project-specific

```markdown
# AGENTS.md
- Run `npm test` after modifying JS files
- Use pnpm for dependencies
```

Files in this skill

  • SKILL.md5.9 KB
  • references/exec-reference.md5.6 KB
  • references/prompting.md4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…