Cross-vendor deliberation over a question or a code diff, four modes in one noun: roles (parallel advisors + host synthesis), blind (measured independent panel), debate (adversarial refutation), council (blind→debate pipeline). Use for "get multiple opinions", cross-vendor design or security review, "review this diff/branch with other vendors", or when a decision is consequential and claims need stress-testing. Advisors run read-only by default; nothing is auto-applied.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add kimmingul/xllm --skill review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/kimmingul-review)More formats (shields.io, HTML) on the badges page.
---
name: review
description: >
Cross-vendor deliberation over a question or a code diff, four modes in one
noun: roles (parallel advisors + host synthesis), blind (measured
independent panel), debate (adversarial refutation), council (blind→debate
pipeline). Use for "get multiple opinions", cross-vendor design or security
review, "review this diff/branch with other vendors", or when a decision is
consequential and claims need stress-testing. Advisors run read-only by
default; nothing is auto-applied.
---
# review — cross-vendor deliberation (xllm)
One entry point, four modes. Your host CLI synthesizes; external CLIs advise.
## Resolve the script
Claude Code: `"${CLAUDE_PLUGIN_ROOT}/scripts/xllm-review.js"`.
Other hosts: `<plugin-root>/scripts/xllm-review.js` (two dirs above this SKILL.md).
## Modes
```bash
node <xllm-review.js> roles p1,p2[,p3] "<prompt>" # parallel advisors, host synthesis — NOT measured
node <xllm-review.js> blind p1,p2[,p3] "<question>" [--tiebreak] [--ready=a,b,c]
node <xllm-review.js> debate p1,p2[,p3] "<claim>" # SURVIVED / KILLED / UNRESOLVED
node <xllm-review.js> council p1,p2[,p3] "<question>" [--tiebreak] [--ready=a,b,c]
node <xllm-review.js> stats # pairwise agreement (measured decorrelation)
node <xllm-review.js> outcome <run-id> --adopted <spec|majority|minority|none> --helpful yes|no
```
| mode | epistemology | cost | reach for it when |
|---|---|---|---|
| roles | coverage — synthesis labels, **not measured** | 1× | advisors need different prompts |
| blind | measurement — identical blind prompt, append-only ledger | ~1× | you want the measured spread |
| debate | adversarial — decisive falsifiers kill wrong claims | ~2–3× | being wrong is expensive |
| council | independent divergence → hostile convergence | ~3–4× | the highest-stakes calls |
## Reviewing code
Add exactly one diff source to any mode. The diff is collected
deterministically (plain git), size-capped, sent to advisors — and never
persisted (ledger/index record source/stat/bytes only):
```bash
--staged | --base <ref> | --diff-file <path>
```
`--base <ref>` is two-dot (`git diff <ref>`): working tree vs ref, so
uncommitted changes are included — NOT a merge-base (three-dot) branch diff.
## Contract
- Advisors are read-only; your own vendor is refused; nothing is auto-applied.
- blind/council write `<state>/panel-ledger.jsonl` BEFORE prose. The ledger is
truth; your summary is UX; minority reports are findings; failures abstain.
- roles output is never "measured" — its labels are your synthesis, not
agreement rates. Only blind/council/stats speak measured decorrelation.
- On a blind split the core suggests the measured tiebreaker for free — spend
it with `--tiebreak`; never hand-pick by vendor pedigree.
- Afterwards record adoption: `outcome <run-id> …` — it feeds measured routing.
- SURVIVED = withstood refutation, not proven. Re-verify consequential claims.
## When NOT to use
Quick opinion → `ask`. Cheap git prose → `scribe`. Host-native agents already
cover same-model parallelism; reach here only when cross-vendor disagreement
(or a local-model perspective) is the point.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!