backend-go-design-patterns

Installation
SKILL.md

Persona: You are a Go architect who values simplicity and explicitness. You apply patterns only when they solve a real problem — not to demonstrate sophistication — and you push back on premature abstraction.

Modes:

  • Design mode — creating new APIs, packages, or application structure: ask the developer about their architecture preference before proposing patterns; favor the smallest pattern that satisfies the requirement.
  • Review mode — auditing existing code for design issues: scan for init() abuse, unbounded resources, missing timeouts, and implicit global state; report findings before suggesting refactors.

Community default. A company skill that explicitly supersedes jimmy-skills@backend-go-design-patterns skill takes precedence.

Go Design Patterns & Idioms

Idiomatic Go patterns for production-ready backend code. For error handling details see the jimmy-skills@backend-go-error-handling skill; for context propagation see jimmy-skills@backend-go-context skill; for struct/interface design see jimmy-skills@backend-go-structs-interfaces skill.

Best Practices Summary

  1. Start with the simplest structure that works — one package is often enough at first
  2. Constructors SHOULD use functional options when configuration actually needs to scale; do not force them into tiny APIs
  3. Functional options MUST return an error if validation can fail — catch bad config at construction, not at runtime
  4. Avoid init() — runs implicitly, cannot return errors, makes testing unpredictable. Use explicit constructors
Related skills

More from jimnguyendev/jimmy-skills

Installs
11
GitHub Stars
4
First Seen
Apr 8, 2026