golang-popular-libraries — Claude Code skill: choosing Go libraries
A skill to select production-ready Go libraries and frameworks by category (web, database, testing, logging, messaging). Use it when you need to compare alternatives or pick a dependency for a new task.
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a claude-codeWhat golang-popular-libraries does
The skill includes a curated catalog of libraries, guidance on new stdlib packages, and a decision framework: check stdlib first, then assess production-readiness and simplicity. It covers maturity signals (maintenance status, license, importer counts) to help you avoid over-engineering and unnecessary dependencies.
The skill integrates with tools to audit libraries on pkg.go.dev (versions, importers, vulnerabilities) and gopls to explore source code side by side. Cross-references point to dependency management, gRPC, testing, and other specialized skills. Requires go installed in your project.
What it helps with
- select a library for web frameworks, databases, or testing
- compare alternative solutions and gauge their maturity
- determine whether stdlib is sufficient and no external dependency is needed
- find a well-maintained, actively supported option
Example prompts for the agent
- What web framework would you recommend for a Go HTTP server?
- Compare gin versus chi for a REST API — which should I pick?
- Do I need an external logging library or is the standard library enough?
How to install golang-popular-libraries
1Skills CLI (Vercel)
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a claude-code2Manually: put the files in place
~/.claude/skills/golang-popular-libraries/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/golang-popular-libraries/
1Skills CLI (Vercel)
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a codex2Manually: put the files in place
.agents/skills/golang-popular-libraries/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a cursor2Manually: put the files in place
.cursor/skills/golang-popular-libraries/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install samber/cc-skills-golang golang-popular-libraries2Manually: put the files in place
.github/skills/golang-popular-libraries/SKILL.md1Skills CLI (Vercel)
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a gemini-cli2Platform CLI
gemini skills install https://github.com/samber/cc-skills-golang --path skills/golang-popular-librariesManually: put the files in place
.devin/skills/golang-popular-libraries/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set38
The whole set →Similar
Questions about golang-popular-libraries
How do I install golang-popular-libraries in Claude Code?
Run npx skills add samber/cc-skills-golang --skill golang-popular-libraries -a claude-code, then locate the skill file at ~/.claude/skills/golang-popular-libraries/SKILL.md.
What does golang-popular-libraries do?
This skill helps you choose suitable Go libraries and frameworks for your project. It maintains catalogs of vetted solutions, assesses production-readiness, and shows when the standard library is enough.
Which platforms support this skill?
The skill works with Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and OpenCode. It requires Go to be installed in your project.
Source text
SKILL.md · MIT
---
name: golang-popular-libraries
description: "Golang library and framework selection — vetted production-ready options by category (web, database, testing, logging, messaging), new and experimental stdlib packages, standard-library-first tradeoffs, and maturity signals (maintenance, license, importer counts). Apply when the user asks for library suggestions, wants to compare alternatives, needs to choose a library for a specific task, or when a new dependency is being added to the project. Not for a specific library's API once chosen (→ See that library's dedicated skill, e.g. `samber/cc-skills-golang@golang-samber-lo`), nor for go.mod mechanics, upgrades, or vulnerability audits (→ See `samber/cc-skills-golang@golang-dependency-management` skill)."
user-invocable: true
license: MIT
compatibility: Designed for Claude Code, Codex or similar harness, and for projects using Golang.
metadata:
author: samber
version: "1.2.2"
openclaw:
emoji: "📚"
homepage: https://github.com/samber/cc-skills-golang
requires:
bins:
- go
install: []
allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion mcp__context7__resolve-library-id mcp__context7__query-docs Bash(godig:*) Bash(gopls:*) LSP mcp__gopls__*
---
**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:
1. **Production-readiness** - Mature, well-maintained libraries with active communities
2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions
3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)
4. **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](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions
- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more
- [Development Tools](./references/tools.md) — 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-dev` skill (`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-gopls` skill (`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:
1. **Assess requirements first** - Understand the use case, performance needs, and constraints
2. **Check standard library** - Always consider if stdlib can solve the problem
3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending. Use a module's `imported-by` count on pkg.go.dev as a popularity and indirect quality signal — widely-imported libraries are more battle-tested and have stronger backward-compatibility pressure; → See `samber/cc-skills-golang@golang-pkg-go-dev` skill to count importers and compare alternatives
4. **Consider complexity** - Simpler solutions are usually better in Go
5. **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-management` skill for adding, auditing, and managing dependencies
- → See `samber/cc-skills-golang@golang-pkg-go-dev` skill 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-do` skill for samber/do dependency injection details
- → See `samber/cc-skills-golang@golang-samber-hot` skill for samber/hot in-memory caching details
- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details
- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details
- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details
© samber · MIT · samber/cc-skills-golang