Codex Review

by jezweb64965d9d9fc7No license1K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 3 days ago

Run an independent code review using the OpenAI Codex CLI in headless mode. Gets a second opinion from a different model family (the current Codex models) on recent changes, a PR, a commit, or the whole app — covering bugs, regressions, security, data consistency, UX/state bugs, performance risks, and testing gaps. Saves a severity-prioritised report to .jez/reviews/. Triggers: 'codex review', 'review with codex', 'independent code review', 'what does codex think', 'get codex to review'.

Instructions onlySoftware Development
AI-generated overview

Runs an independent code review through the OpenAI Codex CLI and saves a severity-prioritised report.

What it does
This skill guides an agent to invoke the OpenAI Codex CLI in headless mode to obtain a second-opinion code review from a different model family. It selects a review scope (whole app at HEAD, uncommitted changes, a base branch, or a specific commit), pipes a neutral review prompt via stdin, and saves the output to a timestamped file under .jez/reviews/. It then reads the report and surfaces the top Critical and High findings with file:line references, offering to fix them only with user approval.
When to use it
Use it after a meaningful change or before committing or opening a pull request, when an independent review is wanted. It also suits periodic whole-app reviews or cases where something feels off but is hard to articulate. It is not intended for trivial edits, architecture discussions, or automatic fixes.
Requirements
Requires the OpenAI Codex CLI installed and authenticated (codex login), plus shell access to run commands and write files. It ships no scripts; it relies on a prompt.md file and network access to the Codex service.

Codex Review

Run an independent code review via the OpenAI Codex CLI (codex review). The value is a second opinion from a different model family than the one that wrote the code — Codex catches things Claude misses due to author bias.

Complements brains-trust (generic multi-model opinions). This skill is specialised: git-aware, uses a tuned review prompt, saves structured output.

When to Use

  • After a meaningful change, before committing or shipping
  • Before opening a PR, to self-review with an independent reviewer
  • When something feels off but you can't articulate what
  • Periodic whole-app reviews for projects in active development
  • When the user explicitly asks for an "independent" or "second opinion" review

Do NOT use for:

  • Trivial changes (typos, one-line fixes)
  • Research questions or architecture discussions — use brains-trust instead
  • Auto-fixing issues — this is advisory only

Preflight

  1. Confirm Codex CLI is installed:

    bash
    which codex

    If missing: tell the user to install it (brew install codex on macOS, or see https://github.com/openai/codex) and stop. Do not continue.

  2. Confirm auth: the first codex review call will fail clearly if not logged in. If that happens, instruct the user to run codex login and stop.

Determine scope

Pick the scope flag based on what the user asked for:

User intentFlag
"codex review" / "review the app" / "full review" / defaultno flag (reviews whole app at current HEAD)
"review my changes" / "review what I just did" / "review uncommitted"--uncommitted
"review this branch vs main" / "review the PR"--base main (or the branch they name)
"review commit abc123"--commit abc123

Default is whole-app review. A bare "codex review" with no qualifier means review the entire codebase at HEAD — not just uncommitted changes. Only use --uncommitted if the user specifically refers to their recent/uncommitted work.

If ambiguous, ask once. Don't guess on commits or branches.

Run the review

The canonical review prompt lives in prompt.md next to this skill. Pipe it via stdin to avoid shell escaping:

bash
mkdir -p .jez/reviewsTS=$(date +%Y-%m-%d-%H%M)OUT=".jez/reviews/codex-${TS}.md"SKILL_DIR="$(dirname "$0")"  # or use the skill's absolute path
# Example: uncommitted changescat "${SKILL_DIR}/prompt.md" | codex review --uncommitted - 2>&1 | tee "$OUT"

Other scopes:

bash
# Vs base branchcat prompt.md | codex review --base main - 2>&1 | tee "$OUT"
# Specific commitcat prompt.md | codex review --commit abc123 - 2>&1 | tee "$OUT"
# Current HEAD (no scope flag)cat prompt.md | codex review - 2>&1 | tee "$OUT"

codex review can take several minutes on a large diff. Let it run.

Summarise for the user

After Codex finishes:

  1. Print the output path: Report saved to .jez/reviews/codex-<timestamp>.md
  2. Read the saved report and extract the top findings (anything under Critical and High)
  3. Show them inline in the chat, with file:line references intact
  4. Offer to action specific findings: "Want me to fix the SQL injection in auth.ts:42?"

Rules

  • Advisory only. Never auto-apply Codex's suggestions. Read the findings, discuss with the user, fix with their approval.
  • Don't leak Claude's reasoning into the prompt. The prompt.md file is deliberately neutral — Codex reviews the code, not Claude's narrative about the code. Independence is the whole point.
  • Save to .jez/reviews/, never .claude/ (protected directory).
  • One report per run. Don't overwrite — the timestamp makes each run unique so the user can compare.
  • Report what Codex actually found. Don't soften, editorialise, or skip findings you disagree with. If you think Codex is wrong about something, say so as your own opinion after showing what Codex said.

Verification

The skill is working if:

  • Preflight correctly detects a missing codex binary
  • The right scope flag is chosen based on user intent
  • The report file appears in .jez/reviews/ with a sensible timestamp
  • The file contains severity-prioritised findings with file:line refs
  • Claude surfaces the top findings without auto-fixing them

Source and attribution

Source:jezweb/claude-skillsinplugins/dev-tools/skills/codex-reviewat commit64965d9

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal