Skip to content
Development
Skill

/review-change

Review a change with only applicable internal axes, classify every finding, persist fix-now work, and return one evidence-backed decision. Findings only; --adversarial N uses isolated reviewers; --synthesize fuses supplied reviewer tables. Triggers: "review-change", "review this

From plugin
agentic-workflow
2140 skills
Install
$ npx -y skills add gtrabanco/agentic-workflow --skill review-change --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/review-change

Context preview

The summary Claude sees to decide when to auto-load this skill.

Review a change with only applicable internal axes, classify every finding, persist fix-now work, and return one evidence-backed decision. Findings only; --adversarial N uses isolated reviewers; --synthesize fuses supplied reviewer tables. Triggers: "review-change", "review this

SKILL.md

review-change.SKILL.md
name: review-change
user-invocable: true
version: 3.6.0
argument-hint: <path-or-glob> [--adversarial N] [--synthesize]
author: "Gabriel Trabanco <gtrabanco@users.noreply.github.com>"
license: MIT
description: >
  Review a change with only applicable internal axes, classify every finding,
  persist fix-now work, and return one evidence-backed decision. Findings only;
  --adversarial N uses isolated reviewers; --synthesize fuses supplied reviewer
  tables. Triggers: "review-change", "review this change", "adversarial review".

Review Change

Quality gate: run every applicable review and skip the rest, then synthesize and classify one report. **Findings only; never edit or refactor.**

Turn contract

Load and verify the **canonical** [Turn contract](.claude/skills/orchestration-envelope/references/TURN_CONTRACT.md) (11 boxes) before ending every turn. Skill-specific additions (receipt closeout, isolation rule, applicability) live here and in [REVIEW_PROCESS.md](references/REVIEW_PROCESS.md). Missing reference → STOP.

For a final PR review, the turn is incomplete until this additional box passes:

✓ Decision: REVIEW-PASS + PR exists →
  `bun scripts/review-receipt.mjs emit --pr <N> --head "$(git rev-parse HEAD)" …`
  RUN and exited 0 — the script posts the SHA-bound comment, re-reads the PR
  comments, and exits non-zero unless the newest exact-HEAD
  `review-change:pass` marker is confirmed, so its exit code IS this box

The receipt closeout is a precondition of the report, not a follow-up: do not print the fixed report block on a non-zero exit. A clean report without a current receipt must not recommend `/audit-pr`.

For `REVIEW-FAIL` or `NEEDS-DECISION`, list every open finding ID in the closing recommendation, joined with ` + `; the review must never hand off only the first finding.

Review-end turn boundary

On `REVIEW-FAIL` or `NEEDS-DECISION`, this skill **ends at the report**: it never invokes `/fold-findings`, `/execute-phase`, `/plan-feature`, `/design-feature` or `/triage-issue` — those are separate user-initiated invocations, run in a fresh turn (a programmatic outer driver may compose the same sequence in-turn, per `REVIEW_PROCESS.md`). The review's only mutations are the ledger commit (persist step 11) and, on `REVIEW-PASS` with a PR, the receipt comment (persist step 12); it never folds a finding, executes a phase, or edits code. A `REVIEW-FAIL`/`NEEDS-DECISION` turn closes when the report block is printed (report step 13).

Consume the internal [verification contract](<../verification-contract/SKILL.md>); the reviewer checks the same frozen `ACCEPTANCE.md` blob as the executor before mapping candidate evidence.

When to use

  • **Mandatory before every merge.** Review in a context that did not implement

the change; if it did, stop and hand off to a fresh one. `execute-phase` may also recommend optional checkpoints at layer boundary, accumulation or sensitivity (`#77`).

  • Use when you need applicable reviews without irrelevant passes.

Scope

Default target is the **current change** (branch diff vs the default branch); accept a path/glob to widen or narrow. State the scope at the top of the report.

Step 0 — Discover the project & the change (always first)

Per Workflow conventions + documentation map, decide axes from:

1. **Project nature:** UI (`docs/frontend/`), web/mobile/CLI/library/backend, and optional recorded platform skills (extras only). 2. **Footprint:** what the diff touches (UI, API, infra, domain). An axis applies only when both project and footprint support it.

Applicability matrix (default; the project's docs refine it)

Every axis maps to a skill of the workflow's **own internal review pack** (`skills/review-*` — installed with the workflow, so none can be missing):

| Axis — internal pack skill | Web | Mobile | Console/CLI | Lib/SDK | Backend/Infra | |---|---|---|---|---|---| | `review-code` (correctness, simplification, dead code, duplication, arch) | ✓ | ✓ | ✓ | ✓ | ✓ | | `review-security` | ✓ | ✓ | ✓ | ✓ | ✓ | | `review-verify` (run it, confirm real behavior, tests) | ✓ | ✓ | ✓ | ✓ | ✓ | | `review-design` (UI/UX) | ✓ | ✓ | TUI only | ✗ | ✗ | | `review-a11y` | ✓ | ✓ | rare | ✗ | ✗ | | `review-brand` (voice/copy) | ✓ | ✓ | output text | ✗ | ✗ | | `review-perf` | ✓ | ✓ | ✓ | ✓ | ✓ | | `review-seo` | ✓ | ✗ | ✗ | ✗ | ✗ | | API ergonomics / usage docs (inline pass) | if API | if API | flags/help | ✓✓ | ✓ |

> `review-implementation` (the single classifier over the synthesized table — > process step 8) and `review-debt` (the debt transform over the classified > table — process step 9) are not axis finders: they run once per review, not > per axis.

Isolation rule (default — every pass, not only adversarial)

Each applicable pass, the verification pass (step 6), the classifier (step 8), and debt transform (step 9) runs **isolated/context-clean** and returns only its fixed findings table plus `PASS | FAIL`—never diff or prose. Spawn one fresh subagent/headless run per pass; without those, use a fresh conversation. Pass only scope, its checklist, and Step 0 docs; cap full non-diff reads at 10 (targeted ≤50-line reads/greps excluded). The orchestrator retains tables, not sources, and fuses them in step 7. Inline fallback is sequential table reduction. A pass runs at its own tier or stronger, never weaker.

Progressive loading — choose one review route

After applicability and isolation are established:

The reference allowlist is exactly the seven linked paths below. Never invent or read another `references/` path.

| Invocation route | LOAD in this order | SKIP | |---|---|---| | Default review | [review process](references/REVIEW_PROCESS.md) → [adversarial recommendation](references/ADVERSARIAL_RECOMMENDATION.md) → [persist and decide](references/PERSIST_AND_DECIDE.md) → [output and guardrails](references/OUTPUT_AND_GUARDRAILS.md) | synthesis, portability, adversarial setup | | `--adversarial N` | review

Read more
Ships withagentic-workflow

A reusable set of agent skills that run a disciplined, doc-driven workflow for building software with agents — from idea/issue to a reviewed, classified, merge-ready change.

Get the whole plugin
Stats
21
Stars
5
Forks
Active
Maintenance
JavaScript
Language
MIT
License
1d ago
Last commit
3mo ago
Created

Repo: gtrabanco/agentic-workflow

Other skills on agentic-workflow.