AgentSkillsCN

go-development

以 Go 语言为基础,构建具备韧性服务的生产级开发模式。适用于开发 Go 应用程序、实现任务调度器、Docker 集成、LDAP 客户端,或在需要韧性保障、测试优化与性能提升的场景中使用。由 Netresearch 提供支持。

SKILL.md
--- frontmatter
name: go-development
description: "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."

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.mdPackage structure, config management, middleware chains
references/resilience.mdRetry logic, graceful shutdown, context propagation
references/docker.mdDocker client patterns, buffer pooling
references/ldap.mdLDAP/Active Directory integration
references/testing.mdTest strategies, build tags, table-driven tests
references/linting.mdgolangci-lint v2, staticcheck, code quality
references/api-design.mdBitmask options, functional options, builders
references/fuzz-testing.mdGo fuzzing patterns, security seeds
references/mutation-testing.mdGremlins configuration, test quality measurement
references/makefile.mdStandard Makefile interface for CI/CD

Quality Gates

Run these checks before completing any review:

bash
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