Agent skill
golang-popular-libraries
Recommends production-ready Golang libraries and frameworks. Apply when the user asks for library suggestions, wants to compare alternatives, or needs to choose a library for a specific task. Also apply when the AI agent is about to add a new dependency — ensures vetted, production-ready libraries are chosen.
Install this agent skill to your Project
npx add-skill https://github.com/sushichan044/dotfiles/tree/main/.agents/skills/golang-popular-libraries
Metadata
Additional technical details for this skill
- author
- samber
- version
- 1.1.2
- openclaw
-
{ "emoji": "\ud83d\udcda", "install": [], "homepage": "https://github.com/samber/cc-skills-golang", "requires": { "bins": [ "go" ] } }
SKILL.md
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. Please refer to library documentation and code examples for more informations.
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
- Consider 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-samber-doskill for samber/do dependency injection 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
terraform-style-guide
Generate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.
fix-github-actions-ci
GitHub Actions CI の失敗を調査して修正するためのスキルです。CI ログを分析して失敗箇所・原因を特定し、そのまま修正作業まで行います。
dd-logs
Log management - search, pipelines, archives, and cost control.
golang-safety
Defensive Golang coding to prevent panics, silent data corruption, and subtle runtime bugs. Use whenever writing or reviewing Go code that involves nil-prone types (pointers, interfaces, maps, slices, channels), numeric conversions, resource lifecycle (defer in loops), or defensive copying. Also triggers on questions about nil panics, append aliasing, map concurrent access, float comparison, or zero-value design.
resolve-merge-conflict
現在の branch を分岐元の最新に rebase するときに使う。まず rebase を実行し、止まった conflict を順番に解消して前に進める。長い事前調査を避けて、必要な file だけ見て片付けたいときに使う。
golang-data-structures
Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), arrays, container/list/heap/ring, strings.Builder vs bytes.Buffer, generic collections, pointers (unsafe.Pointer, weak.Pointer), and copy semantics. Use when choosing or optimizing Go data structures, implementing generic containers, using container/ packages, unsafe or weak pointers, or questioning slice/map internals.
Didn't find tool you were looking for?