Cross-Vendor Code Review
Has two model families review a diff and refute each other for high-confidence findings.
Install
npx skills add basicmachines-co/basic-memory --skill adversarial-review -g -a claude-code -y- Repository
- basicmachines-co/basic-memory4.4k
- Category
- Git and review
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 1,837 tokens
- Runs scripts
- No, instructions only
What it does
Cross-vendor adversarial code review of the current branch. Two different model families (Claude + Codex/GPT) review the diff independently, then try to refute each other's findings; survivors are reported by confidence. Runs from either Claude Code or Codex. Use when the user asks for an adversarial review, a cross-model / second-opinion review, or wants high-confidence findings before merging. Report-only, never auto-applies fixes.
Adversarial code review
Two reviewers from different model families, Claude and Codex/GPT, review the same diff independently, then each tries to refute the other's findings. A finding's confidence comes from whether it survives that cross-examination. This kills the two failure modes of solo LLM review: self-ratification (a model won't critique its own work) and confident false positives.
You are the orchestrator, and one of the two reviewers
This skill runs from either Claude Code or Codex. First, identify which model family you are (Claude or Codex/GPT). Then:
- You are reviewer #1. You review natively, in this session, using your own tools.
- The other family is reviewer #2. You invoke it as a subprocess CLI for an independent pass: a fresh process, no shared context, that independence is the point.
The CLI for "the other model":
| If you are… | Invoke the other via… |
|---|---|
| Claude | codex exec (GPT) |
| Codex | claude -p (Claude) |
Everything else in the flow is symmetric. Resolve the prompts/ and schemas/ paths
below relative to this skill's own directory (where this SKILL.md lives).
Inputs
Two independent, optional inputs:
BASE, the ref to diff against. Defaultmain.SCOPE, a pathspec to narrow the review (e.g.src/basic_memory). Default: none (whole diff).
These are separate: a ref and a pathspec are not interchangeable. Build the canonical diff
command once in preflight and reuse it everywhere below, never re-spell the diff inline
(the scattered, inconsistent spelling is what broke earlier). Build it as an argv array,
not a string, so a $SCOPE containing spaces or glob characters survives intact:

