What problem does it solve? Writing object-oriented Perl with Moo involves many subtle conventions — role composition order, lazy builders, delegation, method modifiers, and lifecycle hooks — where small mistakes cause shared-state bugs, broken BUILD chains, or unexpected Moose inflation. This Skill encodes house conventions and thirteen concrete patterns so generated Moo code is correct and idiomatic from the start. ## Core Features & Use Cases - Thirteen Moo patterns: inheritance with attribute overrides, roles with requires, thin role-only classes, delegation via handles and Sub::HandlesVia, method modifiers, parameterized roles, and Moose interop. - House conventions: with placement, is => 'lazy' builders, Types::Standard typed attributes, init_arg aliasing, and strict constructors via MooX::StrictConstructor. - Pitfall catalog: catches common bugs like default => [] shared state, replacing extends calls, namespace::autoclean version issues, and manual SUPER::BUILD calls. - Use Case: When asked to add a new class to a Moo-based distribution, the Skill produces a role-first design with typed attributes, lazy builders, and correct lifecycle hooks instead of a deep inheritance hierarchy. ## Quick Start Write a Moo class for a Docker container resource with typed attributes, a lazy builder, and a role for shared ID handling.