A pattern that spread through practitioner feeds this autumn: Claude Code writes the change, then calls codex exec to review the diff before saying it is finished, or the other way round. It works because the reviewer is a different model and cannot edit what it judges. This loadout sets when a second opinion is worth it, keeps the reviewer read-only, gives a prompt that asks for ranked, located findings, and caps the loop at two rounds so it cannot spin.
What's in it
- When a second opinion is worth the time, and when to skip it
- Exact read-only commands for codex exec and claude -p
- Prompt template that returns ranked path:line findings
- Findings are verified against code, never applied blindly
- Hard cap of two rounds, then escalate to the human
You'll need
- Tools:
git
Verification
| Check | Result | What we found |
|---|---|---|
| Listinglisting.yaml matches the schema and declares every file in the folder. | Pass | Schema valid; 5 files declared, none missing or extra
|
| Files parseJSON parses; SKILL.md and .mdc front matter is valid YAML with the fields each agent needs; code fences are closed. | Pass | All 5 files parse; front matter valid |
| AdaptersCLAUDE.md imports @AGENTS.md, GEMINI.md imports @./AGENTS.md, and both match the generator. | Pass | CLAUDE.md and GEMINI.md import AGENTS.md and are up to date
|
| Install pathsEvery file lands where each agent documents it, with no collisions, and the laid-out project is re-discovered correctly. | Pass | Correct paths for all 6 agents; layouts re-discovered
|
| MCP configmcp.json is structurally valid, converts to each agent's format, declares no literal secrets, and referenced packages exist on npm/PyPI. | Not applicable | No MCP servers in this loadout |
| Safety scanThe intake scanner finds no credentials, risky shell, hidden Unicode or prompt-injection wording, and the listing's network flag is honest. | Pass | Clean: no credentials, risky shell or hidden text
|
| ReferencesLinks and file paths between the loadout's files resolve, including for each agent's installed layout. | Pass | 2 references between files resolve for every agent |
| Size limitsFile count and sizes are within the submission limits; SKILL.md bodies stay under 500 lines. | Pass | 5 files, 4.6 KB total; largest skills/cross-model-review/SKILL.md 1.8 KB
|
| LicenceA recognised SPDX licence, with the licence text available. | Pass | MIT, by Agent Loadout; text in the repository LICENSE |
| Starter buildA minimal fixture project with the loadout applied installs and builds or type-checks, and the loadout's own code examples compile. | Not applicable | Not applicable: a review procedure that needs two signed-in agent CLIs
|
What this means: a script checked the files themselves: they parse, they install where each agent looks, any MCP config is sound, the safety scan is clean, references between files resolve, and, where a free and repeatable fixture exists, a small starter project builds with the loadout applied. No AI agent was run. Per-agent results ("tested with agent") are separate and stay untested until an agent actually runs.
Install
Choose your agent. Run the commands from your project root, or download a zip already laid out in the right folders.
Claude Code reads CLAUDE.md (imports AGENTS.md with @AGENTS.md) and skills from .claude/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o CLAUDE.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/CLAUDE.md curl -fsSL --create-dirs -o .claude/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .claude/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
CLAUDE.md | CLAUDE.md |
skills/cross-model-review/SKILL.md | .claude/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .claude/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
Codex CLI reads AGENTS.md and skills from .agents/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
skills/cross-model-review/SKILL.md | .agents/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .agents/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
Cursor reads AGENTS.md + .cursor/rules/*.mdc and skills from .agents/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
skills/cross-model-review/SKILL.md | .agents/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .agents/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
Gemini CLI reads GEMINI.md (imports AGENTS.md with @./AGENTS.md) and skills from .agents/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o GEMINI.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/GEMINI.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
GEMINI.md | GEMINI.md |
skills/cross-model-review/SKILL.md | .agents/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .agents/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
Antigravity CLI reads AGENTS.md (read natively; GEMINI.md is also read) and skills from .agents/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
skills/cross-model-review/SKILL.md | .agents/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .agents/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
GitHub Copilot reads AGENTS.md and skills from .agents/skills/.
curl -fsSL --create-dirs -o AGENTS.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/AGENTS.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/SKILL.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/SKILL.md curl -fsSL --create-dirs -o .agents/skills/cross-model-review/references/review-prompt.md https://loadout.jnw-it.com/raw/second-opinion-review/1.0.0/skills/cross-model-review/references/review-prompt.md
| File | Goes to |
|---|---|
AGENTS.md | AGENTS.md |
skills/cross-model-review/SKILL.md | .agents/skills/cross-model-review/SKILL.md |
skills/cross-model-review/references/review-prompt.md | .agents/skills/cross-model-review/references/review-prompt.md |
Already have an AGENTS.md or CLAUDE.md? The commands above overwrite it — download the file instead and merge the sections you want.
Files
Rules AGENTS.md When and how to get an independent review. 21 lines
# AGENTS.md: second-opinion review from another model
Before you call a non-trivial change done, get an independent read-only review from a different agent or model.
A different model misses different things; a reviewer that cannot edit cannot "fix" its way past a problem.
## When to ask
- The change touches three or more files, a public interface, auth, payments, data migrations or concurrency.
- You fixed a bug you could not reproduce with a test.
- You are about to tell the human the work is finished.
Skip it for typo fixes, formatting, dependency bumps with green CI, and changes the human will review line by line anyway.
## Rules
- Use the `cross-model-review` skill. The reviewer runs read-only (Codex: default `codex exec` sandbox; Claude Code: plan or
dontAsk mode with read tools only).
- Give the reviewer the goal, the diff and the test command. Do not give it your reasoning; it should judge the code, not your story.
- Treat findings as claims. Verify each against the code before changing anything. Reject wrong findings with a one-line reason.
- Maximum two review rounds per change. If round two still finds blocking issues, stop and report to the human.
- Never paste secrets, `.env` contents or customer data into a review prompt.
- In the final report, list what the reviewer found and what you did about each finding. Adapter CLAUDE.md Imports AGENTS.md for Claude Code. 10 lines
# CLAUDE.md
@AGENTS.md
## Claude Code notes
- Skills from this loadout live in `.claude/skills/`: `cross-model-review`. Use them when their description matches the task.
- Follow AGENTS.md above; where this file and AGENTS.md disagree, AGENTS.md wins.
<!-- From the Agent Loadout "Second-opinion review from another model" v1.0.0 — https://loadout.jnw-it.com/loadouts/second-opinion-review/ --> Adapter GEMINI.md Imports AGENTS.md for Gemini CLI. 10 lines
# GEMINI.md
@./AGENTS.md
## Gemini CLI notes
- Skills from this loadout live in `.agents/skills/`: `cross-model-review`. Use them when their description matches the task.
- Follow AGENTS.md above; where this file and AGENTS.md disagree, AGENTS.md wins.
<!-- From the Agent Loadout "Second-opinion review from another model" v1.0.0 — https://loadout.jnw-it.com/loadouts/second-opinion-review/ --> Skill skills/cross-model-review/SKILL.md Run a read-only review by another model and triage findings. 22 lines
---
name: cross-model-review
description: Ask a second agent (Codex from Claude Code, or Claude Code from Codex) for a read-only review of the current diff, then verify and act on its findings. Use before reporting a non-trivial change as done.
---
# Cross-model review
1. **Prepare.** Commit or stage the work. Pick the base (usually `origin/main`). Write the diff to a temporary file:
`git diff origin/main...HEAD > "${TMPDIR:-/tmp}/review.diff"` (add `git diff` of uncommitted work if any).
Check its size: over ~3,000 lines, review per directory instead.
2. **Write the prompt** from `references/review-prompt.md`: goal, test command, focus areas. No reasoning, no secrets.
3. **Run the reviewer**, read-only, from the repository root:
- From Claude Code, ask Codex:
`codex exec --ephemeral -o "${TMPDIR:-/tmp}/review.md" "$(cat "${TMPDIR:-/tmp}/review-prompt.txt")" < "${TMPDIR:-/tmp}/review.diff"`
(`codex exec` is read-only unless you pass `--sandbox`; do not pass it.) `codex review` is an alternative for the current branch.
- From Codex or another agent, ask Claude Code:
`claude -p --permission-mode dontAsk --allowedTools "Read,Grep,Glob,Bash(git diff *),Bash(git log *)" "$(cat "${TMPDIR:-/tmp}/review-prompt.txt")" < "${TMPDIR:-/tmp}/review.diff" > "${TMPDIR:-/tmp}/review.md"`
If the reviewer CLI is not installed or not logged in, stop and tell the human; do not substitute a different tool silently.
4. **Triage.** For each finding: open the cited code, decide valid / invalid / unsure. Fix valid ones. Write a reason for invalid ones.
5. **Round two** only if you changed code because of blocking findings. Same prompt plus "Previously reported: …". Never a third round.
6. **Report** a table: finding, verdict, action. Delete the temporary files. Skill file skills/cross-model-review/references/review-prompt.md Reviewer prompt template. 20 lines
# Review prompt template
Save as review-prompt.txt, fill the angle brackets, keep it under 40 lines.
```
You are reviewing a diff you did not write. You cannot edit files. The diff is on stdin.
Goal of the change: <one or two sentences>.
How it is tested: <command>, which <passes / was not run because …>.
Focus on: <for example: error handling in the API client, the migration's down step, race conditions in the cache>.
Report only problems that would cause wrong behaviour, security issues, data loss, broken callers or missing tests
for changed behaviour. Ignore style and naming unless they hide a bug.
Format, most severe first, at most 10 items:
<blocking|should-fix|nit> — <path>:<line> — <problem> — <suggested fix>
If you find nothing blocking, say "No blocking issues" and stop.
``` All files: source zip · Licence MIT · By Agent Loadout · First listed
Credits
Public work that inspired this loadout. The wording here is our own; follow the links for the originals.
Installing and testing
How do I install Second-opinion review from another model in Claude Code?
From your project root, put AGENTS.md, CLAUDE.md, skills/cross-model-review/SKILL.md at .claude/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .claude/skills/cross-model-review/references/review-prompt.md. The "Claude Code" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/claude-code.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
How do I install Second-opinion review from another model in Codex CLI?
From your project root, put AGENTS.md, skills/cross-model-review/SKILL.md at .agents/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .agents/skills/cross-model-review/references/review-prompt.md. The "Codex CLI" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/codex.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
How do I install Second-opinion review from another model in Cursor?
From your project root, put AGENTS.md, skills/cross-model-review/SKILL.md at .agents/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .agents/skills/cross-model-review/references/review-prompt.md. The "Cursor" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/cursor.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
How do I install Second-opinion review from another model in Gemini CLI?
From your project root, put AGENTS.md, GEMINI.md, skills/cross-model-review/SKILL.md at .agents/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .agents/skills/cross-model-review/references/review-prompt.md. The "Gemini CLI" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/gemini-cli.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
How do I install Second-opinion review from another model in Antigravity CLI?
From your project root, put AGENTS.md, skills/cross-model-review/SKILL.md at .agents/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .agents/skills/cross-model-review/references/review-prompt.md. The "Antigravity CLI" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/antigravity-cli.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
How do I install Second-opinion review from another model in GitHub Copilot?
From your project root, put AGENTS.md, skills/cross-model-review/SKILL.md at .agents/skills/cross-model-review/SKILL.md, skills/cross-model-review/references/review-prompt.md at .agents/skills/cross-model-review/references/review-prompt.md. The "GitHub Copilot" tab on this page has the curl commands, or download https://loadout.jnw-it.com/download/second-opinion-review/copilot.zip, which is already laid out. Do not overwrite an existing AGENTS.md or CLAUDE.md; merge it.
Has Second-opinion review from another model been tested?
It passed the Level 1 automated install checks on 2026-10-17: the files parse, install to each agent's documented paths, and pass the safety scan. No AI agent has run it yet, so no agent pass or fail is claimed.
More for Claude Code, Codex, Cursor, Gemini CLI, Antigravity CLI and GitHub Copilot.