What problem does it solve? Go applications often suffer from tightly coupled services, global variables, and untestable code. This Skill guides you to structure Go services with proper dependency injection, making them testable, loosely coupled, and maintainable. ## Core Features & Use Cases - DI Architecture Guidance: Enforces constructor injection, interfaces defined at consumption sites, and composition-root-only containers while flagging anti-patterns like service locators and global state. - Library Decision Support: Compares manual injection, google/wire, uber-go/dig + fx, and samber/do across type safety, lifecycle management, lazy loading, and learning curve with a decision table. - Testing Patterns: Shows how to inject mocks at interface boundaries and use container cloning with overrides for integration tests. - Use Case: When refactoring a Go microservice with 40+ coupled services, the Skill orchestrates sub-agents to find globals, map concrete dependencies, detect service locators, and produce a migration plan. ## Quick Start Ask the agent to review your Go service architecture and recommend a dependency injection approach with wiring code for your project.