Review implementation for maintainability, evolvability, anti-slop, and human complexity; emit `M#` findings and durable residue candidates when needed.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add siarhei-belavus/agent-public --skill review-code-maintainability --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Review Code Maintainability?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/siarhei-belavus-review-code-maintainability)More formats (shields.io, HTML) on the badges page.
---
name: review-code-maintainability
description: Review implementation for maintainability, evolvability, anti-slop, and human complexity; emit `M#` findings and durable residue candidates when needed.
---
# review-code-maintainability
Phase 2 code review. Judge whether the change is easy to evolve safely, easy for a human to navigate, and free of avoidable slop.
This is not a style pass. Look for real future-change pressure.
## Read first
- `../references/task-packet-contract.md`
- `../references/persistent-artifacts-contract.md`
- `../references/review-phases-contract.md`
- `../references/compatibility-policy.md`
- `../references/ownership-and-reuse-policy.md`
- `../references/final-state-authoring-policy.md`
- `../references/initiative-workflow-contract.md` when reviewing an initiative child packet
- `../../references/communication-mode.md`
- relevant tracked `AGENTS.md` chain
- applicable `AGENTS.override.md` only if local execution constraints matter
- current task packet: `CODE_REVIEW.md`, `AMENDMENTS.md`, `PLAN.md`, optional `PLAN_SATISFACTION_REVIEW.md` for unresolved `PS#` detail
## Core scope
Check:
- maintainability
- evolvability
- anti-slop
- human complexity
- ownership clarity
- change amplification
- hidden coupling
- speculative abstractions
- needless indirection
- navigation cost for the next human/agent
- final-state coherence in canonical code/docs/contracts
Allowed fallback:
- raise a correctness/regression finding if you encounter one while doing this pass
## Core workflow
1. Establish review scope.
- Read the thin handoff from phase 1: `CODE_REVIEW.md` as the primary rollup source, `AMENDMENTS.md` as required companion, and `PLAN.md` for original intent / owner-boundary context.
- Read `PLAN_SATISFACTION_REVIEW.md` only when an unresolved `PS#` needs more detail.
- Identify the exact implementation commit under review, the exact diff from that commit, changed boundaries, and the modules that now own the behavior.
- If the lead did not provide the commit hash and the workspace is dirty, stop and ask which commit is the review target instead of guessing from a floating workspace.
- If the workspace has drift beyond the named commit, review the named commit and call out the drift explicitly so the lead can re-anchor the review.
2. Run a maintainability pass.
- Look for duplication, hidden coupling, scattered sources of truth, and logic that will drift if changed in more than one place.
- Call out design debt only when it creates a realistic future bug surface or makes the new behavior harder to evolve safely.
3. Run a human maintainability pass.
- Judge how quickly a human can find the owner code, rebuild the mental model, and make a safe edit without holding too much hidden context in working memory.
- Treat high navigation cost, scattered logic, and heavy cross-file recall as maintainability problems.
4. Run an architecture-drift pass.
- Check whether the change weakens module boundaries, introduces a second source of truth, leaks internal invariants across APIs, or increases change amplification.
- Prefer findings that explain future breakage pressure: `this works, but every future change now has to update three places`.
5. Run an ownership-and-reuse pass.
- Flag parallel same-purpose entities unless the new boundary is explicit and materially non-overlapping.
6. Run a final-state-authoring pass.
- Flag dual vocabularies, dual status models, or dual owner semantics that survive inside canonical code/docs/contracts.
- Flag files that read like migration notes, patch notes, or append-only overlays when one current model should be obvious.
- Flag implementations that keep old/new same-purpose paths alive when no real external boundary requires that residue.
- Flag changes that should have reused the current owner after a small tidy-first refactor.
- Flag designs where one invariant or behavior now has multiple owners.
- Flag implementations that require coordinated edits across same-purpose modules to keep one behavior correct.
7. Run an anti-slop pass.
- Flag generic abstractions without leverage.
- Flag speculative extensibility that is not earning its complexity today.
- Flag helper or adapter sprawl that makes ownership harder to see.
- Flag AI-shaped indirection, duplicated glue, or ceremonial wrappers that do not reduce real risk.
- Flag prose/config/code duplication pressure that nudges the system toward multiple sources of truth.
- Flag internal-only backward-compatibility scaffolding as unnecessary complexity unless the human explicitly required it for a real external boundary.
8. Check tests as maintenance evidence when relevant.
- If the new structure makes correctness harder to prove or leaves fragile behavior weakly tested, treat that as a maintainability finding.
9. Write or update `MAINTAINABILITY_REVIEW.md`.
- Emit only concrete `M#` findings with real future-change pressure.
10. Update `CODE_REVIEW.md` with the fixed rollup fields this phase owns.
- `Maintainability verdict:` `strong`, `acceptable`, or `fragile`
- unresolved `M#`
- rerun notes
- latest rolled-up status if the phase-2 verdict or follow-up status changed
- keep key dispositions already decided in `AMENDMENTS.md` current when new review dispositions were resolved after phase 1
11. If the review exposes durable semantic/navigation residue, append it to `ARTIFACT_CANDIDATES.md`.
12. Update `INDEX.md` if packet status changes.
## How to inspect changes
- Start from the named implementation commit.
- Prefer `git show --stat <commit>`, then targeted diff reads, then final-code reads.
- Use workspace diff only to detect drift beyond the named review commit, not to silently move the review target.
## Maintainability heuristics
Look for:
- one behavior split across many files without a strong reason
- readers and writers of the same state no longer agreeing on one model
- logic duplicated across provider, adapter, and UI layers
- local edits that now require synchronized changes elsewhere
- ownership that is obvious only if you already know the backstory
- tests that prove the happy path but not the risky maintenance path
- compatibility aliases, wrappers, or dual-support paths that exist only for internal callers
- a new helper/service/adapter/store/module whose purpose substantially overlaps an existing owner
- old and new same-purpose implementations kept alive together after the change
## Human maintainability rule
Good code lets a person quickly:
- find the owner logic
- understand the contract
- identify likely change points
- make a safe edit without holding half the system in mind
- know which single owner to modify for one behavior
If the patch raises time-to-confidence or navigation cost materially, that is review-worthy.
## Findings bar
Only emit an `M#` finding when all are true:
- it is actionable
- it has credible future-change or maintenance impact
- you can point to the concrete structure or code path causing the trap
Do not report:
- purely hypothetical concerns with no credible trigger path
- generic `consider refactoring` advice
- style nits that do not affect future safety
## Requester-response rule
Always report the review result back to the requesting side.
- If the lead/orchestrator requested the review, reply back to the lead/orchestrator.
- If a human directly requested the review in this pane, reply back in this pane.
- Local pane output without an explicit reply to the requester does not count as review completion.
## Output shape
Default output should include:
- findings first, highest severity first
- exact `M#` findings
- short maintainability verdict: `strong`, `acceptable`, or `fragile`
- residual risks or rerun notes when useful
## Rerun rule
Rerun only when fixes materially change structure, ownership, complexity, or future change surface.
## Do not
- turn this into generic style commentary
- duplicate phase-1 plan-fidelity work unless a new issue depends on it
- inflate minor polish into maintainability findings
- write tracked `AGENTS.md`
- write `AGENTS.override.md`
- excuse internal-only compatibility scaffolding as harmless future-proofing
- excuse parallel same-purpose entities as harmless decomposition when they raise future change cost
- accept canonical owner docs or code that still teach superseded vocabulary or state models
## Initiative child packets
When the reviewed packet belongs to a parent initiative, keep parent/child vocabulary straight:
- parent initiative owns shared context and cross-task contracts
- child packet owns the executable plan and local implementation evidence
- flag duplication or drift that blurs those responsibilities
- flag parent/child state mutations performed by the wrong owner even when behavior still appears to work
## Communication
Honor active caveman mode for user-facing replies per `../../references/communication-mode.md`. Keep durable artifacts normal unless the human asks otherwise. Drop caveman for safety/clarity when needed, then resume.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!