review-panel
Review panel
Run the pipeline: scope → brief → panel → merge → triage → findings report → approval gate → fix → verify → final report.
Set the approval mode when the run starts. The default is gated. /review-panel auto-fix sets auto-fix, which grants standing approval for findings triaged with a fix disposition. Auto-fix never selects an escalate fork; escalations always require a later user decision. /review-panel review-only sets review-only, which ends the run at step 4.
Arguments combine in any order: approval mode, branch, tier, and effort (/review-panel review-only adversarial frontier xhigh).
1. Scope
Resolve one review scope for the whole panel with code-review's bundled resolver, run by absolute path from inside the repository, with <code-review-dir> for that skill's installed directory: python3 <code-review-dir>/scripts/resolve-scope.py [--scope <spec>]. Use a user-named scope exactly, without adjacent changes: pass a commit, a range, staged, or worktree (unstaged and untracked) as --scope; a branch as <base>...<branch>, since a bare branch name is its tip commit only; and a pull request as <base>...<head> after fetching both refs. A supplied diff file or named files are the scope as given. Without --scope, the resolver takes the first non-empty of staged changes; unstaged and untracked changes; commits ahead of the upstream; or the current branch against its merge base with the default branch. Exit 1 means nothing to review: stop and say so. Exit 2 means a bad ref, multiple merge bases, an unreadable file, or an unwritable output directory: fix the cause or resolve the scope by hand. Give every voice the printed scope and diff path, and put the printed excluded files in the brief so no voice flags code that is mid-edit.
2. Brief
Collect the acceptance criteria from the conversation, ticket, or commit messages. Write the review brief to the scratchpad. Include the intent, requirements satisfied, deliberate trade-offs, known limitations, and declared non-goals, stating trade-offs and non-goals as claims with their basis. Keep it to one page. Scope exclusions belong in the brief; verdicts do not: never tell a voice what not to flag or cap a severity — triage decides. The brief is done when a stranger could reject an out-of-scope finding by citing it.
3. Panel
The parent, meaning this session's harness and model, always runs code-review inline on the resolved scope (the parent voice), even under a composition the user spells out. Add the fresh voices of the user's branch and tier, each defaulting independently to normal standard. A spelled-out composition replaces both. Fresh eyes come from the context, not the model. A fresh context using the parent's model is still a fresh reviewer.