publish-plugins
(project) Use when editing any file under skills/ or plugins/ to bump the plugin version and check the manifests
Use when the user asks what could be deleted or reduced to simplify a codebase, says "simplify", "over-engineered", or wants a repo-, folder-, or file-wide audit for over-engineering — hunts dead code, reinvented stdlib, needless dependencies, and single-implementation
$ npx -y skills add vinta/hal-9000 --skill fuck-over-engineering --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/fuck-over-engineeringContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user asks what could be deleted or reduced to simplify a codebase, says "simplify", "over-engineered", or wants a repo-, folder-, or file-wide audit for over-engineering — hunts dead code, reinvented stdlib, needless dependencies, and single-implementation
name: fuck-over-engineering description: Use when the user asks what could be deleted or reduced to simplify a codebase, says "simplify", "over-engineered", or wants a repo-, folder-, or file-wide audit for over-engineering — hunts dead code, reinvented stdlib, needless dependencies, and single-implementation abstractions, reports ranked cuts, applies only the picks. Not a diff review and not a bug hunt argument-hint: "[path, module, or area — omit for whole repo]"
Audit the scope for over-engineering and report what to cut, ranked biggest cut first. The best outcome is a shorter codebase with the same behavior. The argument is the scope; without one, the whole tree. Read what the scope holds before judging it, and fan out subagents when it will not fit in context.
Dependencies the stdlib or platform already covers, single-implementation interfaces, factories with one product, wrappers that only delegate, files exporting one thing, dead flags and config, hand-rolled stdlib, near-duplicates of an existing helper, special-case branches bolted onto shared paths, feature logic living in shared modules.
Every finding cites the evidence that makes it a cut: caller count, implementation count, or the stdlib or platform feature and the version that ships it. Count callers through dynamic dispatch, entry points, hooks, and tests, not grep alone. A published package's public export stays at zero in-repo callers. Verify `stdlib:` and `native:` claims against current docs (the `find-docs` skill when present) before asserting them.
A finding removes lines or concepts; moving them between files is a refactor, not a cut. Fewer, bigger cuts beat a long list: a `shrink:` that saves two lines earns a slot only when it also removes a concept.
Use `AskUserQuestion` in Claude Code or `request_user_input` in Codex when available. Use plain text when neither tool is available.
One line per finding, numbered, ranked biggest cut first:
`N. <tag> <what to cut>. <replacement>. <evidence>. [path:line]`
`delete:` omits the replacement sentence. End with `net: -<N> lines, -<M> deps possible.` Nothing to cut: `Lean already. Ship.`
Then offer the findings in ranked batches, collect the user's picks, and apply them.
Over-engineering and complexity only: correctness bugs, security holes, and performance belong to a normal review pass. Trust-boundary validation, data-loss handling, security, and accessibility are never cuts. A single smoke test or assert-based self-check is the minimum, not bloat. Tests enter the report only as a side effect of a deleted target.
Opinionated AI coding agent and dev environment automation for macOS that dominates your dev setup like cats rule the Internet. This project is named after Arthur C.
(project) Use when editing any file under skills/ or plugins/ to bump the plugin version and check the manifests
(project) Use when upgrading install tasks in playbooks/roles/ against upstream docs — bumping a pinned version, adopting a newly…
Use when auditing Claude Code or Codex settings and env vars against the latest docs to suggest tailored changes
Use when about to choose, configure, or refine a tool, library, config format, API pattern, or project setup, or before proposing…
Use when the user asks for a blindspot pass or to find their unknown unknowns, or signals unfamiliarity with a domain, tool, or…
Use when making any git commit. Pass the failure, false claim, or risk the changes fix as the argument; for an addition or a…