Skip to content
Back to skills

Codex

ASecurity

Hand off a task to Codex CLI for autonomous execution. Use when a task would benefit from a capable subagent to implement, fix, investigate, or review code. Codex has full codebase access and can make changes.

  • 207 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 7, 2026
developmentgobashdebuggingrefactoringgitapidatabaseperformance

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned February 12, 2026

npx -y skills add NeverSight/skills_feed --skill codex --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codex?

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

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

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: Hand off a task to Codex CLI for autonomous execution. Use when a task would benefit from a capable subagent to implement, fix, investigate, or review code. Codex has full codebase access and can make changes.
argument-hint: <task description> [--model <model>] [--sandbox <mode>]
allowed-tools: Bash(codex:*), Bash(git:*), Bash(pwd:*), Bash(mkdir:*), Bash(cat:*), Bash(head:*), Bash(tail:*), Bash(wc:*), Read, Grep, Glob
---

# Codex Subagent

Hand off a task to Codex CLI for autonomous execution. Codex is a capable coding agent that can implement features, fix bugs, refactor code, investigate issues, and review changes.

## Session Info

Session ID: ${CLAUDE_SESSION_ID}
Output directory: `~/.claude/codex/${CLAUDE_SESSION_ID}/`

**Output files:**
- `progress-{timestamp}.jsonl` - Streaming JSONL events (for monitoring)
- `summary-{timestamp}.txt` - Final agent message only (for results)

## Parse Arguments

Arguments: $ARGUMENTS

Parse the arguments:
- Everything before flags is the **task description**
- `--model <model>` or `-m <model>`: Override model (only if explicitly requested)
- `--sandbox <mode>`: Override sandbox mode (only if explicitly requested)

**Available models** (only pass if user explicitly requests):
- `gpt-5.2-codex` - Default for Codex CLI, optimized for agentic coding (user's current config)
- `gpt-5.2` - Flagship model, best for complex professional tasks
- `gpt-5-mini` - Fast, cost-efficient (replaces o4-mini)
- `o3` - Deep reasoning model for complex multi-step problems

**Sandbox modes** (only pass if user explicitly requests):
- `read-only` - No file modifications allowed
- `workspace-write` - Can modify files in workspace
- `danger-full-access` - Full system access (use with caution)

**Default behavior:** Omit `--model` and `--sandbox` flags to use the user's `~/.codex/config.toml` preferences.

If no task description provided, ask the user what they want Codex to do.

## Assess Task Complexity

Based on the task description, determine context depth:

**Minimal context** (single file fix, simple query):
- Task mentions specific file or function
- Clear, scoped objective
- Example: "fix the type error in auth.ts", "add logging to handleRequest"

**Medium context** (feature work, multi-file change):
- Task involves a feature or component
- May touch multiple files
- Example: "add input validation to the API", "refactor error handling"

**Full context** (architectural, investigation, unclear scope):
- Task is exploratory or investigative
- Scope unclear or potentially large
- Example: "figure out why tests are flaky", "improve performance"

## Gather Context

### Git State (always include)

```bash
pwd
git rev-parse --show-toplevel 2>/dev/null || echo "Not a git repo"
git branch --show-current 2>/dev/null || echo "N/A"
git status --short 2>/dev/null | head -20
```

### For Medium/Full Context

```bash
git diff --stat 2>/dev/null | tail -20
git log --oneline -5 --since="4 hours ago" 2>/dev/null || echo "No recent commits"
```

### For Full Context Only

Summarize relevant session context:
- What was being worked on
- Key decisions or approaches discussed
- Files that were read or modified
- Any blockers or open questions

## Generate Codex Prompt

Create a prompt using **CTCO structure** (Context → Task → Constraints → Output format) optimized for GPT-5.2.

Structure:

```
<context>
Working directory: {cwd}
Repository: {repo_name}
Branch: {branch}

{git_status if relevant}
{recent_changes if medium/full context}
{session_summary if full context}
</context>

<task>
{task description from arguments}
</task>

<constraints>
- Implement EXACTLY and ONLY what is requested
- No extra features, refactoring, or "improvements" beyond the task
- Read relevant files before making changes
- Run tests/linters if available to validate changes
- If task is ambiguous, state your interpretation before proceeding
</constraints>

<output>
After completing the task, provide a structured summary (≤5 bullets):
- **What changed**: Files modified and nature of changes
- **Where**: Specific locations (file:line when relevant)
- **Validation**: Tests run, linters passed, manual verification
- **Risks**: Any potential issues or edge cases to watch
- **Next steps**: Follow-up work if any (or "None")
</output>
```

## Execute Codex

First, ensure output directory exists:

```bash
mkdir -p ~/.claude/codex/${CLAUDE_SESSION_ID}
```

Check if we're in a git repo:

```bash
git rev-parse --show-toplevel 2>/dev/null && echo "IN_GIT_REPO" || echo "NOT_GIT_REPO"
```

Build and run the command:

```bash
codex exec --json \
  -o ~/.claude/codex/${CLAUDE_SESSION_ID}/summary-{timestamp}.txt \
  {required_flags} \
  {optional_flags} \
  - <<'CODEX_PROMPT'
{generated_prompt}
CODEX_PROMPT > ~/.claude/codex/${CLAUDE_SESSION_ID}/progress-{timestamp}.jsonl
```

**Output handling:**
- `--json` streams progress events to stdout → redirected to `progress-{timestamp}.jsonl`
- `-o` writes only the final message → `summary-{timestamp}.txt`

**Flag rules:**
- **If NOT in a git repo:** add `--skip-git-repo-check` (required)
- **Default:** add `--full-auto` (enables workspace-write sandbox + auto-approval)
- **If user requests read-only:** use `--sandbox read-only` instead of `--full-auto`
- **If user requests specific model:** add `-m <model>`
- **If user requests danger-full-access:** use `--sandbox danger-full-access` instead of `--full-auto`

Run via Bash tool.

### Background vs Foreground

**Always background** tasks that might take >30 seconds:
- Any task touching multiple files
- Investigation/debugging tasks
- Tasks requiring test runs
- Feature implementations

Use `run_in_background: true` in the Bash tool call.

**After backgrounding:**
- Inform the user the task is running
- Do NOT immediately check output
- Wait for user to ask about status, OR continue with other work
- When checking, use the token-efficient methods below

**Foreground only** for trivial tasks (<30 seconds expected):
- Single-line fixes
- Simple file reads
- Quick queries

### Monitoring Execution

Two files are created:
- `progress-*.jsonl` - Streaming JSONL (verbose, for progress checking)
- `summary-*.txt` - Final message only (clean, for results)

**Token-efficient monitoring** (CRITICAL):

```bash
# Check if still running (line count growing = active)
wc -l < ~/.claude/codex/${CLAUDE_SESSION_ID}/progress-*.jsonl

# Quick progress check - last 3 events only
tail -n 3 ~/.claude/codex/${CLAUDE_SESSION_ID}/progress-*.jsonl

# Check if summary exists (means Codex finished)
ls ~/.claude/codex/${CLAUDE_SESSION_ID}/summary-*.txt 2>/dev/null
```

**Do NOT:**
- Read the entire progress file
- Use `tail -f` (streams indefinitely, wastes context)
- Check more than once per 30 seconds for long tasks

**When checking on background tasks:**
1. First: check if summary file exists (finished?)
2. If not finished: `wc -l` on progress file to confirm activity
3. If needed: `tail -n 3` on progress for current status

## Return Result

When Codex completes:

1. **Read the summary file** (already contains only the final message):
   ```bash
   cat ~/.claude/codex/${CLAUDE_SESSION_ID}/summary-*.txt
   ```
2. Parse Codex's structured summary
3. Report concisely to the user (3-6 sentences or ≤5 bullets)

Format:

```
## Codex Result

**Status:** {success/error/partial}

**What changed:**
- {file1}: {change summary}
- {file2}: {change summary}

**Validation:** {tests/linters run, results}

**Risks/Notes:** {if any, otherwise omit}

**Next steps:** {if any, otherwise "None"}
```

Keep the summary concise. If Codex produced verbose output, distill to essentials.

## Examples

### Simple fix
```
/codex fix the null pointer in utils/parser.ts line 42
```
Minimal context, quick execution.

### Feature implementation
```
/codex add rate limiting to the /api/submit endpoint
```
Medium context, may take a few minutes.

### Investigation
```
/codex investigate why the CI build fails on arm64
```
Full context, potentially long-running, consider backgrounding.

### With model override (only when explicitly requested)
```
/codex --model o3 design a caching strategy for the database queries
```

### Read-only mode (for review/analysis tasks)
```
/codex --sandbox read-only review the authentication implementation
```
Skips `--full-auto`, uses read-only sandbox for safe exploration.

Files in this skill

  • SKILL.md8.2 KB
  • description_cn.txt220 B
  • description_de.txt307 B
  • description_en.txt210 B
  • description_es.txt250 B
  • description_fr.txt292 B
  • description_ja.txt340 B
  • description_ko.txt283 B
  • description_tw.txt220 B

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…