What problem does it solve? Business logic in Java desktop projects often ends up tangled inside screen controllers, making it untestable and unreusable. This Skill creates a dedicated service (use case) class that concentrates the business rule of an operation, orchestrating entities and DAOs while keeping controllers thin — and, critically, it mirrors the conventions of the existing project instead of imposing a generic pattern. ## Core Features & Use Cases - Project-mirroring service generation: Reads an existing service in the project first, then replicates its real package, dependency style (constructor injection vs. direct fields), error-signaling convention (exceptions vs. null/Optional returns), and logging approach. - Non-negotiable invariants: Enforces business validation before persistence, no SQL or UI access inside the service, and atomic transactions for multi-step operations — while detecting where the transactional boundary actually lives. - Honest verification: Compiles the result and writes service tests with DAO doubles only when the project already practices that pattern; otherwise it declares an explicit SKIP rather than fabricating coverage. - Use Case: Ask it to create a 'CadastrarCliente' service in a JavaFX project: it inspects the existing services and DAOs, then produces a class indistinguishable from the project's own code, with declared assumptions for anything unconfirmed. ## Quick Start Use the java-service-usecase skill to create the service layer for the close-shift operation, orchestrating the existing Shift entity and ShiftDAO in the same style as the project's current services.