---
title: "gophers"
description: "Production-grade Go programming skills for AI coding agents."
canonical: https://agentpluginsdirectory.com/plugins/gophers
last-updated: 2026-11-07
---

# gophers
Production-grade Go programming skills for AI coding agents.
- Slug: gophers
- Publisher: muratmirgun
- Repository: https://github.com/muratmirgun/gophers
- Manifest: plugin.json
- Version: 0.1.0
- License: MIT
- Category (editorial): code-review
- Skills: 26 (go-clean-architecture, go-code-review, go-code-style, go-concurrency, go-context, go-control-flow, go-data-structures, go-database, go-declarations, go-defensive, go-documentation, go-error-handling, go-functional-options, go-functions, go-generics, go-graphql, go-grpc, go-interfaces, go-linting, go-logging, go-naming, go-observability, go-packages, go-performance, go-swagger, go-testing)
- MCP servers: 0
- Stars: 9
- Repository created: 2026-06-05
- Repository last pushed: 2026-08-11
- Publisher type: User
- Listing: https://agentpluginsdirectory.com/plugins/gophers
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What gophers does, in the publisher's words

26 production-grade Go skills for Claude Code, Gemini CLI, and opencode. Battle-tested patterns from the Go community: codified as triggerable AI skills.

Most AI assistants write Go like a senior JavaScript engineer pretending to like semicolons. gophers plugs in 26 opinionated skills that teach Claude (and friends) to write Go the way the standard library does, small interfaces, errors as values, no magic.

> "The bigger the interface, the weaker the abstraction.": Rob Pike > Now your AI knows that, before it writes a 12-method UserManagerService.

- 🧠 Discoverable: Each skill has an explicit trigger description; Claude knows when to use it.
- 📚 Progressive disclosure: SKILL.md is ≤ 200 lines; deep dives live in references/.
- 🪞 Opinionated: Every rule cites a community source (Effective Go, Google Style Guide, Uber, Rob Pike talks).

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/muratmirgun/gophers/HEAD/README.md

## Skills

- go-clean-architecture: Use when scaffolding or refactoring a Go service into a framework-agnostic clean (hexagonal) architecture: Domain, Usecase, Repository, Delivery layers, inward dependency rule, 'framework/database is a detail'. Apply when untangling a monolith or checking whether business logic is testable without…
- go-code-review: Invoke this skill to systematically review a Go change against community style standards before merging. Walks the diff topic by topic, formatting, errors, naming, concurrency, interfaces, data structures, security, declarations, functions, style, logging, imports, generics, testing, flagging iss…
- go-code-style: Use when writing or reviewing Go code for clarity, formatting, control flow, variable declarations, switch usage, and function design. Covers the priority order (clarity > simplicity > concision > maintainability > consistency), gofmt rules, early-return / no-else patterns, switch over if-else chai…
- go-concurrency: Use when writing or reviewing concurrent Go code, goroutines, channels, select, mutexes, atomics, errgroup, singleflight, worker pools, or fan-out/fan-in pipelines. Apply proactively whenever a goroutine is spawned, a shared field is mutated, or a channel is created, even if the user has not asked…
- go-context: Use when designing, propagating, or debugging context.Context flow in Go: first-parameter placement, deadlines and cancellation, request-scoped values, WithoutCancel for fire-and-forget work, and key-collision-safe value patterns. Apply proactively whenever a function takes ctx, spawns work, or ac…
- go-control-flow: Use when writing conditionals, loops, switches, type switches, or blank-identifier patterns in Go. Covers if-with-initialization, guard clauses, early returns, the unified for loop, range over slices/maps/strings/channels, parallel assignment, labeled break, and `_` for discards and side-effect imp…
- go-data-structures: Use when choosing or operating on Go slices, maps, arrays, strings, or container/* types, including slice internals, capacity growth, preallocation, map buckets, sets via map[T]struct{}, strings.Builder vs bytes.Buffer, generic containers, and the slices/maps standard packages (Go 1.21+). Apply pr…
- go-database: Use when writing, reviewing, or debugging Go code that talks to a SQL database (PostgreSQL, MySQL, MariaDB, SQLite). Covers library choice (database/sql, sqlx, sqlc, pgx, GORM trade-offs), parameterized queries, context propagation, NULL handling, scanning, transactions and isolation, connection po…
- go-declarations: Use when declaring or initializing Go variables, constants, structs, or maps. Covers var vs:=, grouped declaration blocks, iota enums starting at 1, struct/map/slice composite literals, raw string literals, `any` over `interface{}`, and avoiding shadowed builtins. Apply proactively to any new stru…
- go-defensive: Use when hardening Go code at API boundaries: copy slices/maps on entry and return, defer cleanup, verify interface compliance at compile time, model time with time.Time/time.Duration, design enum zero values, prefer crypto/rand, and inject clocks for testability. Apply proactively when reviewing f…
- go-documentation: Use when writing or reviewing Go documentation, godoc comments on packages, types, functions, methods, sentinel errors; runnable Example tests; README/CONTRIBUTING/CHANGELOG. Covers the project-type detection (library vs application) that decides which docs are needed, comment grammar (start with…
- go-error-handling: Use when writing, wrapping, inspecting, or logging Go errors. Covers strategy choice (sentinel vs typed vs opaque), wrapping with %w/%v, errors.Is/As/Join, the log-or-return rule, error strings, and panic/recover boundaries. Apply proactively whenever a function returns or accepts an error, even if…
- go-functional-options
- go-functions
- go-generics
- go-graphql
- go-grpc
- go-interfaces
- go-linting
- go-logging
- go-naming
- go-observability
- go-packages
- go-performance
- go-swagger
- go-testing

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.
