Get code reviews and second opinions using OpenAI Codex CLI (GPT-5.3). Use for reviewing code changes, getting alternative perspectives on implementations, or validating approaches with another AI model.
Use OpenAI's Codex CLI to get code reviews, plan evaluations, and second opinions. This provides an independent AI perspective using GPT-5.5 or o3 models.
Trigger when user:
/codex command explicitlyCodex CLI must be installed and authenticated:
# Check installation
which codex
# Login if needed
codex login
Follow these when constructing Codex prompts. Better prompts beat higher reasoning effort.
<task>, an output contract, and grounding rules instead of bare string instructions.<verification_loop> instead of saying "think harder."<grounding_rules> so Codex labels speculation explicitly.After presenting Codex findings, STOP. Do not make any code changes. Do not fix any issues. Ask the user which issues, if any, they want fixed before touching a single file. Auto-applying fixes from a review is strictly forbidden, even if the fix is obvious.
ALWAYS ask the user what they want reviewed:
Use AskUserQuestion to clarify:
Scope: What should be reviewed?
Model: Which model to use?
gpt-5.5 - Fast, good quality (default)o3 - Deep analysis, complex reasoning (slower)Use the prompt templates below to construct a structured prompt. Pick the closest template, fill in the specifics, and trim anything unnecessary.
IMPORTANT: Always use --sandbox workspace-write (NOT --full-auto, which is deprecated and triggers a warning).
CRITICAL: Pass the prompt as a direct string argument, NOT via heredoc or command substitution. Using $(cat <<'EOF' ... EOF) or piping causes Codex to hang waiting for stdin. Always pass the prompt inline as a quoted string argument to the command.
CRITICAL: Always close stdin with < /dev/null. When Codex is launched by an agent harness (Claude Code Bash tool, especially in background mode), the parent's stdin remains attached. Codex then sits indefinitely waiting for stdin input — 0% CPU, 0 bytes of output, never finishes. Append < /dev/null to every codex exec and codex review invocation. Without this, expect 30+ minute hangs.
See Execution Modes and Prompt Templates below.
After review completes, save output to markdown file:
codex_review_YYYYMMDD_HHMMSS.mdcodex exec saves directly with -o filename.md; codex review has no -o, so redirect its stdout to a file (… < /dev/null > filename.md)codex review --uncommitted -c model="MODEL" < /dev/null
codex review --base BRANCH -c model="MODEL" < /dev/null
codex review --commit SHA -c model="MODEL" < /dev/null
codex reviewflags differ fromcodex exec. It sets the model via-c model="…"(no-m), is read-only (no--sandbox), and has no-o(redirect stdout to save). The scope flags (--uncommitted/--base/--commit) are mutually exclusive with a custom prompt — to add review focus, drop the scope flag and pass instructions as a prompt:codex review -c model="MODEL" "Review the uncommitted changes, focusing on X" < /dev/null.
codex exec --sandbox workspace-write -m MODEL "STRUCTURED_PROMPT" < /dev/null
codex exec --sandbox workspace-write -m MODEL "STRUCTURED_PROMPT" < /dev/null
codex exec --sandbox workspace-write -m MODEL "STRUCTURED_PROMPT" < /dev/null
Use these XML-tagged templates as the prompt string passed to Codex. Copy the closest template, fill in specifics, and trim what you don't need.
Use for evaluating implementation plans, architecture decisions, or multi-step proposals.
<task>
Evaluate this implementation plan against the codebase for feasibility, completeness, and risks.
Plan:
PLAN_CONTENT_HERE
</task>
<structured_output_contract>
Return:
1. feasibility issues (ordered by severity)
2. missing steps or edge cases
3. risks and tradeoffs
4. suggested improvements
5. open questions
</structured_output_contract>
<grounding_rules>
Ground every claim in the repository context or tool outputs.
If a point is an inference, label it clearly.
Do not invent problems that are not supported by the codebase.
</grounding_rules>
<verification_loop>
Before finalizing, verify that each concern is material and actionable, not speculative.
</verification_loop>
Use for reviewing diffs, uncommitted changes, or specific files.
<task>
Review this change for material correctness and regression risks.
Focus areas: FOCUS_AREAS_HERE
</task>
<structured_output_contract>
Return:
1. findings ordered by severity
2. supporting evidence for each finding
3. brief next steps
</structured_output_contract>
<grounding_rules>
Ground every claim in the repository context or tool outputs.
If a point is an inference, label it clearly.
</grounding_rules>
<dig_deeper_nudge>
Check for second-order failures, empty-state handling, retries, stale state, and rollback paths before finalizing.
</dig_deeper_nudge>
<verification_loop>
Before finalizing, verify that each finding is material and actionable.
</verification_loop>
Use for "should we use X or Y" or "evaluate this approach" questions.
<task>
Research the available options and recommend the best path.
Context: CONTEXT_HERE
</task>
<structured_output_contract>
Return:
1. observed facts
2. reasoned recommendation
3. tradeoffs
4. open questions
</structured_output_contract>
<research_mode>
Separate observed facts, reasoned inferences, and open questions.
Prefer breadth first, then go deeper only where the evidence changes the recommendation.
</research_mode>
<citation_rules>
Back important claims with explicit references to the sources you inspected.
Prefer primary sources.
</citation_rules>
Use when something is broken and you want Codex to find the root cause.
<task>
Diagnose why the failing test or command is breaking in this repository.
Failure: FAILURE_DESCRIPTION_HERE
</task>
<compact_output_contract>
Return:
1. most likely root cause
2. evidence
3. smallest safe next step
</compact_output_contract>
<default_follow_through_policy>
Keep going until you have enough evidence to identify the root cause confidently.
Only stop to ask questions when a missing detail changes correctness materially.
</default_follow_through_policy>
<verification_loop>
Before finalizing, verify that the proposed root cause matches the observed evidence.
</verification_loop>
<missing_context_gating>
Do not guess missing repository facts.
If required context is absent, state exactly what remains unknown.
</missing_context_gating>
Every command below appends < /dev/null. Do not omit it — see "Prompt Rules" above for why.
# Review uncommitted changes
codex review --uncommitted -c model="gpt-5.5" < /dev/null
# Review with a custom focus (prompt mode — no scope flag)
codex review -c model="gpt-5.5" "Review the uncommitted changes. <xml-tagged prompt>" < /dev/null
# Review against main branch
codex review --base main -c model="gpt-5.5" < /dev/null
# Review specific commit
codex review --commit abc123 -c model="gpt-5.5" < /dev/null
# Review with title context
codex review --uncommitted --title "Add user authentication" -c model="gpt-5.5" < /dev/null
# Evaluate an implementation plan
codex exec --sandbox workspace-write -m gpt-5.5 "<plan evaluation prompt>" < /dev/null
# Get architecture opinion
codex exec --sandbox workspace-write -m o3 "<research opinion prompt>" < /dev/null
# Review specific files
codex exec --sandbox workspace-write -m gpt-5.5 -C /path/to/project "<code review prompt>" < /dev/null
# Save output to file (preferred)
codex exec --sandbox workspace-write -m gpt-5.5 -o review_output.md "<prompt>" < /dev/null
# Or capture full output (codex review has no -o; redirect or tee)
codex review --uncommitted -c model="gpt-5.5" < /dev/null > review.md 2>&1
User: Evaluate my plan for adding auth
Claude asks: Which model? What specific concerns?
User: gpt-5.5, focus on security
Claude builds XML prompt with plan content, executes:
codex exec --sandbox workspace-write -m gpt-5.5 -o codex_review_20260111_140000.md "<plan eval prompt>" < /dev/null
Reports findings. STOPS. Asks user what to act on.
User: Review my changes before I commit
Claude asks: What model? Any focus areas?
User: gpt-5.5
Claude executes:
codex review --uncommitted -c model="gpt-5.5" < /dev/null > codex_review_20260111_140000.md
Reports findings. STOPS. Asks user what to fix.
User: Review my feature branch against main
Claude executes:
codex review --base main -c model="gpt-5.5" < /dev/null > codex_review_feature.md
Reports findings. STOPS. Asks user what to act on.
| Model | Best For | Speed |
|-------|----------|-------|
| gpt-5.5 | General reviews, quick feedback | Fast |
| o3 | Deep analysis, complex reasoning | Slower |
When triggered, ask:
Question 1: "What would you like Codex to evaluate?"
Options:
- Uncommitted changes (git working tree)
- Changes against a branch
- Specific file(s)
- An implementation plan
- General question/second opinion
Question 2: "Which model should I use?"
Options:
- gpt-5.5 (faster, default)
- o3 (more thorough)
| Error | Solution |
|-------|----------|
| Not logged in | Run codex login |
| Not in git repo | Use -C /path or --skip-git-repo-check |
| Model not available | Fall back to gpt-5.5 |
| Timeout | Try with smaller scope or faster model |
| Hangs / "Reading additional input from stdin" | Prompt was passed via heredoc or $(cat ...). Pass it as a direct inline string argument instead. |
| Hangs silently with 0% CPU, 0-byte output, no error | Stdin not closed. Append < /dev/null to the invocation. This is the most common hang when codex is launched by an agent harness in background mode. |
| --full-auto is deprecated warning | Use --sandbox workspace-write instead (already updated in this skill). |
When running outside a git repository, use --skip-git-repo-check:
codex exec --sandbox workspace-write --skip-git-repo-check -m gpt-5.5 "<prompt>" < /dev/null
--sandbox workspace-write: Prevents interactive confirmation prompts (--full-auto is deprecated)$(cat <<'EOF' ... EOF)) and command substitution cause Codex to hang waiting for stdin< /dev/null: Without it, codex hangs indefinitely (0% CPU, 0-byte output) when launched by an agent harness, especially in background mode. This is the single most common cause of "codex is stuck"Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer