What problem does it solve? Deep object coupling through chained method calls (Train Wrecks like order.getCustomer().getAddress().getCity()) makes code fragile and hard to change. This Skill reviews code for Law of Demeter violations and guides refactoring toward low-coupling designs where objects only talk to their direct friends. ## Core Features & Use Cases - Violation Detection: Identifies Train Wreck patterns, getter chains, and calls on returned objects using the four allowed-call rules (self, parameters, locally created objects, instance fields). - Refactoring Patterns: Provides transformation recipes including delegation methods, purpose-driven naming, parameter passing, and moving behavior into objects, with per-language examples for Java, Kotlin, Scala, TypeScript, Python, Ruby, Go, and Rust. - Exception Awareness: Distinguishes real violations from acceptable chains such as fluent APIs, builders, DTOs, stream operations, and standard library calls, and warns against over-application (delegation method explosion). - Use Case: During a code review of a Java service, you find order.getCustomer().getAddress().getCountry().isShippable(). The Skill flags it as a friend-of-a-friend violation and shows how to add order.isShippable() delegation methods across each level. ## Quick Start Review this class for Law of Demeter violations and refactor any chained method calls into delegation methods.