z-no-over-engineering
Installation
SKILL.md
No over-engineering
Build the smallest thing that solves the problem in front of you. Add the next layer of abstraction when a second concrete case demands it, not before.
Reuse ladder
Take the first rung that solves the whole requested task:
- Establish the complete requested outcome and every affected caller before choosing an implementation.
- Omit features, options, and flexibility nobody requested. Omit nothing the request requires.
- Reuse code that already exists in this repository, the way the surrounding code uses it.
- Use the standard library or a native platform feature when no house abstraction already owns the behavior.
- Use an installed dependency when it fits the task.
- Otherwise write the smallest readable implementation that works.
Work the ladder after you understand the change, never instead of understanding it. A one-liner a reader must decode is not the smallest change. Do not add a dependency for a few straightforward lines. Do not delete established architecture to shrink the diff. The shortest working diff wins only once you know everything it must touch.