# /codex:review vs /codex:adversarial-review: Key Differences in OpenAI's Codex Plugin

> Understand the key differences between OpenAI's /codex:review and /codex:adversarial-review commands. Discover how each approach enhances your code quality.

- Repository: [OpenAI/codex-plugin-cc](https://github.com/openai/codex-plugin-cc)
- Tags: deep-dive
- Published: 2026-07-10

---

**The `/codex:review` command performs a standard code review for implementation defects and style issues, while `/codex:adversarial-review` actively challenges design decisions and accepts optional focus arguments to target specific concerns.**

In the openai/codex-plugin-cc repository, both commands are review-only slash commands that run through the shared plugin runtime, but they serve fundamentally different purposes in the code review workflow. Understanding the difference between `/codex:review` and `/codex:adversarial-review` helps you select the appropriate level of scrutiny for your changes, from straightforward bug checking to adversarial design challenges.

## Core Purpose and Framing Philosophy

### Standard Review Command

The `/codex:review` command provides a neutral, straightforward code review focused on implementation defects, style issues, and bugs. According to the command definition in [`plugins/codex/commands/review.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/commands/review.md), this command does **not** accept extra free-form focus arguments, maintaining a consistent scope across all runs.

### Adversarial Review Command

In contrast, `/codex:adversarial-review` explicitly frames the review as a challenge to your current approach. As defined in [`plugins/codex/commands/adversarial-review.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/commands/adversarial-review.md), this command encourages the model to surface design-level concerns, question trade-offs, and scrutinize underlying assumptions rather than simply checking for correctness.

## Command Syntax and Flag Support

Both commands share identical base flags and execution modes, but differ in their handling of trailing arguments:

- **Shared flags**: Both support `--wait`, `--background`, `--base <ref>`, and `--scope auto|working-tree|branch`
- **Focus text**: Only `/codex:adversarial-review` accepts optional free-form focus arguments after the flags

## The Focus Argument (Adversarial-Review Only)

The key syntactic difference lies in the optional focus parameter. When running an adversarial review, you can append specific concerns to narrow the review scope:

```bash
/codex adversarial-review --scope branch --base main performance security

```

In this example, the trailing words `performance` and `security` become the focus argument, directing the review to scrutinize those specific aspects. This functionality is absent in the standard review command.

## Shared Runtime and Execution Flow

Despite their different philosophies, both commands invoke the same runtime script with different subcommands. According to the source in `plugins/codex/scripts/codex-companion.mjs`, the execution splits based on the command type:

- **Standard review**: `node …/codex-companion.mjs review "$ARGUMENTS"`
- **Adversarial review**: `node …/codex-companion.mjs adversarial-review "$ARGUMENTS"`

Both commands follow the identical "size-estimate → ask user" flow. If no `--wait` or `--background` flag is supplied, the plugin estimates the diff size and recommends either "Wait for results" (for tiny diffs) or "Run in background" (for larger work), marking the recommended option accordingly.

## Implementation Details and Prompt Templates

The distinct behaviors stem from different prompt templates in the repository:

- **Standard review**: Uses [`plugins/codex/prompts/stop-review-gate.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/prompts/stop-review-gate.md) for normal review framing
- **Adversarial review**: Uses [`plugins/codex/prompts/adversarial-review.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/prompts/adversarial-review.md) to shape the "challenge" tone

Both commands maintain the same constraints: they are review-only operations that provide verbatim output without patching or fixing code.

## Practical Usage Examples

Basic foreground execution for standard review:

```bash
/codex review --wait

```

Adversarial review against a specific branch:

```bash
/codex adversarial-review --wait --base main

```

Background execution with working-tree scope:

```bash
/codex adversarial-review --scope working-tree

```

Adversarial review with specific focus areas:

```bash
/codex adversarial-review --base develop performance security

```

## Summary

- **Primary distinction**: `/codex:review` checks for bugs and style issues, while `/codex:adversarial-review` challenges design decisions and assumptions
- **Syntax difference**: Only the adversarial variant accepts optional focus text to target specific concerns
- **Shared infrastructure**: Both commands use `codex-companion.mjs` and support identical flags (`--wait`, `--background`, `--base`, `--scope`)
- **Execution flow**: Both follow the same size-estimation and recommendation logic for foreground vs background execution
- **Prompt sourcing**: Different prompt templates in `plugins/codex/prompts/` define the distinct review tones

## Frequently Asked Questions

### Can I use focus arguments with `/codex:review`?

No, the standard review command defined in [`plugins/codex/commands/review.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/commands/review.md) does not accept extra free-form focus arguments. This functionality is exclusive to `/codex:adversarial-review`, which optionally accepts trailing text to direct the review toward specific concerns like "performance" or "security".

### Do both commands support background execution?

Yes, both commands support the `--background` flag and the `--wait` flag. When neither flag is provided, both commands trigger the same size-estimation logic that recommends either waiting for results or running in a background task based on the diff size.

### Which prompt template does the adversarial review use?

The adversarial review uses the template defined in [`plugins/codex/prompts/adversarial-review.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/prompts/adversarial-review.md), which frames the review as an active challenge to the current implementation approach. The standard review uses [`plugins/codex/prompts/stop-review-gate.md`](https://github.com/openai/codex-plugin-cc/blob/main/plugins/codex/prompts/stop-review-gate.md) instead.

### Can I run an adversarial review against a specific git branch?

Yes, both commands support the `--base <ref>` flag. For example, `/codex adversarial-review --base main` runs the adversarial review comparing your current state against the main branch, applying the same scope selection logic as the standard review command.