agentsclimarketplace

Review change

Skill 0xdeafcafe/skills/skills/review-change

Use when the user says "review the change", "/review-change", "audit my working tree", "what's wrong with what I've got staged", "review without fixing", or asks Claude to audit the working tree's diff read-only without modifying files, committing, or pushing. Read-only mirror of /drive-change — same slice/fan-out/merge/verify pipeline, same finding-format output, never edits or commits. Always runs /review-code + /review-test + /review-feature + /review-security; adds /review-ux when UI extensions are touched. Produces a single terminal report grouped by severity. Use /drive-change when you want Claude to apply the fixes; use /review-change when you want the verdict and intend to act on it yourself.From its SKILL.md

Install
npx -y skills add 0xdeafcafe/skills --skill review-change

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.6 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

review-change

Read-only audit of the working tree's diff. Drives the change through the full agent pipeline (slice → fan-out → merge → verify) and emits findings in the structured format. Never edits, never commits, never pushes.

This is the read-only twin of /drive-change. Same audit, no writes.

For PR audit (instead of working tree), use /review-pr.

Phase 0 — Scope

Determine the change scope. Default:

  • git diff HEAD (committed-but-unpushed + uncommitted-but-tracked changes)
  • plus staged-but-not-committed changes (git diff --cached)
  • plus untracked files (git status --porcelain | awk '/^\?\?/ {print $2}')

Where a sensible base exists, compare against the merge-base with the default branch:

base=$(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD origin/master 2>/dev/null)
[ -n "$base" ] && git diff "$base"...HEAD

Apply exclusions: lockfiles, dist/, build/, generated/, __generated__/, *.pb.*, binary blobs, fixtures, vendored code.

If the scope is empty (no diff, no staged, no untracked), exit early with No changes to review.

Phase 1 — Pull the change envelope

Build a references/change-envelope.md-shaped block:

  • ### Diff — concatenation of git diff outputs from Phase 0, plus per-untracked-file synthesized "all-additions" diffs (diff --no-index /dev/null <file>)
  • ### Files — flat list of paths
  • ### Language hints — derive from extensions, group by top-level directory
  • ### Pre-fetched outlines — when LSP available, outline per file (see references/language-tooling.md)
  • ### LSP edges — when LSP available, references + call_hierarchy on changed symbols

If no LSPs are available, omit Pre-fetched outlines and LSP edges.

Phase 2 — Triage

Apply the adaptive routing logic:

files_changed  = files from Phase 0 minus exclusions
loc_changed    = sum of additions + deletions
top_dirs       = unique first path segments

if len(files_changed) <= 5 and loc_changed <= 200:
    mode = "tiny"
elif len(files_changed) <= 30 and loc_changed <= 1500 and len(top_dirs) <= 3:
    mode = "small"
else:
    mode = "large"

Record mode under a ## Triage heading along with the counts. Branch:

  • tiny → Phase 4 only (single Opus pass with reviewer prompts inlined).
  • small → Phases 4 + 5 (no slice, no verifier).
  • large → full pipeline (Phases 3 + 4 + 5 + 6).

Phase 3 — Slice (large only)

Invoke agents/orchestrate-slice.md via Task:

  1. Read the agent file.
  2. Concatenate with the change envelope from Phase 1.
  3. Task(subagent_type: "general-purpose", model: "opus", prompt: ..., timeout_ms: 240000, description: "Slice working-tree diff").
  4. Parse the JSON fence.

On parse failure or timeout, emit a P0 meta-finding and fall back to single-slice mode. Never treat as zero slices.

Phase 4 — Fan-out to /review-* specialists

For each slice (or whole diff in small/tiny mode), invoke read-only specialists in parallel via Skill:

  • Always: /review-hygiene, /review-code, /review-test, /review-feature, /review-security
  • Conditional: /review-ux (UI files touched), /review-spec (.feature or ADR files touched)

Each specialist receives a change envelope scoped to its slice.

Phase 5 — Merge (per slice)

Invoke agents/orchestrate-merge.md via Task per slice:

  1. Read the agent file.
  2. Concatenate with:
    • ### Reviewer outputs
    • ### Slice metadata{ slice_name, files }
    • ### Sensitivity patternsRead('references/sensitivity-paths.md')
    • ### Finding schemaRead('references/finding-format.schema.json')
  3. Task(subagent_type: "general-purpose", model: "opus", prompt: ..., timeout_ms: 120000).
  4. Parse: work_packets, judgment_findings, discarded, drifted_reviewers.

In /review-change's read-only mode, work_packets are not dispatched — they appear in the report as "could be fixed mechanically."

Phase 6 — Verify (large only)

Invoke agents/orchestrate-verify.md via Task:

  1. Read the agent file.
  2. Concatenate with ### Slices, ### Per-slice findings, ### Diff, ### LSP availability.
  3. Task(subagent_type: "general-purpose", model: "opus", prompt: ..., timeout_ms: 120000).
  4. Parse: findings, contracts_verified.

Append verifier findings to the merger output for the final report.

Phase 7 — Terminal report

Print findings grouped by severity:

[P0] [security] auth/session.ts:147 — refresh tokens stored in localStorage
  why: XSS-readable; one DOM injection exfiltrates every active session.
  fix: replace localStorage.setItem(...) with cookieStore.set
  reviewers: review-security, review-code

Summary footer:

  • Total findings by severity
  • Drifted reviewers
  • Judgment findings (decisions for the user)
  • Cross-slice contract status (large mode only)
  • Work packets that could be applied mechanically (with /drive-change to act on them)

No --comment mode — this skill doesn't have a PR to comment on. Use /review-pr for that.

Operating rules

  • Read-only is non-negotiable. Edit, Write, git commit, git push are not in allowed-tools. Structural guard.
  • Untracked files are in scope. The user often hasn't staged or committed yet. Synthesize an "all-additions" diff for each untracked file.
  • Findings are always structured. Skip rather than prose.

Composing with other skills

  • Calls: /review-hygiene, /review-code, /review-test, /review-feature, /review-security, /review-ux (conditionally), /review-spec (conditionally) — via Skill.
  • Invokes: agents/orchestrate-slice.md, agents/orchestrate-merge.md, agents/orchestrate-verify.md — via Task.
  • Sibling: /review-pr (PR audit), /drive-change (writes), /drive-plan (composes /review-change as its Phase 3).

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most design frontend skills give in ~1.5k tokens

Counted across 1,179 of the 2,086 authors here whose files we hold, read 2026-09-06

  • Commit to a bold aesthetic directionin 31 of 1179, across 24 files
  • Prefer component composition over inheritancein 28 of 1179, across 14 files
  • Animate only transform and opacity propertiesin 27 of 1179, across 22 files
  • Memoize expensive computations with useMemoin 26 of 1179, across 13 files
  • Use semantic HTML elementsin 24 of 1179, across 23 files
  • Virtualize long lists for performancein 21 of 1179, across 10 files
  • Use CSS variables for design tokensin 20 of 1179, across 14 files
  • Implement loading, empty, and error statesin 20 of 1179
  • Lazy load heavy components with Suspensein 19 of 1179, across 8 files
  • Respect prefers-reduced-motion media queriesin 18 of 1179, across 10 files
  • Prioritize CSS-only animations for HTMLin 18 of 1179, across 16 files
  • Use compound components for related UI elementsin 18 of 1179, across 7 files

Said here and by no other author read

  • Determine change scope using git diff and untracked files
  • Exclude lockfiles and generated files from the scope
  • Build a structured change envelope markdown block
  • Route audit based on file count and line changes
  • Invoke specialists in parallel for each slice
  • Group findings by severity in the terminal report

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.