Review a code change for structural regressions that make code harder to change, delete, or reason about, including complexity moved rather than removed, missed simplifications, shared-path special cases, oversized files, wrong-layer logic, thin wrappers, premature abstraction, dead code, coupling, vague names, data-locality smells, stale comments, and type-safety holes. Use when reviewing for maintainability, simplicity, code structure, or design quality.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Review whether the change makes the codebase harder to change, delete, or reason about, and whether it deletes complexity rather than rearranging it.
data, handler, process, manager, utils as standalone names; booleans without is, has, or should.any, @ts-ignore, unchecked or unknown as Foo casts, un-narrowed nullable flows where the invariant is knowable, and loosely typed records where a shared contract would simplify control flow.Prioritize structural simplification over classic smells. For each new branch, helper, or layer, ask what it would take to delete it and whether behavior would change.
When a change adds a branch to one helper in a paired classifier or mapper flow, read the sibling helpers and their comments. Where a canonical name from Ousterhout or Fowler applies, use it alongside the evidence; the detection condition, not the name, decides whether to report.
What counts as the canonical utility, the right layer, or an acceptable file size is often a written project rule. Read the AGENTS.md or CLAUDE.md chain governing the changed files, from the repository root down.
Report regressions visible in the change: a wrapper with no added behavior, a special case in a busy shared function, indirection that reduces no concepts, a cast bypassing a check you can point to, or a data-locality smell where every occurrence can be quoted. Do not report naming or boundary judgments you cannot ground in the code.
Do not report complexity that mirrors genuine domain rules, abstractions with several real consumers, framework-mandated patterns, formatting or naming taste, design philosophy without a concrete structural fix, or lookup tables and registries requested only because more cases might arrive later.
caafac3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.