codeflash-agent/plugin/commands/codex-review.md
Kevin Turcios 3b59d97647 squash
2026-04-13 14:12:17 -05:00

3.1 KiB

description argument-hint disable-model-invocation allowed-tools
Run a Codex adversarial review that challenges the implementation approach and design choices [--wait|--background] [--base <ref>] [--scope auto|working-tree|branch] [focus ...] true Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion

Run an adversarial Codex review through the codex companion runtime. Position it as a challenge review that questions the chosen implementation, design choices, tradeoffs, and assumptions. It is not just a stricter pass over implementation defects.

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.
  • Keep the framing focused on whether the current approach is the right one, what assumptions it depends on, and where the design could fail under real-world conditions.

Execution mode rules:

  • If the raw arguments include --wait, do not ask. Run in the foreground.
  • If the raw arguments include --background, do not ask. Run 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 for auto or working-tree review even when git diff --shortstat is empty.
    • Only conclude there is nothing to review when the relevant scope is actually empty.
    • Recommend waiting only when the scoped 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 weaken the adversarial framing or rewrite the user's focus text.

Foreground flow:

  • Run:
node "${CLAUDE_PLUGIN_ROOT}/vendor/codex/scripts/codex-companion.mjs" adversarial-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}/vendor/codex/scripts/codex-companion.mjs" adversarial-review $ARGUMENTS`,
  description: "Codex adversarial review",
  run_in_background: true
})
  • Do not call BashOutput or wait for completion in this turn.
  • After launching the command, tell the user: "Codex adversarial review started in the background. Check /codex-status for progress."