grasp-ooad-reviewlisted
Install: claude install-skill conectlens/lenserfight
# GRASP OOAD review
Use this as background guidance during design and review.
## Responsibility checks
- Who has the information needed to perform this behavior?
- Who should coordinate the use case without absorbing unrelated details?
- Which dependency is unstable and should be hidden behind indirection?
- Is this module gaining more than one reason to change?
## Default moves
- Move behavior toward the owner of the relevant data.
- Split orchestration from pure policy.
- Replace branching with polymorphism when variants are stable and named.
- Extract adapters for infrastructure.
- Collapse needless indirection when it adds no protection.
## Smell to refactoring map
- Long Method -> Extract Function, Split Phase
- Large Class -> Extract Class
- Feature Envy -> Move Function
- Divergent Change -> Extract Class or module split
- Shotgun Surgery -> Move behavior to a better center of gravity
- Primitive Obsession -> Introduce Value Object or Parameter Object