Installs into .claude/skills of the current project.
Are you the author of Metis Review Task?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gsaranti-metis-review-task-pantheon)
---
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.
---
# $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 this skill's `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.
- **Regression findings** — existing behavior the diff broke or put at risk outside the task's own criteria; a confirmed regression drives `reject-with-reasons`.
- **Code-quality notes** — separate from spec compliance.
- **Next step**:
- `approve` / `approve-with-nits` — user commits/merges; `$metis-session-end` then moves the task to *Built* and advances the active-task pointer.
- `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.