# Codex Ab

Run an A/B codex review experiment, holistic codex review vs 3 focused dimension...

- Repository: https://github.com/oliver-kriska/claude-elixir-phoenix (572 stars)
- Category: Security
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add oliver-kriska/claude-elixir-phoenix --skill codex-ab -g -a claude-code -y`
Codex: `npx skills add oliver-kriska/claude-elixir-phoenix --skill codex-ab -g -a codex -y`
Cursor: `npx skills add oliver-kriska/claude-elixir-phoenix --skill codex-ab -g -a cursor -y`
Gemini CLI: `npx skills add oliver-kriska/claude-elixir-phoenix --skill codex-ab -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add oliver-kriska/claude-elixir-phoenix`

## Description

Run an A/B codex review experiment, holistic codex review vs 3 focused dimension passes (security, ecto, liveview) on the branch diff, classify findings, report a panel-value verdict. Use when the branch is fresh, before any codex review runs.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Codex Panel A/B (contributor instrument, verdict decided)

Answer one question with evidence: **do dimension-focused codex passes find
real issues that one holistic `codex exec review` misses?** Runs both on the
same diff, then classifies every focused finding against the holistic pass.

> **DECIDED 2026-07-10 after 4 runs (2 fresh): panel KILLED.** Fresh-only
> 1 real miss / 1 false positive plus one zero-value run at 4× cost, > real misses did not outnumber FPs. Kept as contributor tooling (NOT
> distributed) for one possible retest: a UI-heavy diff with a single
> extra liveview-focused pass (2× cost). Scoreboard:
> `.claude/research/2026-07-03-codex-review-integration.md` §7.

## Usage

```
/codex-ab            # A/B against main (~5 min, 4 codex runs)
/codex-ab develop    # explicit base branch
```

## Iron Laws

1. **FRESH DIFF ONLY**, ask the user to confirm this branch has NOT been
   codex-reviewed yet (cloud or `/phx:codex-loop`). A drained diff returns
   NO FINDINGS everywhere and proves nothing, wasted quota
2. **Verify every REAL MISS in the code before counting it**, a focused
   finding only scores if the issue actually exists at that file:line
3. **Read ONLY the findings `.md` files**, streams are diverted to `.log`
   files; never cat a log into context (10k+ lines each)
4. **Exactly 4 codex runs, never re-run dimensions**, bounded quota
5. **Persist the verdict**, an unrecorded experiment is wasted quota

## Workflow

### Step 1: Preflight

Run `command -v codex`, missing → STOP with install hint. Then:

- `git status --short` dirty → warn (codex flags local dirt as findings)
- Ask: "Has codex already reviewed this branch (PR review or codex-loop)?"
  If yes → STOP, explain the fresh-diff requirement (Iron Law 1)

### Step 2: Run the A/B (background, ~5 min)

```bash
bash ${CLAUDE_SKILL_DIR}/scripts/codex-panel-ab.sh {base} \
  .claude/reviews/codex-ab-$(date +%Y-%m-%d-%H%M)
```

The rest: https://github.com/oliver-kriska/claude-elixir-phoenix/blob/HEAD/.claude/skills/codex-ab/SKILL.md
