deep-quality-review
Extremely strict maintainability review of a branch's changes: duplicated concepts, complexity that got rearranged instead of deleted, spaghetti branching…
Skill by jesdi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jesdi-deep-quality-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/deep-quality-review
What's inside
- Skill name
deep-quality-review- Description
- Extremely strict maintainability review of a branch's changes: duplicated concepts, complexity that got rearranged instead of deleted, spaghetti branching, boundary leaks, weak type contracts, file sprawl, and "temporary" fixes that will outlive their reason. Use when the user asks for a "deep code quality review", "thermonuclear review", "harsh maintainability review", "code judo", "is this making the codebase messier", or before merging a change that touches shared code. Not a correctness, security, or test-coverage review.
- License
- MIT
- Instructions
- 111 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Deep Quality Review ## Overview One principle: **a change should leave the codebase with fewer concepts, not more.** Behavior stays the same; structure gets simpler. Judge the diff by the shape the code will have in a year, when the deadline, migration, or incident that motivated it is forgotten. Be ambitious. Do not stop at "this could be a bit cleaner" — look for the "code judo" move: a reframing that uses the existing architecture so whole branches, helpers, flags, or layers disappear. If complexity can be deleted rather than rearranged, push for deletion. ## Scope **In:** structure, abstractions, duplication, layering, type contracts, file size, orchestration. **Out:** correctness bugs, security, tests. Raise one only when structure causes it (an invariant enforced by an optional parameter is a structure finding). Everything else belongs in a different review. **Repo conventions come first.** Read the repo's AGENTS.md (and CLAUDE.md, CONTRIBUTING.md, or coding-standards file) before the diff. A breach of a documented rule is a finding; cite the file and the rule. A documented rule overrides a smell: when the repo endorses a pattern the table would flag, don't flag it. ## The smells Run every meaningful change through this table, top to bottom. Each row is one concept; the *Ask* is the question that exposes it, the *Remedy* is what to push for. Names in parentheses are the matching Fowler smells (*Refactoring*, ch. 3), folded into the row that already covers them. | # | Smell | Ask | Remedy | |---|-------|-----|--------| | 1 | **Duplicated concept** — one idea expressed twice: near-duplicate helper, parallel model, copy-pasted branch (Duplicated Code), a flag *and* an optional both meaning "off", the same predicate reimplemented instead of reused, the same `switch`/`if`-cascade on the same type in two places (Repeated Switches) | What single concept are these copies of? Where is its canonical home? | Name the concept once; make the variants its data or parameters (one map or one polymorphic dispatch both sites share); delete the copies. Never accept a second copy because the first one exists. | | 2 | **Complexity rearranged, not deleted** — the diff moves code around but the reader still holds the same number of branches, modes, and helpers | Which reframing of the model or ownership makes these branches disappear? | Change the model so the special case becomes the default flow. Prefer the version that feels inevitable in hindsight. | | 3 | **Special case in a shared flow** — new `if`, one-off boolean, nullable mode, or feature check bolted into an unrelated path | Whose decision is this, and why is it made here? | Move it behind its own abstraction (policy, resolver, dispatcher, module); keep the shared path linear. | | 4 | **Wrong layer / boundary leak** — feature logic in a shared module, implementation details through an API, callers re-deriving what the owner already knows, a function that works on another module's data more than its own (Feature Envy), callers walking `a.b().c().d()` to reach what they need (Message Chains) | Which module owns this concept? | Move the logic to the owner; callers receive results, not raw inputs to recompute. Hide a navigation walk behind one method on the first object. | | 5 | **Change doesn't follow module lines** — one logical change forces small edits scattered across many files (Shotgun Surgery), or one module is edited for several unrelated reasons (Divergent Change) | If this rule changes again, how many files move? Does this module have one reason to change? | Gather what changes together into one module; split a module that changes for unrelated reasons. | | 6 | **Indirection without clarity** — thin wrapper, pass-through helper or class that only delegates (Middle Man), "generic" mechanism hiding a simple data shape, parameters, hooks or abstractions for needs nobody has yet (Speculative Generality) | What does the reader learn from this layer? Who needs this flexibility today? | Delete it and keep the direct call. Boring and direct beats clever. | | 7 | **Refused inheritance** — a subclass or implementer that ignores, stubs out, or overrides most of what it inherits (Refused Bequest) | Is this really a kind of its parent? | Drop the inheritance; compose, or implement a narrower interface. | | 8 | **Weak contract** — `any`, `unknown`, casts, optional params, silent fallbacks that paper over an unclear invariant; a string or number standing in for a domain concept (Primitive Obsession); the same few fields or params always travelling together (Data Clumps) | What invariant is this hiding? Which type wants to be born? | Make the boundary explicit in the type, a small domain type or one bundled type, so the control flow simplifies. | | 9 | **Mysterious name** — a function, variable, or type whose name hides what it does or holds, or says something it no longer does | Could a reader predict the body from the name? | Rename it. If no honest name comes, the concept is murky: fix the design, not the name. | | 10 | **File sprawl** — the diff pushes a file past a healthy size boundary (~1k lines) | Should this be decomposed *before* adding to it? | Split by concept first; waive only with a compelling structural reason. | | 11 | **Needless sequencing / non-atomic update** — independent work serialized, related updates that can leave state half-applied | Is this actually dependent? Can it be observed half-done? | Parallelize independent work; group related updates. Not micro-optimization — brittleness. | | 12 | **Short-horizon change** — "temporary", TODO-later, quick patch, deferred cleanup, a shape chosen because it is the smallest diff | What does this look like when its reason is gone? What does removing it cost? | Do the durable fix now, or structure the stopgap so removal is a pure deletion (one branch, one file), never a refactor of live callers. | Short-horizon change is the long-term rule and it applies to every other smell: prefer consolidating now over a third copy later; prefer the simplification that still makes sense after the migration; never trade a durable simplification for a smaller diff. ## Process 1. Read the full diff, then the files it touches and the canonical helpers it should have reused. Structural problems are only visible in context. 2. For each meaningful change, ask the table's questions in order. Duplicated concept and Complexity rearranged are where the big wins hide; spend most of the effort there. 3. For every finding, write the *restructuring*, not the patch. "Extract a shared helper" is a patch; "one `Message` model with a renderer per channel, so channels become data" is a restructuring. ## Output Expectations Write the review in this shape: 1. **Findings**, in the table's order (Duplicated concept first, Short-horizon change last). Lead each finding with the smell's **name** in bold (e.g. **Duplicated concept**, **Weak contract**), never a row number — the table's numbers only sequence the review; the names carry the meaning to a reader who has not seen the table. A finding that spans two smells names both (**Weak contract + Short-horizon change**). Then: where, and the concrete restructuring. Keep to the few high-conviction findings — structural findings displace cosmetic ones, and a cosmetic finding never appears while a structural one exists. 2. **Verdict**: `APPROVE` or `REQUEST CHANGES`, one line of justification. ## Approval Bar Working code is not the bar. `REQUEST CHANGES` when any of Duplicated concept, Complexity rearranged, Special case in a shared flow, Wrong layer, Change doesn't follow module lines, Indirection without clarity, Refused inheritance, Weak contract, or Short-horizon change is present and unjustified, when a documented repo rule is broken, or when a visible code-judo move was skipped. Mysterious name, File sprawl and Needless sequencing block when the cleaner structure is obvious. ## Author pushback | Pushback | Answer | |----------|--------| | "It works, tests pass" | The bar is structure. Working code that makes the codebase messier is a regression. | | "We'll clean it up after the migration / next quarter" | Cleanup later is a refactor of live callers; the durable version is cheaper now. | | "It's just one flag / one `if`" | Every flag is a mode every future reader must hold in their head. | | "The existing code already does it this way" | Existing mess licenses fixing the concept, not adding a copy of it. | | "A restructure is out of scope" | If the restructure deletes the complexity this change adds, it is the scope. | The Fowler smell list is an idea from mattpocock/skills `code-review`; the wording here is ours. ## Review Tone Be direct, serious, and demanding about quality.
From jesdi/general-skills, MIT.
More from jesdi/general-skills
- 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.570score
backlog
jesdi
Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs.
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
to-openspec
jesdi
Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files…
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.561score
to-tickets
jesdi
Break a spec, plan, or the current conversation into numbered tracer-bullet ticket files under .agent/tickets/, each declaring its blocking edges and…
SkillAFreshness: AClaude Code +9 - 0.561score
babysit-pr
jesdi
Babysit an open pull request until it is merged or handed to a human.
SkillAFreshness: AClaude Code +9 - 0.555score
implement-spec
jesdi
Implement a specification in code.
SkillAFreshness: AClaude Code +9 - 0.534score
test-prune
jesdi
Mutation-guided test pruning: a fixer proposes deleting redundant tests and strengthening weak ones, an independent reviewer accepts or rejects each proposal…
SkillAFreshness: AClaude Code +9 - 0.524score
crap-gate
jesdi
Score every function a branch changed with CRAP (cyclomatic complexity × untested fraction), fail on existing functions above 15 and new functions above 9…
SkillBFreshness: BClaude Code +9 - 0.524score
red-team-data-model
jesdi
Attack a proposed or existing data model for the ways it breaks under real conditions — concurrency, time windows, money, permissions — without proposing a…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 23
- Last commit (this folder)
- Sep 23, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jesdi/general-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jesdi
- 0.570score
backlog
jesdi
Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs.
SkillAFreshness: AClaude Code +9 - 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.565score
to-openspec
jesdi
Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files…
SkillAFreshness: AClaude Code +9
Cite this page
deep-quality-review skill. Agent Mart. https://agentmart.dev/skills/jesdi-deep-quality-review (last updated 2026-10-24)