cross-model-review
How to get a second model provider onto a problem: classify the producer by its served model, pick a reviewer seat on another provider, ae routing…
Skill by clemens33
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/clemens33-cross-model-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security, writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cross-model-review
What's inside
- Skill name
cross-model-review- Description
- How to get a second model provider onto a problem: classify the producer by its served model, pick a reviewer seat on another provider, ae routing, write-denied profiles, CLI invocations, prompt templates. Use when requesting a cross-model review or second opinion, or when a commit is gated on one. Covers HOW to invoke — the policy on WHEN it is mandatory stays in AGENTS.md. Not a reviewer itself: use `code-review` or `security-review` to review code yourself.
- License
- MIT
- Metadata
- category: preference
- Instructions
- 198 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (1)
- SKILL.md
SKILL.md (first lines)
# Cross-model review — invocation mechanics A single model has predictable blind spots. The gate is satisfied by **provider diversity of the served model**, never by a different harness. Run in the **same repository directory** for full codebase access. ## Step 1 — classify the producer by served provider Classify the model that produced the work, not the CLI it ran in: | Served model | Provider | |---|---| | `fable*`, `opus*`, `sonnet*`, `haiku*`, `claude*` | Anthropic | | `gpt-*`, `codex-*` | OpenAI | | `grok-*` | xAI | | `gemini-*` (Antigravity / `agy`) | Google | | `muse-*` (Muse Spark, Muse Wonder; native `muse` CLI) | Meta | | anything else | declare it explicitly | Meta contributor variants (Muse Spark/Wonder CONTRIBUTOR) train on input — never route MIC or customer content to them. Harness-mutable profiles carry no provider of their own. OpenCode serving `github-copilot/claude-opus-5` is **Anthropic**, and must be reviewed by OpenAI, xAI or Google — routing it to Codex because "it isn't Claude Code" does not satisfy the gate. OpenCode serving `openrouter/z-ai/glm-5.3-flash` is Z.AI. When a profile's upstream is not obvious from its name, state the active provider/model before choosing a reviewer, or ask the seat to declare it. Then pick a reviewer whose provider differs from the producer's. Provider first, task fitness second, cost third. ## Step 2 — inside an ae session, route through ae (STRONG RULE) Use an existing ae agent on a different provider, or spawn one. Helpers are not on `PATH`; invoke them by their full session path: ```bash /Users/ckriech/.ae/sessions/<session>/review <agent> "<review request>" # critical review, requires a reply /Users/ckriech/.ae/sessions/<session>/ask <agent> "<question>" # question, requires a reply /Users/ckriech/.ae/sessions/<session>/spawn <name> --using <profile> "<briefing>" /Users/ckriech/.ae/sessions/<session>/retire <name> # you spawned it, you retire it ``` Reviewer seats are **write-denied profiles** — use these rather than a build profile so a reviewer cannot mutate the checkout it is reading: | Profile | Provider | How writes are denied | |---|---|---| | `gpt56sol-review` | OpenAI | Codex sandbox `-s read-only -a never` — built-in writes only, see gap below | | `gpt6astra-review` | OpenAI | Codex sandbox `-s read-only -a never` — built-in writes only, see gap below | | `fable5-review` | Anthropic | `--restricted --strict-mcp-config`, Edit/Write/NotebookEdit disallowed, no Bash | | `opus5-review` | Anthropic | `--restricted --strict-mcp-config`, Edit/Write/NotebookEdit disallowed, no Bash | | `grok46-review` | xAI | `--sandbox read-only` | All five were write-denial canary-tested on 2026-09-07. **Historical names (2026-10-13):** the profile names above predate the 2026-09-22/30 profile refresh; none was verified present in `~/.ae/config` `[profiles]` on 2026-10-13 — re-verify before naming any of them, and do not substitute a same-named build profile. Confirm the profile still exists in `~/.ae/config` before naming it. If it does not, pick a **different write-denied profile** on an eligible provider — never the plain build profile of the same name. A write-capable reviewer can mutate the live checkout it was asked to read, which is exactly what these seats exist to prevent. If no write-denied profile on an eligible provider is available, say so: the mandatory gate stays OPEN and nothing is committed unless the user explicitly waives it. A write-denied seat can still author acceptance tests under the spec-first rule: it supplies the frozen test content, and the driver installs it byte-identically; authorship grants it no write access. ⚠️ **Known gap on the Codex seats.** The Codex `-s read-only` sandbox covers the model's built-in filesystem tools. It does **not** disable write-capable tools reached through a configured MCP server — an MCP server with an edit or shell tool in scope can still mutate the checkout. The Claude seats close this with `--strict-mcp-config`; the Codex seats have no equivalent. Read the Codex column as **built-in writes denied**, not as read-only, and keep write-capable MCP servers out of a reviewer's config rather than relying on the sandbox flag. The Claude review seats have no Bash and no MCP, so the **producer** writes the diff for them to read: ```bash git diff <base>...HEAD > .local/review/<id>.diff # producer writes; reviewer only Reads ``` Do NOT shell out to another CLI (`codex exec`, `claude -p`, `grok -p`) and do NOT use your harness's internal subagents for cross-model review. ae agents are visible to the human (own pane), steward-monitored, and messageable; CLI and internal runs are invisible to everyone but you. The CLI forms below are for NON-ae contexts only. If no seat on a different provider is available, say so plainly. The mandatory gate stays OPEN and nothing is committed unless the user explicitly waives it. ## Outside ae — CLI invocation These forms are for non-ae contexts only. Pick them by the *provider you need*, not by the tool you happen to be running in — an OpenCode session already serving an Anthropic model calls Codex, and a Claude Code session reviewing OpenAI-produced work calls Claude. **Need an OpenAI reviewer → Codex:** ```bash # Review / read-only analysis (the default — reviews need NO write access; # the CLI writes the -o file outside the sandbox): codex exec -o .local/<output>.md "<PROMPT>" # ONLY when codex must apply changes itself — never concurrently with another # agent editing the same checkout (one writer per file); prefer an isolated # git worktree for this: codex exec --full-auto -o .local/<output>.md "<PROMPT>" ``` ⚠️ `--full-auto` grants write+git access to the checkout it runs in. A reviewer invoked with it can mutate uncommitted work (observed 2026-07-15: a review run reverted an in-flight fix and deleted an untracked test to probe pre-fix behavior). Review invocations use the read-only default, always. For code review specifically, `codex review --uncommitted` is a useful shortcut when available. **Need an Anthropic reviewer → Claude:** ```bash CLAUDECODE= CLAUDE_CODE_SESSION= claude -p --restricted --strict-mcp-config \ --disallowedTools Edit,Write,NotebookEdit -- "<PROMPT>" > .local/<output>.md ``` ⚠️ `--allowedTools` is a preapproval list, not a sandbox: it suppresses prompts for the tools named, it does not deny the others. Denying the write tools (`--disallowedTools`) plus `--strict-mcp-config` is what actually keeps a reviewer read-only — an MCP server left in scope can write even when Edit and Write are gone. Never pair `--permission-mode bypassPermissions`
From clemens33/dotfiles, MIT.
More from clemens33/dotfiles
- 0.570score
catch-up
clemens33
Brief the human after time away, or record a dropped idea.
SkillAFreshness: AClaude Code +9 - 0.565score
quiz-diff
clemens33
Quiz the human on a diff to fight comprehension debt, then teach only the gaps.
SkillAFreshness: AClaude Code +9 - 0.565score
large-feature
clemens33
7-stage playbook for large features — multi-slice work where blast radius is real, design isn't trivial, or the deliverable must stay defensible post-ship.
SkillAFreshness: AClaude Code +9 - 0.529score
gcp-operations
clemens33
Install or operate Google Cloud safely with gcloud and bq: select explicit projects, authenticate with user credentials, ADC, or federation, control BigQuery…
SkillBFreshness: BClaude Code +9 - 0.524score
adr
clemens33
Write an Architecture Decision Record capturing the why behind a decision — the constraints, alternatives ruled out, and trade-offs accepted.
SkillBFreshness: BClaude Code +9 - 0.524score
collab
clemens33
Structured research and collaboration protocol for one or more agents.
SkillBFreshness: BClaude Code +9 - 0.524score
drawio-diagrams-enhanced
clemens33
Write editable draw.io / diagrams.net XML (.drawio files) with PMP/PMBOK methodologies, icon libraries, and industry-standard templates.
SkillBFreshness: BClaude Code +9 - 0.524score
humanizer
clemens33
Rewrite text that reads as AI-generated so it sounds human.
SkillBFreshness: BClaude Code +9 - 0.524score
scope
clemens33
Decompose a task into a phased implementation plan with test gates.
SkillBFreshness: BClaude Code +9 - 0.524score
code-review
clemens33
Adversarial code review with structured findings.
SkillBFreshness: BClaude Code +9 - 0.524score
refactor-audit
clemens33
Audit a codebase for architecture drift and produce a `refactor-audit.md` with evidence, recommendation, and guardrail candidates.
SkillBFreshness: BClaude Code +9 - 0.520score
manage-skills
clemens33
Create, update, and manage Claude Code skills across the public dotfiles repo and the optional private overlay.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 13, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/clemens33/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from clemens33
- 0.570score
catch-up
clemens33
Brief the human after time away, or record a dropped idea.
SkillAFreshness: AClaude Code +9 - 0.565score
large-feature
clemens33
7-stage playbook for large features — multi-slice work where blast radius is real, design isn't trivial, or the deliverable must stay defensible post-ship.
SkillAFreshness: AClaude Code +9 - 0.565score
quiz-diff
clemens33
Quiz the human on a diff to fight comprehension debt, then teach only the gaps.
SkillAFreshness: AClaude Code +9 - 0.529score
gcp-operations
clemens33
Install or operate Google Cloud safely with gcloud and bq: select explicit projects, authenticate with user credentials, ADC, or federation, control BigQuery…
SkillBFreshness: BClaude Code +9 - 0.524score
drawio-diagrams-enhanced
clemens33
Write editable draw.io / diagrams.net XML (.drawio files) with PMP/PMBOK methodologies, icon libraries, and industry-standard templates.
SkillBFreshness: BClaude Code +9 - 0.524score
collab
clemens33
Structured research and collaboration protocol for one or more agents.
SkillBFreshness: BClaude Code +9
Cite this page
cross-model-review skill. Agent Mart. https://agentmart.dev/skills/clemens33-cross-model-review (last updated 2026-10-24)