Golang Popular Libraries
Samuel BertheCommunityCreated by samberDistributed by Samuel Berthe
- Skill
- Guidelines
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a curated, expert-led approach to selecting Go libraries and frameworks. It emphasizes a 'standard library first' philosophy, ensuring that developers only introduce external dependencies when necessary. It offers a vetted catalog of production-ready options across common categories like web, database, and testing, while providing clear criteria for assessing maturity, maintenance, and performance. The skill acts as a decision-making framework to help developers avoid over-engineering and dependency bloat.
What it does
- Recommends vetted, production-ready Go libraries by category.
- Promotes the use of the Go standard library and official golang.org/x extensions.
- Provides criteria for evaluating library maturity, including maintenance and community adoption.
- Helps developers compare alternative libraries for specific tasks.
- Advises on when to avoid external dependencies to keep projects simple and maintainable.
When to use it
- When you need to choose a library for a new task or feature.
- When you are evaluating alternatives for an existing dependency.
- When you want to know if the standard library can solve a specific problem.
- When you are adding a new dependency and want to ensure it is production-ready.
Advantages
- Reduces dependency bloat by prioritizing standard library solutions.
- Ensures selection of mature, well-maintained, and performant code.
- Provides a consistent, idiomatic approach to Go project architecture.
- Helps mitigate risks associated with abandoned or unmaintained packages.
Usage examples
- “What is the best library for building a REST API in Go?”
- The agent will provide a comparison of popular frameworks like Gin, Echo, and Chi, highlighting their strengths and suggesting the best fit based on your specific performance or simplicity requirements.
- “Should I use an external library for structured logging?”
- The agent will explain the capabilities of the standard library's log/slog package and advise whether it meets your needs or if an external library is required for advanced features.
- “I need a database ORM. What are my options?”
- The agent will list vetted options like GORM, SQLx, or Ent, explaining the trade-offs between reflection-based ORMs and code-generation tools like sqlc.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/samber/golang-popular-libraries/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip golang-popular-libraries.zip -d .agents/skills
Documentation by samber
Persona: You are a Go ecosystem expert. You know the library landscape well enough to recommend the simplest production-ready option — and to tell the developer when the standard library is already enough.
Go Libraries and Frameworks Recommendations
Core Philosophy
When recommending libraries, prioritize:
Production-readiness - Mature, well-maintained libraries with active communities
Simplicity - Go's philosophy favors simple, idiomatic solutions
Performance - Libraries that leverage Go's strengths (concurrency, compiled performance)
Standard Library First - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value
Reference Catalogs
Standard Library - New & Experimental — v2 packages, promoted x/exp packages, golang.org/x extensions
Libraries by Category — vetted third-party libraries for web, database, testing, logging, messaging, and more
Development Tools — debugging, linting, testing, and dependency management tools
Find more libraries here: https://github.com/avelino/awesome-go
This skill is not exhaustive — refer to library documentation and code examples for more information:
When exploring a candidate library, → See
samber/cc-skills-golang@golang-pkg-go-devskill (godig) for docs, symbols, versions, importers, and known vulnerabilities — prefer it over Context7 for Go package facts.Once a candidate is added to your build, → See
samber/cc-skills-golang@golang-goplsskill (gopls) to browse its actual resolved source and compare candidates side by side.Context7 remains a fallback for docs not indexed on pkg.go.dev.
General Guidelines
When recommending libraries:
Assess requirements first - Understand the use case, performance needs, and constraints
Check standard library - Always consider if stdlib can solve the problem
Prioritize maturity - MUST check maintenance status, license, and community adoption before recommending. Use a module's
imported-bycount on pkg.go.dev as a popularity and indirect quality signal — widely-imported libraries are more battle-tested and have stronger backward-compatibility pressure; → Seesamber/cc-skills-golang@golang-pkg-go-devskill to count importers and compare alternativesConsider complexity - Simpler solutions are usually better in Go
Think about dependencies - More dependencies = more attack surface and maintenance burden
Remember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.
Anti-Patterns to Avoid
Over-engineering simple problems with complex libraries
Using libraries that wrap standard library functionality without adding value
Abandoned or unmaintained libraries: ask the developer before recommending these
Suggesting libraries with large dependency footprints for simple needs
Ignoring standard library alternatives
Cross-References
→ See
samber/cc-skills-golang@golang-dependency-managementskill for adding, auditing, and managing dependencies→ See
samber/cc-skills-golang@golang-pkg-go-devskill to vet a candidate library on pkg.go.dev — versions, importers, licenses, and known vulnerabilities — before adopting it→ See
samber/cc-skills-golang@golang-samber-doskill for samber/do dependency injection details→ See
samber/cc-skills-golang@golang-samber-hotskill for samber/hot in-memory caching details→ See
samber/cc-skills-golang@golang-samber-oopsskill for samber/oops error handling details→ See
samber/cc-skills-golang@golang-stretchr-testifyskill for testify testing details→ See
samber/cc-skills-golang@golang-grpcskill for gRPC implementation details
Files
- ATTRIBUTION.mdAdded by AutoGineer929 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md5.1 KiB
- evals/evals.json12.7 KiB
- references/libraries.md12.2 KiB
- references/stdlib.md2.7 KiB
- references/tools.md1.3 KiB
references/tools.md
Go Development Tools
Debugging
Delve (https://github.com/go-delve/delve) Debugger for the Go programming language. Source-level debugger for Go programs.
Linting & Code Quality
golangci-lint (https://github.com/golangci/golangci-lint) Fast Go linters runner. Runs multiple linters in parallel, highly configurable, the industry standard for Go code quality.
Testing
gotest (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.
cover (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.
benchstat (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.
goleak (https://github.com/uber-go/goleak) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.
Dependency Management
go-mod-outdated (https://github.com/psampaz/go-mod-outdated) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.
goweight (https://github.com/jondot/goweight) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat.
Requirements and compatibility
Written for: Claude Code, OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Claude Code frontmatter
The author says: Designed for Claude Code, Codex or similar harness, and for projects using Golang.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- samber
- Publisher
- Samuel Berthe (Community)
- Distributed by
- Samuel Berthe
- Source
- samber/cc-skills-golang · skills/golang-popular-libraries · commit bb1d43d
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by samber or Samuel Berthe.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download golang-popular-libraries.zip