Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
thananon avatar

Scrutinize

  • 3.8k installs
  • 3.1k repo stars
  • Updated June 14, 2026
  • thananon/9arm-skills

scrutinize is a skill that reviews plans and code changes end-to-end, questioning intent, tracing real paths, and reporting evidence-backed findings.

About

scrutinize performs an outsider-perspective end-to-end review of plans, pull requests, diffs, design docs, and proposed code changes. It triggers on /scrutinize or when users ask to review, audit, sanity-check, or get a second opinion. The workflow runs four ordered steps without skipping: Intent restates the goal in one sentence and asks whether a simpler, smaller, or more elegant alternative exists, including doing nothing or reusing existing code. Trace follows each claimed behavior through real call paths beyond the diff, noting surprises at seams with unchanged code. Verify walks whether traced paths actually produce claimed behavior, what inputs break it, silent semantic changes, and whether tests exercise the real path or only mocks. Report outputs severity-ordered findings with what to change, why, evidence, and a minimal suggested fix, closing with ship, fix-then-ship, rework, or reject. Operating rules forbid rubber-stamps, require file and line citations, mandate one simpler-alternative pass, and ban hedging flattery.

  • Four-step workflow: Intent, Trace, Verify, and Report in strict order.
  • Mandatory simpler-alternative pass before line-by-line review.
  • Traces end-to-end code paths beyond the diff, including unchanged seams.
  • Findings cite file:line evidence with severity, consequence, and minimal fix.
  • Closes with ship, fix-then-ship, rework, or reject verdict.

Scrutinize by the numbers

  • 3,772 all-time installs (skills.sh)
  • +229 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #50 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

scrutinize capabilities & compatibility

Capabilities
intent analysis with simpler alternative search · end to end code path tracing beyond diffs · claim verification against edge cases and tests · severity ordered actionable report with verdict
Use cases
code review · testing · debugging
From the docs

What scrutinize says it does

Stand outside the change and ask whether it should exist at all, then verify it actually does what it claims end-to-end.
SKILL.md
The diff is the entry point, not the scope. Follow the call graph through real code paths.
SKILL.md
npx skills add https://github.com/thananon/9arm-skills --skill scrutinize

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.8k
repo stars3.1k
Security audit3 / 3 scanners passed
Last updatedJune 14, 2026
Repositorythananon/9arm-skills

Does this PR or plan actually do what it claims, and is there a simpler way to achieve the same goal?

Run an outsider end-to-end review of a plan, PR, or code change that questions intent, traces real code paths, and reports actionable findings with evidence.

Who is it for?

Developers who want a cold outsider review that traces real code paths instead of rubber-stamping diffs.

Skip if: Skip when the user explicitly says not to question scope or only wants formatting nits without structural review.

When should I use this skill?

User runs /scrutinize or asks to review, audit, sanity-check, or get a second opinion on a plan, PR, or diff.

What you get

Severity-ordered findings with evidence, suggested minimal changes, and a one-line ship or reject verdict.

  • Actionable review notes
  • Intent critique summary
  • End-to-end verification findings

Files

SKILL.mdMarkdownGitHub ↗

Scrutinize

Stand outside the change and ask whether it should exist at all, then verify it actually does what it claims end-to-end.

Operating stance

  • Outsider. Forget who wrote it and why they think it's right. Read the artifact cold.
  • End-to-end, not diff-local. The diff is the entry point, not the scope. Follow the call graph through real code paths.
  • Actionable, concise, with rationale. Every finding states what to change, why, and what evidence led you there. No filler, no restating the diff back.

Workflow

Run these in order. Do not skip ahead.

1. Intent — what is this actually trying to do?

  • State the goal in one sentence, in your own words. If you cannot, the artifact is underspecified — say so and stop.
  • Ask: is there a simpler, smaller, or more elegant way to achieve the same goal? Consider:
  • Doing nothing (is the problem real / load-bearing?).
  • Using something that already exists in the codebase instead of adding new surface.
  • A smaller change that solves 90% of the goal with 10% of the risk.
  • Solving it at a different layer (config vs code, framework vs app, build vs runtime).
  • If a better alternative exists, name it explicitly with rationale. This is the most valuable thing you can output — surface it before the line-by-line review.

2. Trace — walk the actual code path

  • For each behavior the change claims, trace the path end-to-end through the real code, not just the lines in the diff:
  • Entry point → call sites → branches taken → state mutated → exit / return / side effect.
  • Include the unchanged code on either side of the diff. Bugs hide at the seams.
  • For a plan or design doc: trace the proposed flow against the existing system. Where does it touch reality? What does it assume that isn't true?
  • Note every place the trace surprises you (unexpected branch, dead code reached, state you didn't know existed). Surprises are signal.

3. Verify — does it actually do what it claims?

For each claim the change/plan makes, answer:

  • Does the code path you just traced actually produce that behavior? Walk it explicitly. "It claims X. Path: A → B → C. At C, [observation]. Therefore [holds / doesn't hold]."
  • What inputs / states would break it? Edge cases, concurrent callers, error paths, partial failures, retries, empty/null/unicode/huge inputs, ordering assumptions.
  • What does it silently change? Performance, error semantics, observability, contract for other callers, on-disk / on-wire format.
  • How is it tested? Do the tests actually exercise the traced path, or do they pass while skipping it (mocks that hide the bug, asserts on intermediate state, happy path only)?

4. Report

Output one tight section per finding. Order by severity (blocker → major → nit). For each:

  • Finding — one sentence, specific. Cite file:line when applicable.
  • Why it matters — the consequence, not the principle.
  • Evidence — the trace step or input that exposes it.
  • Suggested change — concrete, minimal.

Close with a one-line verdict: ship / fix-then-ship / rework / reject — with the single biggest reason.

Operating rules

  • No rubber-stamps. "LGTM" is not an output. If you genuinely find nothing, say what you traced and what you checked, so the user can judge whether your review covered the surface they cared about.
  • Cite or it didn't happen. Every claim about the code references a specific path, file, or line. No vague "this might break under load."
  • Distinguish claim from verification. "The PR says X" and "I traced X and confirmed / refuted it" are different — keep them separate in the output.
  • One simpler-alternative pass is mandatory. Even on small changes, spend one breath asking if the whole thing is necessary. Skip only if the user explicitly says "don't question scope."
  • Don't pad with style nits when there's a structural problem. If step 1 or step 2 surfaces a real issue, lead with it; defer nits or drop them.
  • No flattery, no hedging. "This is a great PR but..." adds nothing. State the finding.

Related skills

How it compares

Use scrutinize for necessity and elegance critique plus path tracing; use linters or test coverage tools when you only need mechanical correctness signals.

FAQ

What makes scrutinize different from a normal code review?

It questions whether the change should exist, traces full code paths beyond the diff, and requires evidence-backed findings.

What is the mandatory simpler-alternative pass?

Before line review, it asks if doing nothing, reusing existing code, or a smaller change achieves the same goal.

What verdicts does scrutinize output?

ship, fix-then-ship, rework, or reject with the single biggest reason.

Is Scrutinize safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.