Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Get an independent code review from OpenAI Codex (GPT-5) on uncommitted changes, a branch diff, a PR, or a specific module — returns findings grouped by severity with file:line references. Use when the user says "review this", "review my changes", "check this PR", "what did I miss", or before they commit or merge something substantial.
.claude/skills/sateezg-code-review-by-codex/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -43% | 0% |
An independent reviewer that hasn't seen this conversation is genuinely useful: it won't inherit your assumptions about the change. Use it as a second pass, not a replacement for your own read.
bashgit -C <repo> diff # uncommitted, unstaged git -C <repo> diff --staged # staged git -C <repo> diff main...HEAD # whole branch vs main git -C <repo> diff --stat main...HEAD # size check first
Check the size before sending. Under ~1500 changed lines, pipe the diff in directly. Larger than that, point Codex at the files instead and let it read selectively — a giant pasted diff degrades the review.
Small or medium change — pipe the diff as the prompt body:
bash{ echo "Review this diff as a senior engineer on this codebase. Report findings grouped by severity (Critical / Major / Minor / Nit). For each: file:line, what's wrong, and the concrete fix. Focus on correctness, security, error handling, race conditions, and missed edge cases. Skip style unless it hides a bug. If you find nothing at a severity level, say so rather than inventing findings."; echo; git -C <repo> diff main...HEAD; } | codex-run -C <repo> --timeout 1200 -
Large change or a whole module — let Codex read the tree itself:
bashcodex-run -C <repo> --timeout 1800 \ "Review the changes on this branch versus main (run git diff main...HEAD yourself, and read the surrounding files for context). Report findings grouped by severity (Critical/Major/Minor/Nit) with file:line and a concrete fix for each. Prioritise correctness, security, error handling, and missed edge cases."
Both run read-only — Codex cannot modify the working tree.
reviews without conversation context and will sometimes flag intentional behaviour, or cite a line that doesn't say what it claims. A review that forwards false positives is worse than no review.
findings you checked and disagree with (say why), and anything you couldn't verify.
for fixes, apply them yourself — you have the conversation context.
-s workspace-write for a review.For a review that also needs follow-up investigation across the repo, use the codex-reviewer subagent instead so the exploration stays out of this context.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 10,344 | 15,866 | +53% | 1 | 1 | 0% | 320 | 1,079 | +237% | 0 | 0 | — |
case-19 | pass→pass | 9,778 | 3,372 | -66% | 1 | 1 | 0% | 1,392 | 1,115 | -20% | 0 | 0 | — |
case-02 | fail→fail | 17,916 | 16,793 | -6% | 1 | 1 | 0% | 2,122 | 1,048 | -51% | 0 | 0 | — |
case-03 | fail→fail | 17,229 | 28,042 | +63% | 1 | 1 | 0% | 1,652 | 938 | -43% | 0 | 0 | — |
case-04 | pass→fail | 16,228 | 11,051 | -32% | 1 | 1 | 0% | 3,895 | 950 | -76% | 0 | 0 | — |
case-05 | pass→pass | 10,255 | 4,002 | -61% | 1 | 1 | 0% | 824 | 1,202 | +46% | 0 | 0 | — |
case-18 | fail→pass | 11,360 | 3,155 | -72% | 1 | 1 | 0% | 1,001 | 1,193 | +19% | 0 | 0 | — |
case-06 | pass→pass | 16,850 | 14,759 | -12% | 1 | 1 | 0% | 2,108 | 2,854 | +35% | 0 | 0 | — |
case-07 | fail→pass | 7,802 | 8,218 | +5% | 1 | 1 | 0% | 1,339 | 1,123 | -16% | 0 | 0 | — |
case-08 | fail→pass | 14,167 | 3,501 | -75% | 1 | 1 | 0% | 1,636 | 1,268 | -22% | 0 | 0 | — |
case-09 | fail→pass | 10,542 | 11,449 | +9% | 1 | 1 | 0% | 1,734 | 1,461 | -16% | 0 | 0 | — |
case-10 | pass→pass | 14,696 | 4,056 | -72% | 1 | 1 | 0% | 1,638 | 1,392 | -15% | 0 | 0 | — |
case-11 | pass→pass | 17,920 | 6,620 | -63% | 1 | 1 | 0% | 1,778 | 1,701 | -4% | 0 | 0 | — |
case-12 | fail→pass | 11,134 | 6,766 | -39% | 1 | 1 | 0% | 1,713 | 983 | -43% | 0 | 0 | — |
case-13 | pass→pass | 11,376 | 2,509 | -78% | 1 | 1 | 0% | 893 | 1,014 | +14% | 0 | 0 | — |
case-14 | fail→pass | 17,224 | 5,694 | -67% | 1 | 1 | 0% | 1,847 | 1,551 | -16% | 0 | 0 | — |
case-15 | pass→pass | 16,058 | 10,075 | -37% | 1 | 1 | 0% | 1,849 | 1,374 | -26% | 0 | 0 | — |
case-16 | pass→pass | 11,350 | 3,843 | -66% | 1 | 1 | 0% | 1,019 | 1,291 | +27% | 0 | 0 | — |
case-17 | pass→fail | 13,943 | 9,322 | -33% | 1 | 1 | 0% | 1,273 | 1,317 | +3% | 0 | 0 | — |
case-20 | fail→pass | 18,383 | 15,382 | -16% | 1 | 1 | 0% | 2,056 | 2,128 | +4% | 0 | 0 | — |
case-21 | pass→pass | 9,975 | 11,603 | +16% | 1 | 1 | 0% | 1,242 | 1,639 | +32% | 0 | 0 | — |
case-22 | pass→pass | 9,640 | 8,685 | -10% | 1 | 1 | 0% | 755 | 1,269 | +68% | 0 | 0 | — |
case-23 | fail→pass | 11,524 | 1,989 | -83% | 1 | 1 | 0% | 940 | 1,019 | +8% | 0 | 0 | — |
case-24 | fail→pass | 13,470 | 2,000 | -85% | 1 | 1 | 0% | 1,978 | 908 | -54% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 20 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +29 percentage points is the difference between those two pass rates over the 20 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.