What problem does it solve? Unity codebases often become fragile when MonoBehaviours take on multiple responsibilities, reference concrete classes directly, and leak memory through undisposed event subscriptions. This Skill enforces modular design principles so components stay decoupled, testable, and safe to refactor. ## Core Features & Use Cases - Decoupling Enforcement: Detects hard dependencies between components and replaces them with injected interface contracts, so each script compiles and initializes in isolation. - Architecture Guidance: Applies composition over inheritance, event-driven communication (Action callbacks, EventBus, UniRx/R3), and .asmdef assembly isolation to enforce layer boundaries between Core, Gameplay, and UI. - Over-Engineering Guardrails: Distinguishes Framework systems (interface-first) from Domain systems (concrete classes) to avoid premature abstraction. - Use Case: When reviewing a PlayerController that calls FindObjectOfType<HUDManager> in Awake, the Skill flags the hard dependency and refactors it to an injected IHealthSystem-style contract with proper event cleanup in OnDisable. ## Quick Start Ask the AI to review your MonoBehaviour for modularity issues and refactor any direct component references into interface-based, event-driven designs.