Claude-skill-registry go-development

Production-grade Go development patterns for building resilient services. Use when developing Go applications, implementing job schedulers, Docker integrations, LDAP clients, or needing patterns for resilience, testing, and performance optimization. By Netresearch.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/go-development" ~/.claude/skills/majiayu000-claude-skill-registry-go-development && rm -rf "$T"
manifest: skills/data/go-development/SKILL.md
source content

Go Development Patterns

When to Use

  • Building Go services or CLI applications
  • Implementing job scheduling or task orchestration
  • Integrating with Docker API
  • Building LDAP/Active Directory clients
  • Designing resilient systems with retry logic
  • Setting up comprehensive test suites

Required Workflow

For comprehensive reviews, ALWAYS invoke these related skills:

  1. Security audit - Invoke
    /netresearch-skills-bundle:security-audit
    for OWASP analysis, vulnerability assessment, and security patterns
  2. Enterprise readiness - Invoke
    /netresearch-skills-bundle:enterprise-readiness
    for OpenSSF Scorecard, SLSA compliance, supply chain security
  3. GitHub project setup - Invoke
    /netresearch-skills-bundle:github-project
    for branch protection, rulesets, CI workflow validation

A Go development review is NOT complete until all related skills have been executed.

Core Principles

Type Safety

  • Avoid:
    interface{}
    ,
    sync.Map
    , scattered type assertions, reflection
  • Prefer: Generics
    [T any]
    , concrete types, compile-time verification

Consistency

  • One pattern per problem domain
  • Match existing codebase patterns
  • Refactor holistically or not at all

Conventions

  • Errors: lowercase, no punctuation (
    errors.New("invalid input")
    )
  • Naming: ID, URL, HTTP (not Id, Url, Http)
  • Error wrapping:
    fmt.Errorf("failed to process: %w", err)

References

Load these as needed for detailed patterns and examples:

ReferencePurpose
references/architecture.md
Package structure, config management, middleware chains
references/resilience.md
Retry logic, graceful shutdown, context propagation
references/docker.md
Docker client patterns, buffer pooling
references/ldap.md
LDAP/Active Directory integration
references/testing.md
Test strategies, build tags, table-driven tests
references/linting.md
golangci-lint v2, staticcheck, code quality
references/api-design.md
Bitmask options, functional options, builders
references/fuzz-testing.md
Go fuzzing patterns, security seeds
references/mutation-testing.md
Gremlins configuration, test quality measurement
references/makefile.md
Standard Makefile interface for CI/CD

Quality Gates

Run these checks before completing any review:

golangci-lint run --timeout 5m    # Linting
go vet ./...                       # Static analysis
staticcheck ./...                  # Additional checks
govulncheck ./...                  # Vulnerability scan
go test -race ./...                # Race detection

Contributing: Submit improvements to https://github.com/netresearch/go-development-skill