# Grasp Ooad Review

> Review design decisions using GRASP, OOAD responsibility assignment, and standard refactoring rules. Use when code placement, object responsibility, coupling, cohesion, or refactoring direction is unclear.

- Skill: `conectlens/grasp-ooad-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add conectlens/grasp-ooad-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/conectlens/grasp-ooad-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: conectlens (https://skillmd.com/u/conectlens)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/conectlens/grasp-ooad-review

---

# 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

