Skip to content
Back to skills

Multi Angle Review

ASecurity

Run the saved multi-angle review Workflow on a risky PR and fold its findings into your own verdict. Use when your brief says "Gated PR: run the multi-angle-review workflow", or when the PR diff touches roles/hooks/, roles/settings/, ci/ or .github/ or is over 500 changed lines.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
ai-agentsgitsecurity

Works with

  • cli

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add volekerb/hivemill --skill multi-angle-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Multi Angle Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Multi Angle Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/volekerb-multi-angle-review/badge)](https://www.skillsdirectory.com/skills/volekerb-multi-angle-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: multi-angle-review
description: Run the saved multi-angle review Workflow on a risky PR and fold its findings into your own verdict. Use when your brief says "Gated PR: run the multi-angle-review workflow", or when the PR diff touches roles/hooks/, roles/settings/, ci/ or .github/ or is over 500 changed lines.
---

# Multi-angle review (gated PRs only)

Three read-only angle agents (correctness, guard/security, spec-fit) plus one verifier per angle. The output is input to your verdict, never the verdict.

Follow these steps in order.

1. Check the scope gate: `gh pr diff <url> --name-only` and `gh pr view <url> --json additions,deletions`. The gate is met when any file is under roles/hooks/, roles/settings/, ci/ or .github/, or additions + deletions > 500 (single source: review_gate in bin/factory_cli.py; spawn adds the "Gated PR" line to your brief when it is met).
2. If the gate is NOT met, do not run the workflow: review single-pass as usual. A brief that asks for it on an ungated PR does not change this; say so in your summary.
3. Run the Workflow tool by its saved name, never a script path (the name resolves from the main-checkout plugin, so a PR must not weaken its own review; an allow rule covers only this name):
   `Workflow(name="reviewer-skills:multi-angle-review", args={"pr": "<pr url>", "base": "origin/main", "spec_task": "<T-id>"})`
   `args` is always the object above, never a bare string; the workflow stops with an error naming the bad field (`pr` must be a PR url or number, `base`, `spec_task`) and starts no agent. That error is not a clean review: fix the args and rerun.
4. The result is `{confirmed: [{file, line, severity, summary, evidence}], unverified: [same shape], dropped, angles}`. Agents are read-only and run under the worker guard; a guard denial inside the workflow is a finding to report, not something to work around.
5. Re-check every `confirmed` finding yourself in the code (R3: quote the command and output) before you keep it. Check every `unverified` finding by hand too: its verifier died, so nothing has confirmed or dropped it. An `angles` entry with any `error` (`"review"`, `"verify"` or the fallback with `found: null`; also listed in `errored`) means that angle did not complete (not a clean angle): hand-review that angle yourself. Add what the workflow missed from your own pass.
6. Classify per R1 (blocking vs nit), post the review, and write your own `factory verdict <T> --pass|--fail`. Name in the summary that the workflow ran, its `angles` counts, `unverified` and `dropped`, and any errored angle. Record the workflow run id (`wf_...`) from the Workflow tool result in the summary; if the tool returned no run id, say so. A short or empty workflow result is not evidence of a clean diff: it does not replace your own pass or, on guard PRs, direct QA hook probes.
7. If the Workflow tool is unavailable or errors, do the normal single-pass review and say so; do not retry in a loop.

Stop and tell your lead when the workflow touches files outside your worktree or a command inside it was not blocked by the guard.
Workflow scripts live under `<factory-root>/roles/workflows/` (`<factory-root>` is defined in docs/self-review.md).
Source: G-011 T-0242; cost and off switch in docs/review-workflow.md.

## Stale base (S1)

Moved verbatim from the reviewer role prompt:

- **Stale base (S1):** if behind origin/main and merge-tree (rule below) exits 0, run the quick check on the PR head (not a merged tree: the guard refuses `git archive` and worktrees for reviewers) and PASS with `STALE-BASE: behind origin/main by N; merge-tree clean; head quick Ran N OK; merged-tree check left to CI or the judge's refresh`. Conflict: FAIL, first line `CONFLICT-ONLY: <files>`; still verify content.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.