xc
Skill12 starsChanged 43 days agoApache-2.0View on GitHub
Cross-check a document with a different model, settling every disagreement before anything changes. Runs a cyw pass, has another model review the document, decides each finding on its merits (accept, or reject with a reason the reviewer may answer once), applies what stands, and runs cyw again. Built for plans and phase documents; works on any document. Use when the user invokes /xc, or says 'cross-check this', 'get a second opinion', 'see what codex thinks', 'arbitrate with codex'. Argument: the file(s) to review; with none, the document this conversation just produced. For a code diff at a merge boundary, use diff-review instead.
In this repository19 other files it gives its agents.
- AGENTS.mdAGENTS.md
- clarifySkill
- commitSkill
- cywSkill
- demo-videoSkill
- diff-reviewSkill
- extract-hooksSkill
- handoffSkill
- plan-duelSkill
- plan-initSkill
- plan-init-v1Skill
- plan-phaseSkill
- plan-phase-v1Skill
- plan-runSkill
- plan-run-v1Skill
- review-panelSkill
- security-review-codebaseSkill
- tddSkill
- web-verifySkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Write one sentence saying what the document is for and who acts on it.
- Very specific: line 23
If a cyw pass ran on these files earlier in this conversation and none of them has changed since, skip this pass and say so.
- Distinctive: line 68
Keep the supervisor's files outside the repository and delete them when done.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cross-check
Get a second opinion on a document from a model that did not write it, settle every disagreement on the evidence, and apply only what survives.
Classification: Degraded — the reviewer has two rungs. Strongest is a different model, launched through diff-review's bundled review_runner.py; next is a fresh reviewer in the same runtime. There is no third rung: an in-context reset is what cyw already did in Step 1, so where neither reviewer can be reached the skill reports that and stops rather than present a self-review as a second opinion.
Progress: observable — rung 1's reviewer streams into the supervisor's append-only display log while it runs; rung 2 returns in one shot.
Step 1 — Anchor and self-check
- Name the target files. With no argument, use the document this conversation just produced; if that is ambiguous, ask (autonomously: the most recently modified document the conversation touched, and say so). Name too any context documents the caller names — a master plan behind its phase documents. Never edit a context document.
- Write one sentence saying what the document is for and who acts on it. A reviewer without it judges the wrong thing.
- If a
cywpass ran on these files earlier in this conversation and none of them has changed since, skip this pass and say so. Otherwise run thecywskill in single-pass mode on the target. Ifcywisn't installed or doesn't run, re-read the target for correctness, completeness and consistency and fix what you find. The reviewer's attention belongs on what you could not see.
Step 2 — Get the review
Pick the reviewer, strongest first.
- A different model. Either the other runtime's CLI, or this runtime's CLI on a
backend the user names whose model is not yours; a named backend's
harnesspicks which CLI launches. This needs thediff-reviewskill installed beside this skill, Python 3, and that CLI on PATH. If any is unavailable, or the supervisor reports a status other thanok, record why and take rung 2. A review with no parseable verdict object is still a review: read its findings as prose. Launch it with the commanddiff-reviewgives for launching that CLI, with this skill's reviewer prompt in place of that skill's,diff-review'sreview-schema.jsonfor the verdict where that command takes one,--backend <name>when a backend is named, and--cwdset to the repository holding the target (its own directory, outside one). - A fresh reviewer in this runtime, given the reviewer prompt and nothing from this
conversation: a sub-agent, or where the host has none, a fresh launch of this runtime's
CLI with
diff-review's read-only flags (withdiff-reviewabsent, that launch is unavailable). Never a native code-review command — it reviews the working tree's changes, not the document. - Neither → stop. Report that no independent reviewer was available, what was missing, and that the Step 1 pass is the only review this document has had.
The reviewer prompt carries exactly:
- the target paths and the one-sentence purpose, and any context documents' paths as read-only context: read them, and report where a target falls short of them;
- the lens. For a plan or phase document: does following it reach the goal; steps missing, misordered or unverifiable; success criteria a builder could tick while the goal is unmet; assumptions stated as fact; a cheaper route to the same result. For anything else: whether its reader can act on it correctly;
- the burden of proof: every finding names the reader or builder who goes wrong and what they do next. A concern without one is labeled an observation;
- report only, never edit a file;
- close with one JSON object:
findings(each withfile,line,severity—blocker,major,minorornit—summary, andfailure_scenarioholding that consequence),overall(the verdict in prose) andblocking_count(blockers plus majors). It is the shape ofdiff-review'sreview-schema.json, spelled here so a sub-agent needs no other skill.
Keep the supervisor's files outside the repository and delete them when done.
Step 3 — Settle each finding
Decide every finding on the document and the code, never on who wrote what:
- Accept — the failure is real.
- Reject — with the concrete reason: where the document already handles it, or the fact that makes the premise false. Disagreeing is not a reason.
- Partial — the failure is real and the suggested fix is not; say what you will do instead.
Send every rejection and partial back once, in one fresh launch on the same rung and backend, carrying each finding, your decision and your reason. Ask the reviewer to concede or answer with evidence it has not yet given, and re-decide on what comes back. A finding still disputed after that is an open disagreement: it is not applied, and it goes to the user with each position in one line.
Apply a nit only when it costs nothing.
Step 4 — Apply and re-check
Edit the target for every accepted finding, and for every partial one the send-back
settled; an open disagreement is never applied. Then run the cyw skill — the full loop,
not single-pass — over what changed, and tell the final cyw which findings are open so it
leaves them alone. If cyw isn't installed or doesn't run, do its full loop by hand:
review for correctness, completeness and consistency, fix, re-verify, and repeat until a
pass finds nothing — a clean first pass still gets a confirming second — at most three
passes.
Step 5 — Report
- Which reviewer ran: the other CLI or this one, with the backend's name and model or on the CLI's own sign-in, and on this runtime's own CLI your own model beside it, stating their independence as unverified; or rung 2, and why rung 1 was not reached.
- A table: finding, severity, decision, reason, applied.
- Open disagreements for the user to decide. Autonomously: leave them unapplied and list them.
- What the final
cywpass changed.
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.

