What problem does it solve? When adding features to a DDD hexagonal Spring Boot codebase, developers often misplace business logic in services or controllers, creating anemic domain models and untestable code. This Skill provides the exact workflow, placement rules, and testing strategy for building domain models, policies, use cases, and controllers in the smash (ProvinceHow) backend. ## Core Features & Use Cases - Inside-Out Feature Workflow: Guides building features from domain model to policy, port, use case, adapter, and controller, with tests passing at each stage. - Logic Placement Rules: Provides decision tables for where code belongs (domain model, enum method, Policy, application service, infrastructure, presentation) and refactoring signals for anemic models. - Layered Test Strategy: Defines a test pyramid using pure JUnit for domain logic, Mockito port mocking for use cases, @WebMvcTest slices for controllers, and Testcontainers-based integration tests. - Use Case: When adding a new scoring feature like job-fit scoring, follow the four-way decomposition pattern (enum normalization, Policy formula, repository port, cache port) and write pure JUnit tests for the policy before touching Spring. ## Quick Start Use the backend-conventions skill to implement a new domain feature with its policy, use case, controller, and tests following the DDD layered structure.