codex-plugin-cc/plugins/codex/commands/review.md
Dominik Kundel c69527eb18
Initial commit
Co-authored-by: Codex <noreply@openai.com>
2026-03-30 09:42:33 -07:00

3.1 KiB

description argument-hint disable-model-invocation allowed-tools
Run a Codex code review against local git state [--wait|--background] [--base <ref>] [--scope auto|working-tree|branch] true Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion

Run a Codex review through the shared built-in reviewer.

Raw slash-command arguments: $ARGUMENTS

Core constraint:

  • This command is review-only.
  • Do not fix issues, apply patches, or suggest that you are about to make changes.
  • Your only job is to run the review and return Codex's output verbatim to the user.

Execution mode rules:

  • If the raw arguments include --wait, do not ask. Run the review in the foreground.
  • If the raw arguments include --background, do not ask. Run the review in a Claude background task.
  • Otherwise, estimate the review size before asking:
    • For working-tree review, start with git status --short --untracked-files=all.
    • For working-tree review, also inspect both git diff --shortstat --cached and git diff --shortstat.
    • For base-branch review, use git diff --shortstat <base>...HEAD.
    • Treat untracked files or directories as reviewable work even when git diff --shortstat is empty.
    • Only conclude there is nothing to review when the relevant working-tree status is empty or the explicit branch diff is empty.
    • Recommend waiting only when the review is clearly tiny, roughly 1-2 files total and no sign of a broader directory-sized change.
    • In every other case, including unclear size, recommend background.
    • When in doubt, run the review instead of declaring that there is nothing to review.
  • Then use AskUserQuestion exactly once with two options, putting the recommended option first and suffixing its label with (Recommended):
    • Wait for results
    • Run in background

Argument handling:

  • Preserve the user's arguments exactly.
  • Do not strip --wait or --background yourself.
  • Do not add extra review instructions or rewrite the user's intent.
  • The companion script parses --wait and --background, but Claude Code's Bash(..., run_in_background: true) is what actually detaches the run.
  • /codex:review is native-review only. It does not support staged-only review, unstaged-only review, or extra focus text.
  • If the user needs custom review instructions or more adversarial framing, they should use /codex:adversarial-review.

Foreground flow:

  • Run:
node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" review "$ARGUMENTS"
  • Return the command stdout verbatim, exactly as-is.
  • Do not paraphrase, summarize, or add commentary before or after it.
  • Do not fix any issues mentioned in the review output.

Background flow:

  • Launch the review with Bash in the background:
Bash({
  command: `node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" review "$ARGUMENTS"`,
  description: "Codex review",
  run_in_background: true
})
  • Do not call BashOutput or wait for completion in this turn.
  • After launching the command, tell the user: "Codex review started in the background. Check /codex:status for progress."