oop-design-reviewlisted
Install: claude install-skill ch4570/vulpora
# Object-Oriented Design Review (OOP Design Review)
A skill that diagnoses and improves design smells using the **roles, responsibilities, and
collaboration** and responsibility-driven design of Cho Young-ho's "Object" and "The Reality and
Misconception of Object Orientation", together with SOLID, GRASP, and the cohesion/coupling
principles.
For grounding facts, see this skill's `reference/kb/` (SOLID, GRASP, cohesion/coupling,
encapsulation/invariants, composition vs. inheritance, the Law of Demeter); for the principles, see
`reference/principles.md`. The index is `reference/kb/INDEX.md` (if you can't find the path, search
with Glob).
## Review order (proceed exactly like this)
1. **Diagnose responsibility placement** — Is the logic piled up in a service far away from the
data (the entity) (anemic domain)?
2. **Tell, Don't Ask** — Code that calls `getX()` and then decides externally and `setY()`s →
delegate to the object that holds that data.
3. **Encapsulation** — Is mutable internal state (collections/state) exposed as-is → read-only +
mutating methods.
4. **Dependency direction** — Does a stable abstraction depend on an unstable concrete (DIP
violation) → invert via an interface (port).
5. **Persistence leakage** — The domain depends directly on EntityManager/`@Repository`, the entity
is exposed all the way to the API → separate them.
6. **Report** — Before/After + application steps. Don't break persistence invariants or transaction
semantics (separat