On-demand review that hunts ONLY over-engineering and reports what to delete - reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. Three one-shot modes, none apply fixes: diff review, whole-repo audit, and an enigma: debt-marker ledger. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", "audit this codebase", "find bloat", "what did we defer", "list the shortcuts", or "what did w...
Scanned 9/2/2026
Install to Claude Code
npx -y skills add FJRG2007/enigma --skill anti-overengineering-review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Anti Overengineering Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/fjrg2007-anti-overengineering-review)More formats (shields.io, HTML) on the badges page.
---
name: anti-overengineering-review
description: On-demand review that hunts ONLY over-engineering and reports what to delete - reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. Three one-shot modes, none apply fixes: diff review, whole-repo audit, and an enigma: debt-marker ledger. Use when the user says "review for over-engineering", "what can we delete", "is this over-engineered", "simplify review", "audit this codebase", "find bloat", "what did we defer", "list the shortcuts", or "what did we mark to do later". Complements code-review-policy (which owns correctness, security, and performance); this one only cuts complexity.
---
# Anti-Overengineering Review
On-demand complexity hunting. This skill finds what to delete and reports it;
it never applies the fixes. Correctness bugs, security holes, and performance go
to a normal review pass (code-review-policy owns those) - this one only cuts
complexity. The build-time discipline that prevents the bloat in the first place
lives in anti-overengineering-policy.
Pick the mode from the request:
- **Review** - a diff or set of changes (default).
- **Audit** - the whole repository.
- **Debt** - harvest the `enigma:` shortcut markers into a ledger.
## Tags (Review and Audit)
One line per finding. Each is tagged by what kind of cut it is:
- `delete:` dead code, unused flexibility, speculative feature. Replacement: nothing.
- `stdlib:` hand-rolled thing the standard library ships. Name the function.
- `native:` dependency or code doing what the platform already does. Name the feature.
- `yagni:` abstraction with one implementation, config nobody sets, layer with one caller.
- `shrink:` same logic, fewer lines. Show the shorter form.
## Review (diff)
Format: `L<line>: <tag> <what>. <replacement>.`, or `<file>:L<line>: ...` for
multi-file diffs. The diff's best outcome is getting shorter.
Bad: "This EmailValidator class might be more complex than necessary; have you
considered whether all these rules are needed?"
Good:
- `L12-38: stdlib: 27-line email validator class. "@" check in one line; real validation is the confirmation mail.`
- `L4: native: moment.js imported for one format call. Intl.DateTimeFormat, 0 deps.`
- `repo.py:L88: yagni: AbstractRepository with one implementation. Inline it until a second one exists.`
- `L52-71: delete: retry wrapper around an idempotent local call. Nothing replaces it.`
- `L30-44: shrink: manual loop builds a dict. dict(zip(keys, values)), 1 line.`
End with the only metric that matters: `net: -<N> lines possible.` Nothing to
cut: `Lean already. Ship.`
## Audit (repo-wide)
Review, applied to the whole tree instead of a diff. Same tags, ranked biggest
cut first. Hunt: dependencies the stdlib or platform already ships,
single-implementation interfaces, factories with one product, wrappers that only
delegate, files exporting one thing, dead flags and config, hand-rolled stdlib.
Format: `<tag> <what to cut>. <replacement>. [path]`, ranked. End with
`net: -<N> lines, -<M> deps possible.` Nothing to cut: `Lean already. Ship.`
## Debt (marker ledger)
Every deliberate shortcut left by anti-overengineering-policy is marked with an
`enigma:` comment naming its ceiling and upgrade path. Collect them so a
deferral cannot quietly become permanent.
Scan the repo for the markers, skipping `node_modules`, `.git`, and build output:
```
grep -rnE '(#|//) ?enigma:' .
```
(Add other comment prefixes if the stack uses them.) The comment prefix keeps
prose that merely mentions the convention out of the ledger.
One row per marker, grouped by file:
`<file>:<line> - <what was simplified>. ceiling: <the limit named>. upgrade: <the trigger to revisit>.`
Pull the ceiling and the trigger straight from the comment (the convention is
`enigma: <ceiling>, <upgrade path>`). Any marker that names no upgrade path or
trigger gets a `no-trigger` tag - those are the ones that silently rot. End with
`<N> markers, <M> with no trigger.` Nothing found: `No enigma: debt. Clean ledger.`
## Boundaries
- Complexity only. Correctness, security, and performance go to code-review-policy.
- A single smoke test or assert-based self-check is the anti-overengineering minimum, not bloat - never flag it for deletion.
- Lists findings; applies nothing. One-shot report. Ask before writing a ledger to a file (e.g. `OVERENGINEERING-DEBT.md`).
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!