What problem does it solve? When multiple developers or AI agents write code for a DDD hexagonal Spring Boot project, inconsistent package naming, class suffixes, exception handling, and DTO usage quickly erode the architecture. This Skill provides a single authoritative rulebook so every new class, exception, DTO, and log statement follows the same global conventions. ## Core Features & Use Cases - Package and Class Naming Catalog: Enforces lowercase package structure (SDD.smash.domain.<context>.<layer>) and a complete suffix catalog (...Policy, ...JpaEntity, ...RedisAdapter, ...QueryService, etc.) per layer. - Exception Design Rules: Standardizes DomainException + ErrorCode with HTTP status mapping isolated in ErrorCodeHttpMapper, keeping the domain free of framework dependencies. - DTO Three-Way Separation: Mandates distinct domain models, application DTOs, and presentation DTOs, with records as the default and primitive types confined to the presentation boundary. - Logging Standards: Defines per-layer logging policy (no logging in domain), @Slf4j usage, placeholder formatting, and secret-masking rules. - Use Case: When adding a new ErrorCode, creating a use-case service, or naming a JPA adapter in the smash/ProvinceHow backend, consult this Skill to pick the correct package, suffix, and validation pattern. ## Quick Start Ask the AI to create a new domain service or exception for the smash backend following the global-conventions rules.