| name | metis-review-task |
| description | Dispatch the metis-task-reviewer subagent to judge a diff against the task description and plan. Returns a verdict with per-criterion evidence. |
| disable-model-invocation | true |
/metis-review-task
Dispatch the metis-task-reviewer subagent to review one implementation against the description and plan it was meant to satisfy.
Arguments
- Trailing prompt — optional. Augments the dispatch prompt per the command-prompts convention (e.g., narrowing the diff range, flagging a specific concern).
Context expected
The parent collects what the reviewer needs from conversation context before dispatching:
- The description the work was implemented against — from this session's chat history, or rehydrated from
.metis/CURRENT.md via /metis-session-start.
- The plan, if one was produced — same sources.
- The implementer's scope report — produced by
/metis-implement-task at the close of implementation; in chat history or in .metis/CURRENT.md.
If any of these are missing, ask the user before dispatching. Reviewing an unstated brief is the silent-drift mirror of implementing one.
Preflight
Run references/review-task-preflight.sh. It exits non-zero if the working directory isn't a git repo. On success it reports two fields:
BASELINE — the branch the implementation diverges from. First existing of main, master, origin/main, origin/master; empty if none exist (the subagent then reviews only uncommitted changes).
DIFF_PRESENT — yes if there are uncommitted changes or commits ahead of BASELINE; no otherwise.
If DIFF_PRESENT=no, surface an "empty diff" finding without dispatching — no implementation work to judge.
Subagent dispatch
Dispatch the metis-task-reviewer subagent with a single structured prompt containing:
- The description.
- The plan, if one was produced.
- The implementer's scope report.
- The
BASELINE from the preflight (the branch the subagent should diff against).
- Any trailing prompt the user passed to this skill, verbatim.
The subagent reads the git diff itself; the parent does not need to embed it.
Write scope
This command writes nothing.
Invocation prompt
Trailing prompt: forwarded verbatim to the subagent.
Return
Relay the subagent's return:
- Verdict —
approve, approve-with-nits, or reject-with-reasons.
- Per-criterion results — pass/fail with evidence, for each criterion the description and plan implied.
- Scope reduction findings — whether the implementer's scope report honestly describes what's missing, and any reductions the implementer didn't surface.
- Code-quality notes — separate from spec compliance.
- Next step:
approve / approve-with-nits — user commits/merges.
reject-with-reasons — back to /metis-implement-task with the reviewer's findings as the trailing prompt.
If the subagent returns an "empty diff" finding instead of a review, pass it through as-is.