abstraction-laws
Installation
SKILL.md
Abstraction Laws
When to use
- You see the same code shape in 3+ places and want to unify it.
- Refactors stall on “how general should this be?”.
- Parameter clusters repeat across modules.
- Algebraic cues show up (map/fold/compose, identity/associativity, combine/merge ops).
Quick start
- Collect 3+ concrete instances (file:line).
- Classify similarity: essential (domain) vs accidental (incidental implementation).
- Run the seam test (can callers stay ignorant of the concrete variant?).
- Name the abstraction by behavior.
- If algebraic, pick the minimal construction and add one executable law check.