What problem does it solve? Go developers often struggle to choose the right architectural pattern, misuse init() and global state, or write constructors that break as APIs evolve. This Skill provides opinionated, idiomatic Go design guidance so code stays simple, testable, and production-safe. ## Core Features & Use Cases - Constructor & Initialization Patterns: Functional options with error-returning validation, avoiding init(), enums starting at 1, compile-time interface checks, and package-level regexp compilation. - Resource & Resilience Patterns: Immediate defer Close(), runtime.AddCleanup over SetFinalizer, bounded channel-based pools, timeouts on external calls, context-aware retries, and graceful shutdown via signal.NotifyContext. - Architecture Guidance: Right-sized architecture selection (flat, layered, clean, hexagonal, DDD) with detailed reference guides, aggregate roots, value objects, bounded contexts, and anti-corruption layers. - Use Case: When designing a new Go HTTP service, ask which patterns fit — the Skill recommends functional options for the server constructor, streaming iterators for large data exports, and hexagonal architecture when multiple entry points (HTTP, gRPC, message consumer) are needed. ## Quick Start Ask the agent to design a Go HTTP server constructor with optional timeouts and connection limits using idiomatic patterns.