agentsclimarketplace

Go development

Skill netresearch/go-development-skill/skills/go-development

Agent Skill: Enterprise Go development patterns - resilient services, testing | Claude Code compatible

Install
npx -y skills add netresearch/go-development-skill --skill go-development

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when developing Go applications, implementing job schedulers or cron (netresearch/go-cron, ofelia), Docker API integrations, LDAP/AD clients, building resilient services with retry logic, setting up Go test suites (unit/integration/fuzz/mutation), or running golangci-lint.

The file declares its own license as (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.1 KB, 865 tokens by cl100k_base, as published. Nobody here has run it

Go Development Patterns

Required Workflow

For reviews, invoke related skills: security-audit (OWASP), enterprise-readiness (OpenSSF/SLSA), github-project (branch protection).

Core Principles

Type Safety

  • Avoid: interface{} (use any), sync.Map, scattered type assertions, reflection
  • Prefer: Generics [T any], errors.AsType[T] (Go 1.26), concrete types
  • Run go fix ./... after upgrades

Consistency

  • One pattern per problem domain
  • Match existing codebase patterns
  • Refactor holistically or not at all
  • Config precedence: defaults < config file < env vars < flags

Testing

  • Build tags isolate test tiers: unit (default), integration, e2e
  • Always use t.Parallel(), t.Helper(), table-driven subtests
  • Use log/slog directly -- never wrap it in custom Logger interfaces

Conventions

  • Naming: ID, URL, HTTP (not Id, Url, Http) — not tool-enforced (ST1003 is off by default)
  • Error wrapping: fmt.Errorf("failed to process: %w", err)

References

Git hooks: ls lefthook.yml 2>/dev/null && lefthook install || echo "Add lefthook — see references/lefthook-template.md"

Load as needed:

ReferencePurpose
references/architecture.mdPackage structure, state mutation completeness
references/logging.mdStructured logging with log/slog, migration from logrus
references/cron-scheduling.mdgo-cron patterns: named jobs, runtime updates, resilience, bitmask parser options
references/resilience.mdPointer to go-cron's built-in retry/circuit-breaker/timeout wrappers
references/docker.mdDocker client patterns, buffer pooling
references/ldap.mdLDAP/Active Directory integration
references/testing.mdBuild tags, resource isolation, race and Fiber v2 gotchas
references/linting.mdgolangci-lint v2, staticcheck, code quality
references/api-design.mdEnum/status defensive handling
references/fuzz-testing.mdGo fuzzing patterns, security seeds
references/contracts-and-invariants.mdContracts, invariants, property tests
references/mutation-testing.mdGremlins configuration, test quality measurement
references/makefile.mdStandard Makefile interface for CI/CD
references/modernization.mdGo 1.26 modernizers, go fix, errors.AsType[T], wg.Go()
references/dependencies.mdUpgrades: go get -u all, majors, build-set scoping
references/lefthook-template.mdReady-to-use lefthook.yml for Go project git hooks
references/reusable-workflows.mdReusable Actions workflow callers, permission propagation, release-gate outputs
references/single-build-release.mdSingle-build release: cross-compile once, reuse for release+container
references/awesome-go-submission.mdawesome-go submission: CI-parsed PR body, entry format, name collisions

Quality Gates

Run 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

Stdlib Vulnerability Fixes

When govulncheck reports stdlib vulnerabilities: check fix version via vuln.go.dev, update go X.Y.Z in go.mod, run go mod tidy.


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

What ships with it: 22 files

154.9 KB alongside SKILL.md, 1 of them executable

evals/

scripts/

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.