What problem does it solve? Go developers often face recurring design decisions — constructor APIs, enum definitions, resource cleanup, graceful shutdown, and architecture selection — where the wrong default leads to brittle, untestable, or over-engineered code. This Skill encodes idiomatic Go design patterns so an AI coding agent applies the right pattern for the problem instead of generic or over-abstracted solutions. ## Core Features & Use Cases - Constructor & Initialization Patterns: Functional options over builders, 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, the agent asks about architecture preference, applies functional options for server configuration, sets up graceful shutdown with signal handling, and streams large database exports instead of loading everything into memory. ## Quick Start Ask the agent to design a Go HTTP server constructor with configurable timeouts and connection limits using idiomatic patterns.