What problem does it solve? Writing Go application-layer use cases consistently is hard: transactions, domain event persistence, validation, and dependency injection are easy to get wrong, leading to partial writes, lost events, and unmappable errors. This Skill codifies the exact pattern for implementing use cases that satisfy the types.Handler[I,O] contract inside a DDD/CQRS Go backend. ## Core Features & Use Cases - Handler Implementation Pattern: Guides creation of structs implementing Name() and Execute(ctx, input) with validate-tagged Input/Output structs. - Transactional Integrity: Enforces the UnitOfWork pattern where all repository saves and domain event persistence (outbox) run inside one transaction, while external I/O runs after commit. - fx Dependency Wiring: Shows constructor injection and fx.Provide registration in module.go, with handlers consumed as concrete pointer types. - Use Case: When adding a "complete transcoding job" command, follow the Skill to define validated input, load the entity in a transaction, apply behavior, save the entity plus its domain events atomically, and register the handler with fx. ## Quick Start Ask the agent to create a new Go use case for a given bounded context following the usecase-go skill, providing the context name, entity, and repository.