| name | harness-review |
| description | Adversarial review — assume the code has bugs, find them. Executable artifact required. No fixes applied. Prefixed harness- to avoid collision with Codex's built-in /review (which has different semantics). |
harness-review skill
Run the review phase of agentm. Full spec: harness/phases/04-review.md. Read it and follow it.
Scope (optional): commit range, branch name, or task number. If empty, review the most recently-completed task.
Non-negotiable constraints
- Gates first. Run typecheck, lint, tests, build. If any fail, stop and report. Do not invoke the reviewer on a broken base.
- Dispatch the
adversarial-reviewer-cross subagent first (cross-model, Gemini) — this is the primary reviewer. On unavailability or contract violation, fall back to in-process.
- Dispatch the
adversarial-reviewer subagent second (same-model corroboration) — it runs with sandbox_mode = "read-only", so it structurally cannot modify the code under review. Pass the diff + the PLAN.md task + AGENTS.md. Do NOT pass the implementer's reasoning trace. Skip only if cross-model already fell back.
- Framing is literal: "The code under review likely contains bugs. Find them." Do not soften.
- Required output: failing test, specific
file:line defect, or explicit NO ISSUES FOUND with categories. Prose-only critiques are rejected — re-invoke once with tighter framing, then stop.
- Verify findings reproduce before reporting them. Run the failing test; open the line reference.
- Do not fix what you find.
harness-review reports; harness-work implements. Recommend a follow-up task if needed.
- Do NOT dispatch the
documenter subagent. Doc drift is harness-release's concern; surfacing it here as a finding is fine, acting on it is not.
- Log to
progress.md with outcome (NO ISSUES FOUND or N findings).
- Offer deferred findings to the GitHub Project (optional, per canonical spec §8). If the user elected to defer one or more findings rather than block the change on them, propose project items via
gh project item-create (one per finding or grouped when findings share a theme), batched into a single preview (title + body per item) at review-report end. Not clean reviews, not in-place fixes. Silent-skip if .harness/project.json absent or gh unavailable. No gh invocation without user confirmation.
Start by verifying gates pass, then identify the artifact (commit range / branch / uncommitted diff) and its plan task, then dispatch the reviewers.