What problem does it solve? Setting up dependency injection in Go often leads to tangled manual wiring in main.go, v1/v2 import confusion, and service locator anti-patterns. This Skill guides AI coding agents to configure samber/do v2 correctly, with proper service lifecycles, scopes, and testability. ## Core Features & Use Cases - Service Registration & Lifecycles: Register lazy, eager, transient, and value services, including named services for multiple instances of the same type. - Modular Organization: Group registrations with do.Package and organize services by lifecycle using root containers and child scopes. - Lifecycle & Testing: Implement Healthchecker and Shutdowner interfaces for health checks and graceful shutdown, and use container cloning with overrides for mock-based tests. - Use Case: When refactoring a Go web app from manual DI, use this Skill to register config and logger in the root container, scope per-request services, and shut everything down cleanly on SIGINT. ## Quick Start Ask the agent to set up dependency injection in your Go project with samber/do v2, registering a database, a user service, and graceful shutdown on interrupt signals.