cross-review
Skill1 starsChanged 34 days agoMITView on GitHub
Get a finished code change reviewed by a model from another vendor (GLM 5.3 through opencode, else Codex), headless and read-only, running in the background while you do the slow remaining steps. Use when you have committed a change that is ready to ship and the repo expects review before a PR is marked ready or merged; also for a follow-up review of fixes, which covers only the commits since the last review. Decides whether a review is worth running, when to launch it, and how to act on findings.
25 other projects use a version of this.
Adopted by
Most recently taken up by
- isanchez-aguilar/relayrace-aitheir own version, first seen Nov 8, 2026
- NemesLaszlo/claude-code-harnesstheir own version, first seen Nov 8, 2026
- ytil/skillstheir own version, first seen Nov 1, 2026
- ShlomiPorush/agent-skillstheir own version, first seen Nov 1, 2026
- sentimony/skillstheir own version, first seen Nov 1, 2026
- coder-xieshijie/dev-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use handoff.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 3 projects that use this
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 25
- MiaoDX/intuitive-flow★ 48same name
- webpro/skills★ 18same name
- sohei56/maul-team★ 17same name
- ruodou233/cross-review★ 14same name
- sentimony/skills★ 7same name
- coder-xieshijie/dev-skills★ 5same name
- broomva/skills★ 4same name
- qwwiwi/agentos-skills-public★ 4same name
- ShlomiPorush/agent-skills★ 2same name
- vardan6/trackline★ 2same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- blast-radiusSkill
- claude-remote-control-serverSkill
- correctSkill
- councilSkill
- docs-reviewSkill
- evidence-bundleSkill
- herdrSkill
- intent-cardSkill
- one-termSkill
- owner-charterSkill
- quotaSkill
- starbridgeSkill
- test-auditSkill
- unnarrateSkill
- unslopSkill
- verifySkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 18 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 20
Always review, however small, a change that touches concurrency, persistence or migrations, secrets or auth, parsing of untrusted input, …
- Distinctive: line 34
Write the brief to a file (not in the repo) in 5–15 lines: the issue or task text, the constraints that apply, and what you claim the …
- Very specific: line 37
Run it in the background (Bash run_in_background: true):
- Very specific: line 43
Default range: merge-base with origin/HEAD to HEAD (--base REF changes it).
- Distinctive: line 48
Do not mark the PR ready, merge, or report done until the notification has arrived and you have acted on it.
- Distinctive: line 62
Check it against the current code first.
- Distinctive: line 67
Put one line in the PR body: reviewer, number of findings, what you fixed, what you rejected and why.
- Distinctive: line 97
Commit first; a WIP commit is fine.
- Very specific: line 112
Run directories live in ~/.cache/cross-review (CROSS_REVIEW_DIR) and are pruned after 14 days.
- Distinctive: line 117
No review of uncommitted work or of a PR you haven't checked out.
- Very specific: line 118
No inline PR comments; --proof posts its one verdict comment.
“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cross-vendor review
cross-review freezes HEAD in a throwaway worktree, sends the diff and your
brief to a reviewer from another vendor, and prints ranked findings. You can
keep working while it runs.
1. Decide whether to review
Review once per change, not per commit. Skip the review when the change is only:
- docs, comments, copy or formatting;
- generated files, or a dependency bump whose CI lane proves it;
- under ~15 changed lines of plain logic, with a test that shows it works.
Always review, however small, a change that touches concurrency, persistence or migrations, secrets or auth, parsing of untrusted input, process spawning, trust boundaries or invariants the repo documents, or that deletes or weakens a validation or a test assertion.
Above ~800 changed lines, review per commit range (--since) or split it.
2. Launch at the right moment
Launch once the code is committed and the fast local tests pass, before the slow steps (CI, device lanes, e2e, benchmarks, the PR body, docs): the review takes 5–20 minutes and they fill that time. Launching earlier reviews code about to change; launching last doubles your wall time.
- Write the brief to a file (not in the repo) in 5–15 lines: the issue or task text, the constraints that apply, and what you claim the change does and how you verified it. Never paste your transcript.
Run it in the background (Bash
run_in_background: true):cross-review --brief /path/to/brief.mdDefault range: merge-base with
origin/HEADto HEAD (--base REFchanges it).--effort low|medium|high:lowunder ~100 lines,highfor the risk areas above.- Carry on with the slow steps. Don't wait, poll or sleep: the harness notifies you when it exits.
- Do not mark the PR ready, merge, or report done until the notification has arrived and you have acted on it.
In T3 Code ($T3CODE_THREAD_ID is set) the review runs as a T3 child,
not the reviewer's CLI. Run the same command in the foreground: it freezes
HEAD, picks the reviewer by quota and exits 5 with the async delegate_task
call to make. When the child finishes, cross-review --ingest RUN_DIR
scores its answer as in step 3; on exit 2 ask the child once to fix only the
reason printed. --headless runs the CLI anyway.
3. Act on the result
Exit 0 prints the verdict and findings, most severe first. For each finding:
- Check it against the current code first. A finding you can't reproduce by reading the code is rejected, with the reason.
- Fix P0 and P1 findings, one at a time, testing each.
- Fix P2 and P3 when the fix is small and certain; otherwise note them in the PR body or open a follow-up issue.
- Put one line in the PR body: reviewer, number of findings, what you fixed, what you rejected and why.
Review the fixes again only when a fix is non-trivial (over ~30 lines, or in a risk area): rerun with a brief that replies to each finding. It reviews only the commits since the last review, with the earlier findings; a HEAD already reviewed returns that review. One follow-up round; never loop.
4. Grade the proof (before a PR merges without the owner)
cross-review --proof <pr>, from the PR's pushed head, reviews the whole PR,
grades its proof against owner-charter "Merged means checked" and posts or
edits one <!-- proof-verdict --> comment. A push makes it stale: rerun.
Rules: reference/proof-verdict.md.
Gotchas
- Exit 2 is not a pass. Empty or invalid output, or a crash, means
nobody reviewed the change. Say so in the PR; don't report it as clean.
With
--vendor autothe script already tried each reviewer that had headroom, and asked each once to fix an invalid answer. - Exit 4 means the reviewer hit
--timeout(default 30 minutes) and its work so far is printed. If that work is closing in on specific risks,cross-review --continue RUN_DIR [--timeout SECONDS]resumes it; if it is re-reading files or said nothing useful, report the review incomplete or rerun with another--vendor. Exit 4 is not a pass. - Exit 3 means no quota left on any reviewer. Shipping unreviewed is
Tom's call: post a card (ship now, or wait for the reset time
quotaprints). - Uncommitted changes abort the run, because the review pins HEAD. Commit first; a WIP commit is fine.
- The vendor order is deliberate: GLM on the Z.ai plan, then Codex,
whose weekly cap is the scarcest. Idle GLM headroom is lost. Don't force
--vendor codexfor a "better" review. Never review withvibe, even though it is installed: its plan is cancelled (reference/vendors.md). - Don't widen the rubric. Asking for style, design or test-coverage
comments, or for a full fix per finding, raises false positives
(
reference/sources.md). - A follow-up under 300 changed lines defaults to
--effort low: the reviewer's reading, not the diff, is what costs. Pass--effort medium|highwhen the new commits touch a risk area.--fullonly when they change what the earlier ones mean;--since SHAsets the start by hand. - Findings whose lines fall outside the diff's hunks are dropped into
findings.jsonunderdropped_outside_diff; read them only if one names a real break. - Run directories live in
~/.cache/cross-review(CROSS_REVIEW_DIR) and are pruned after 14 days. Each holds the prompt, raw events and stderr.
Not possible
- No review of uncommitted work or of a PR you haven't checked out.
- No inline PR comments;
--proofposts its one verdict comment.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

