golang-patterns
Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
npx skills add mturac/everything-openai-codex --skill golang-patterns --agent codex
Same command for any agent — swap --agent for claude-code, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Go Development Patterns Idiomatic Go patterns and best practices for building robust, efficient, and maintainable applications. ## When to Activate - Writing new Go code - Reviewing Go code - Refactoring existing Go code - Designing Go packages/modules ## Core Principles ### 1. Simplicity and Clarity Go favors simplicity over cleverness. Code should be obvious and easy to read. ```go // Good: Clear and direct func GetUser(id string) (*User, error) { user, err := db.FindUser(id) if err != nil { return nil, fmt.Errorf("get user %s: %w", id, err) } return user, nil } // Bad: Overly clever func GetUser(id string) (*User, error) { return func() (*User, error) { if u, e := db.FindUser(id); e == nil { return u, nil } else { return nil, e } }() } ``` ### 2. Make the Zero Value Useful Design types so their zero value is immediately usable without initialization. ```go // Good: Zero value is useful type Counter struct { mu sync.Mutex count int // zero value is 0, ready to use } func (c *Counter) Inc() { c.mu.Lock() c.count++ c.mu.Unlock() } // Good: bytes.Buffer works with zero value var buf bytes.Buffer buf.WriteString("hello") // Bad: Requires initialization type BadCounter struct { coun
- When to Activate
- Core Principles
- 1. Simplicity and Clarity
- 2. Make the Zero Value Useful
- 3. Accept Interfaces, Return Structs
- Error Handling Patterns
- Error Wrapping with Context
- Custom Error Types
- Error Checking with errors.Is and errors.As
- Never Ignore Errors
- Concurrency Patterns
- Worker Pool
- Context for Cancellation and Timeouts
- Graceful Shutdown
Build and run go build ./... go run ./cmd/myapp Testing go test ./... go test -race ./... go test -cover ./... Static analysis go vet ./... staticcheck ./...
What does the golang-patterns skill do?
Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
How do I install it?
Run `npx skills add mturac/everything-openai-codex --skill golang-patterns --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From mturac/everything-openai-codex, a repository with 84 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
