{"id":"54638657-88d4-4719-9ac5-59dc77333411","entityType":"agent","slug":"clawhub-samber-golang-popular-libraries","name":"golang-popular-libraries","canonicalUrl":"https://www.xpersona.co/agent/clawhub-samber-golang-popular-libraries","canonicalPath":"/agent/clawhub-samber-golang-popular-libraries","generatedAt":"2026-10-10T02:09:09.359Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":null},"description":"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. Skill: golang-popular-libraries Owner: samber Summary: Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. Tags: latest:1.2.0 Version history: v1.2.0 | 2026-08-22T01:06:02.119Z | auto **golang-popular-libraries v1.2.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173arkhs3131fq5jf769qq75583hdgt:golang-popular-libraries","sourceUrl":"https://clawhub.ai/samber/golang-popular-libraries","homepage":"https://clawhub.ai/samber/skills/golang-popular-libraries","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/samber/golang-popular-libraries","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/samber/skills/golang-popular-libraries","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":48,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly asks for library suggestions, wants to compare alternatives, needs t"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":null},"stars":null,"forks":null,"downloads":2019,"packageName":null,"latestVersion":"1.2.0","tractionLabel":"2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:34:30.979Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T20:34:30.980Z","lastCrawledAt":"2026-10-09T20:34:30.979Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T20:34:30.979Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.0","createdAt":"2026-08-22T01:06:02.119Z","changelog":"**golang-popular-libraries v1.2.0 Changelog** - Added cross-references and workflow integration for the golang-pkg-go-dev (\"godig\") and golang-gopls skills, offering improved library vetting and comparison. - Updated compatibility metadata to mention Codex and extended the allowed tools list (including godig, gopls, LSP, and various Context7 actions). - Enhanced recommendation guidance on leveraging import count and pkg.go.dev metadata for library evaluation. - Expanded and clarified documentation on best practices for discovering, comparing, and validating Go libraries. - Removed the deprecated skill-card.md file.","fileCount":7,"zipByteSize":14602},{"version":"1.1.5","createdAt":"2026-04-30T18:09:28.663Z","changelog":"- Made the skill user-invocable (can now be triggered explicitly by users). - Updated skill description to clarify when recommendations are applied, emphasizing explicit user requests or new dependency additions. - Bumped version to 1.1.5 in metadata.","fileCount":7,"zipByteSize":13924},{"version":"1.1.4","createdAt":"2026-04-01T13:21:23.675Z","changelog":"- Added AskUserQuestion to allowed tools for enhanced interactive capabilities. - Updated metadata version to 1.1.4 and made minor text corrections. - Improved language in documentation and reference links for accuracy and clarity.","fileCount":6,"zipByteSize":11968},{"version":"1.1.2","createdAt":"2026-03-27T14:29:03.621Z","changelog":"- Updated library and tool references for improved accuracy and coverage. - Added an evals/evals.json file to support evaluation and validation. - Minor updates to metadata and internal documentation. - Bumped version to 1.1.2.","fileCount":6,"zipByteSize":11922},{"version":"0.1.0","createdAt":"2026-03-23T04:10:50.985Z","changelog":"- Initial release: recommends production-ready Golang libraries and frameworks for a wide range of use cases. - Favors standard library solutions when possible; suggests third-party options only if they add clear value. - Offers structured reference catalogs for libraries, tools, and experimental stdlib packages. - Outlines best practices, anti-patterns, and evaluation criteria for selecting libraries. - Designed for seamless integration with Claude Code and similar AI coding agents.","fileCount":5,"zipByteSize":8388}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173arkhs3131fq5jf769qq75583hdgt:golang-popular-libraries","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:09:09.355Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-samber-golang-popular-libraries/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":null},"readme":"Skill: golang-popular-libraries\n\nOwner: samber\n\nSummary: Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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.\n\nTags: latest:1.2.0\n\nVersion history:\n\nv1.2.0 | 2026-08-22T01:06:02.119Z | auto\n\n**golang-popular-libraries v1.2.0 Changelog**\n\n- Added cross-references and workflow integration for the golang-pkg-go-dev (\"godig\") and golang-gopls skills, offering improved library vetting and comparison.\n- Updated compatibility metadata to mention Codex and extended the allowed tools list (including godig, gopls, LSP, and various Context7 actions).\n- Enhanced recommendation guidance on leveraging import count and pkg.go.dev metadata for library evaluation.\n- Expanded and clarified documentation on best practices for discovering, comparing, and validating Go libraries.\n- Removed the deprecated skill-card.md file.\n\nv1.1.5 | 2026-04-30T18:09:28.663Z | auto\n\n- Made the skill user-invocable (can now be triggered explicitly by users).\n- Updated skill description to clarify when recommendations are applied, emphasizing explicit user requests or new dependency additions.\n- Bumped version to 1.1.5 in metadata.\n\nv1.1.4 | 2026-04-01T13:21:23.675Z | auto\n\n- Added AskUserQuestion to allowed tools for enhanced interactive capabilities.\n- Updated metadata version to 1.1.4 and made minor text corrections.\n- Improved language in documentation and reference links for accuracy and clarity.\n\nv1.1.2 | 2026-03-27T14:29:03.621Z | auto\n\n- Updated library and tool references for improved accuracy and coverage.\n- Added an evals/evals.json file to support evaluation and validation.\n- Minor updates to metadata and internal documentation.\n- Bumped version to 1.1.2.\n\nv0.1.0 | 2026-03-23T04:10:50.985Z | auto\n\n- Initial release: recommends production-ready Golang libraries and frameworks for a wide range of use cases.\n- Favors standard library solutions when possible; suggests third-party options only if they add clear value.\n- Offers structured reference catalogs for libraries, tools, and experimental stdlib packages.\n- Outlines best practices, anti-patterns, and evaluation criteria for selecting libraries.\n- Designed for seamless integration with Claude Code and similar AI coding agents.\n\nArchive index:\n\nArchive v1.2.0: 7 files, 14602 bytes\n\nFiles: evals/evals.json (12975b), references/libraries.md (11245b), references/stdlib.md (2413b), references/tools.md (1303b), skill-card.md (2443b), SKILL.md (4737b), _meta.json (143b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: golang-popular-libraries\ndescription: \"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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.\"\nuser-invocable: true\nlicense: MIT\ncompatibility: Designed for Claude Code, Codex or similar harness, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.2.0\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-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__*\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: <https://github.com/avelino/awesome-go>\n\nThis skill is not exhaustive. Please 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.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **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\n4. **Consider complexity** - Simpler solutions are usually better in Go\n5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden\n\nRemember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.\n\n## Anti-Patterns to Avoid\n\n- Over-engineering simple problems with complex libraries\n- Using libraries that wrap standard library functionality without adding value\n- Abandoned or unmaintained libraries: ask the developer before recommending these\n- Suggesting libraries with large dependency footprints for simple needs\n- Ignoring standard library alternatives\n\n## Cross-References\n\n- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies\n- → 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\n- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details\n- → See `samber/cc-skills-golang@golang-samber-hot` skill for samber/hot in-memory caching details\n- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details\n- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details\n- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1787360762119\n}\n\nFile v1.2.0:references/libraries.md\n\n# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (<https://github.com/gin-gonic/gin>) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (<https://github.com/labstack/echo>) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (<https://github.com/gofiber/fiber>) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (<https://github.com/go-chi/chi>) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (<https://github.com/go-resty/resty>) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (<https://github.com/imroc/req>) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (<https://github.com/go-gorm/gorm>) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (<https://github.com/jmoiron/sqlx>) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (<https://github.com/ent/ent>) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (<https://github.com/sqlc-dev/sqlc>) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (<https://github.com/go-sql-driver/mysql>) MySQL driver for Go's database/sql package. Maintained by the Go team, reliable and performant.\n\n**lib/pq** (<https://github.com/lib/pq>) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (<https://github.com/jackc/pgx>) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (<https://github.com/redis/go-redis>) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (<https://github.com/mongodb/mongo-go-driver>) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (<https://github.com/stretchr/testify>) Sacred extension to the testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (<https://github.com/uber-go/mock>) Mocking framework for Go interfaces. Widely used, integrates well with testing package.\n\n**go-sqlmock** (<https://github.com/DATA-DOG/go-sqlmock>) SQL mock driver for testing database operations. Test database code without a real database.\n\n**testcontainers-go** (<https://golang.testcontainers.org>) Integration testing with real dependencies in Docker containers. Spin up databases, message queues, etc.\n\n**httptest** (standard library) Testing HTTP servers/clients. Built into Go, no external dependency needed.\n\n## Command Line and Configuration\n\n**Cobra** (<https://github.com/spf13/cobra>) Commander for modern Go CLI applications. Powerful subcommand system, flags, auto-generated docs. Industry standard for CLIs.\n\n**Viper** (<https://github.com/spf13/viper>) Go configuration with fangs. Works with Cobra, supports multiple formats (JSON, YAML, TOML, env).\n\n**urfave/cli** (<https://github.com/urfave/cli>) Simple, fast, fun package for building command line apps. Alternative to Cobra.\n\n**Koanf** (<https://github.com/knadh/koanf>) Lightweight, extensible library for reading config. Support for JSON, YAML, TOML, env, command line.\n\n**env** (from <https://github.com/caarlos0/env>) Parse environment variables into Go structs with defaults. Simple, type-safe, no struct tags.\n\n## Logging\n\n**Zap** (<https://github.com/uber-go/zap>) Fast, structured, leveled logging. Uber's production logger, zero-allocation in hot paths.\n\n**Zerolog** (<https://github.com/rs/zerolog>) Zero-allocation JSON logging. Very fast, simple API, leveled logging.\n\n**Logrus** (<https://github.com/sirupsen/logrus>) Structured logger for Go. Mature, widely-used, plugin architecture. Note: deprecated in favor of structured logging.\n\n## Validation\n\n**validator** (<https://github.com/go-playground/validator>) Go struct validation. Tags-based, extensive validators, cross-field validation.\n\n**ozzo-validation** (<https://github.com/go-ozzo/ozzo-validation>) Fast validation library. Modern alternative for struct validation.\n\n## JSON Processing\n\n**jsoniter** (<https://github.com/json-iterator/go>) High-performance 100% compatible drop-in replacement for encoding/json. Faster JSON parsing.\n\n## Authentication & Authorization\n\n**Casbin** (<https://github.com/casbin/casbin>) Authorization library supporting ACL, RBAC, ABAC. Policy-based access control.\n\n**JWT** (<https://github.com/golang-jwt/jwt>) JSON Web Token implementation for Go. Full-featured, widely-used.\n\n## Caching\n\n**hot** (<https://github.com/samber/hot>) In-memory caching library for Go with 9 eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO), TTL, loaders with singleflight deduplication, sharding, and stale-while-revalidate.\n\n**Ristretto** (<https://github.com/dgraph-io/ristretto>) High-performance memory-bound Go cache.\n\n**BigCache** (<https://github.com/allegro/bigcache>) Efficient key/value cache for gigabytes of data. Sharded, optimized for high throughput.\n\n**go-cache** (<https://github.com/patrickmn/go-cache>) In-memory key-value store with expiration. Thread-safe, simple API.\n\n## Rate Limiting\n\n**Tollbooth** (<https://github.com/ulule/limiter>) Rate limiting HTTP middleware. Simple, volume-based limiting, easy to use.\n\n**golang.org/x/time/rate** (<https://golang.org/x/time/rate>) Standard library rate limiter. Token bucket algorithm, well-maintained.\n\n## Concurrency & Goroutines\n\n**Watermill** (<https://github.com/ThreeDotsLabs/watermill>) Event-driven framework for Go. Message streams, event sourcing, CQRS patterns.\n\n**ro** (<https://github.com/samber/ro>) Reactive programming for Go. Event-driven streams with operators for data flow transformation.\n\n## Messaging\n\n**franz-go** (<https://github.com/twmb/franz-go>) Kafka client for Go. Modern, high-performance, feature-complete client with excellent documentation and community support.\n\n**amqp091-go** (<https://github.com/rabbitmq/amqp091-go>) Official RabbitMQ client for Go. Maintained by RabbitMQ team, supports AMQP 0.9.1 protocol.\n\n**NATS.go** (<https://github.com/nats-io/nats.go>) Client for NATS messaging system. Simple, secure, performant communications.\n\n**Temporal Go SDK** (<https://github.com/temporalio/sdk-go>) Durable execution framework for building reliable async applications. Workflows, activities, and long-running processes.\n\n**DBOS** (<https://github.com/dbos-inc/dbos-transact-golang>) Backend framework for Go applications with durable execution, built on PostgreSQL.\n\n## Types and Data Structures\n\n**gods** (<https://github.com/emirpasic/gods>) Go Data Structures - Sets, Lists, Stacks, Maps, Trees, Queues, and much more\n\n**bloom** (<https://github.com/bits-and-blooms/bloom>) Bloom filter implementation. Memory-efficient set membership testing.\n\n**hyperloglog** (<https://github.com/clarkduvall/hyperloglog>) HyperLogLog implementation for Go. Memory-efficient cardinality estimation for large datasets.\n\n**Carbon** (<https://github.com/uniplaces/carbon>) Simple, semantic time library for Go. Time parsing, formatting, manipulation.\n\n**google/uuid** (<https://github.com/google/uuid>) Generate and parse UUIDs. Official Google library, RFC 4122 compliant.\n\n## Database Schema Migration\n\n**golang-migrate** (<https://github.com/golang-migrate/migrate>) Database migration tool. Supports multiple databases, version control for schemas.\n\n**goose** (<https://github.com/pressly/goose>) Database migration tool. SQL or Go migrations, supports multiple databases.\n\n## WebSockets\n\n**gorilla/websocket** (<https://github.com/gorilla/websocket>) WebSocket package for Go. Mature, widely-used, part of Gorilla toolkit.\n\n## gRPC\n\n**grpc-go** (<https://github.com/grpc/grpc-go>) The Go language implementation of gRPC. HTTP/2 based RPC framework by Google.\n\n## GraphQL\n\n**gqlgen** (<https://github.com/99designs/gqlgen>) Go generate based graphql server library. Type-safe, schema-first, code generation.\n\n**graphql-go** (<https://github.com/graphql-go/graphql>) Implementation of GraphQL for Go. Query execution, schema parsing.\n\n## File Watching\n\n**fsnotify** (<https://github.com/fsnotify/fsnotify>) Cross-platform file system watcher for Go. Watch for file changes efficiently.\n\n## Retry Logic\n\n**avast/retry-go** (<https://github.com/avast/retry-go>) Retry mechanism for Go with exponential backoff. Simple, configurable.\n\n## Error Handling\n\n**pkg/errors** (<https://github.com/pkg/errors>) Legacy projects only. Prefer stdlib `errors`, `fmt.Errorf(\"%w\")`, and `errors.Join` for new code; use a structured error library only when you need stack traces or rich context.\n\n**oops** (<https://github.com/samber/oops>) Error handling library with stack traces, hints, and context. Rich error wrapping with type-safe error chains.\n\n## Metrics & Monitoring\n\n**prometheus/client_golang** (<https://github.com/prometheus/client_golang>) Prometheus instrumentation library for Go. Metrics, histograms, counters, gauges.\n\n**opentelemetry-go** (<https://github.com/open-telemetry/opentelemetry-go>) OpenTelemetry Go API and SDK. Distributed tracing, metrics, logs.\n\n## API Documentation\n\n**swag** (<https://github.com/swaggo/swag>) Auto-generate OpenAPI/Swagger specs from Go code annotations. Parses comment-based annotations (`@Summary`, `@Param`, `@Success`, `@Router`, etc.) on handler functions to produce `swagger.json`/`swagger.yaml`. Integrates with Gin (`gin-swagger`), Echo (`echo-swagger`), Fiber (`fiber-swagger`), Chi, and net/http. Supports Swagger 2.0 and OpenAPI 3.x output.\n\n## Dependency Injection\n\n**do** (<https://github.com/samber/do>) Dependency injection library for Go. Simple, runtime DI with service locator pattern and health checks.\n\n**Wire** (<https://github.com/google/wire>) Code-generated dependency injection for Go. Compile-time dependency injection without reflection.\n\n**Dig** (<https://github.com/uber-go/dig>) Dependency injection container for Go. Runtime DI with lifecycle management.\n\n**Fx** (<https://github.com/uber-go/fx>) Application framework for Go. Built on Dig, provides lifecycle management, dependency injection, and observability.\n\n## Functional Programming & Utilities\n\n**lo** (<https://github.com/samber/lo>) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.\n\n**mo** (<https://github.com/samber/mo>) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.\n\n## Excel & Spreadsheet\n\n**Excelize** (<https://github.com/qax-os/excelize>) Go library for reading and writing Excel files (XLSX). Supports formatting, charts, and complex spreadsheet operations.\n\nFile v1.2.0:references/stdlib.md\n\n# Standard Library - New & Experimental\n\nThe Go standard library continues to evolve with v2 packages and experimental features. **Prefer these over external libraries when available.**\n\n## V2 Packages (API Breaking Changes)\n\n**math/rand/v2** (Go 1.22+) Improved random number generation with better algorithms (ChaCha8, PCG). Auto-seeded, no more rand.Seed() needed.\n\n**encoding/json/v2** (experimental stdlib package behind `GOEXPERIMENT=jsonv2`) Next-generation JSON encoding/decoding. Evaluate deliberately; most production code should keep `encoding/json` unless the project explicitly opts into the experiment.\n\n## New Packages (Promoted from x/exp)\n\n**slices** (Go 1.21+) Generic slice operations: BinarySearch, Clone, Compact, Compare, Contains, Delete, Insert, Replace, Reverse, Sort. Reduces the need for external libraries.\n\n**maps** (Go 1.21+) Generic map operations: Clone, Copy, DeleteFunc, Equal, EqualFunc. Go 1.23+ adds iterator helpers such as All, Collect, Insert, Keys, and Values.\n\n**cmp** (Go 1.21+) Comparison utilities: Compare, Or, Ordered. Used with the slices/maps packages.\n\n**iter** (Go 1.23+) Iterator support for sequences. Enables range-over functions and integrates with slices/maps methods.\n\n**unique** (Go 1.23+) Value canonicalization and interning. Efficient deduplication of comparable values.\n\n**log/slog** (Go 1.21+) Structured logging for the standard library. Alternative to external logging libraries for many use cases.\n\n**weak** (Go 1.24+) Weak references for garbage collection. Useful for caches and observers.\n\n**structs** (Go 1.23+) Structure layout control and introspection.\n\n## golang.org/x (Official Extensions)\n\n**golang.org/x/oauth2** OAuth2 client implementation. Supports multiple providers (Google, GitHub, etc.). Official OAuth2 client.\n\n**golang.org/x/crypto** Additional cryptographic algorithms: bcrypt, blowfish, scrypt, ssh, acme (Let's Encrypt), pbkdf2.\n\n**golang.org/x/net** Network utilities: websocket, context, proxy, trace, http2, ipv4/ipv6, netutil.\n\n**golang.org/x/text** Text processing: encoding, unicode, cases, search, language (language tag parsing and matching).\n\n**golang.org/x/sync** Extended synchronization: errgroup, singleflight, semaphore.\n\n**golang.org/x/sys/cpu** CPU feature detection for architecture-specific optimized code. Use it only when dispatching between measured implementations; prefer portable stdlib code first.\n\nFile v1.2.0:references/tools.md\n\n# Go Development Tools\n\n## Debugging\n\n**Delve** (<https://github.com/go-delve/delve>) Debugger for the Go programming language. Source-level debugger for Go programs.\n\n## Linting & Code Quality\n\n**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.\n\n## Testing\n\n**gotest** (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.\n\n**cover** (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.\n\n**benchstat** (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.\n\n**goleak** (<https://github.com/uber-go/goleak>) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.\n\n## Dependency Management\n\n**go-mod-outdated** (<https://github.com/psampaz/go-mod-outdated>) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.\n\n**goweight** (<https://github.com/jondot/goweight>) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat.\n\nFile v1.2.0:skill-card.md\n\n## Description:\n\nRecommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[samber](https://clawhub.ai/user/samber)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to choose Go standard-library features, third-party libraries, frameworks, and tooling for production Go projects. It emphasizes standard-library-first decisions, dependency maturity, maintenance status, license checks, and measured performance needs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requests broad local project authority for an advisory workflow, including file editing, Go and Git commands, web lookup, and agent delegation.\n\nMitigation: Use it in a constrained session for advice and documentation lookup, and allow edits, commands, or delegation only when explicitly requested for project changes.\n\nRisk: Library recommendations can introduce unnecessary, stale, poorly maintained, or vulnerable dependencies into a Go project.\n\nMitigation: Require standard-library consideration first, then verify maintenance status, license, import adoption, and known vulnerabilities before adding a dependency.\n\n## Reference(s):\n\n- [Skill homepage](https://github.com/samber/cc-skills-golang)\n- [Standard Library - New & Experimental](references/stdlib.md)\n- [Top Go Libraries by Category](references/libraries.md)\n- [Go Development Tools](references/tools.md)\n- [Awesome Go](https://github.com/avelino/awesome-go)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands]\n\n**Output Format:** [Markdown guidance with inline Go snippets and shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include comparative recommendations, standard-library alternatives, dependency-vetting checks, and follow-up commands.]\n\n## Skill Version(s):\n\n1.2.0 (source: release evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.2.0:evals/evals.json\n\n[\n  {\n    \"id\": 1,\n    \"name\": \"stdlib-first-json\",\n    \"description\": \"encoding/json should be tried first even for high-throughput use cases; third-party libraries are only justified after profiling confirms JSON is the bottleneck\",\n    \"prompt\": \"I'm building a high-throughput Go API that processes thousands of JSON requests per second. A colleague says: 'You should use jsoniter or sonic from the start — encoding/json is known to be slow and you'll need the performance. There's no reason to start with a worse library when we know we'll need the fast one.' Is this advice correct? What JSON library should I use?\",\n    \"trap\": \"The colleague's argument sounds pragmatic — why start with a known-slower library if you'll switch later anyway? But the skill teaches stdlib-first: add dependencies only when profiling confirms they are the bottleneck. The model should push back on the colleague and recommend starting with encoding/json.\",\n    \"assertions\": [\n      {\"id\": \"1.1\", \"text\": \"Pushes back on the colleague's advice — recommends starting with encoding/json despite the high-throughput context\"},\n      {\"id\": \"1.2\", \"text\": \"Explains that the standard library should be the default until profiling confirms JSON is actually the bottleneck\"},\n      {\"id\": \"1.3\", \"text\": \"Notes that encoding/json may be sufficient — thousands of requests per second does not automatically justify a third-party library\"},\n      {\"id\": \"1.4\", \"text\": \"Recommends profiling first (pprof) before reaching for jsoniter or sonic\"},\n      {\"id\": \"1.5\", \"text\": \"If mentioning alternatives (jsoniter, sonic), frames them as options for after measurement proves stdlib is insufficient, not as defaults\"}\n    ]\n  },\n  {\n    \"id\": 2,\n    \"name\": \"pgx-over-lib-pq\",\n    \"description\": \"Tests whether the model recommends pgx over lib/pq for PostgreSQL when advanced features or performance matter\",\n    \"prompt\": \"I'm starting a new Go project that needs to connect to PostgreSQL. Which driver should I use?\",\n    \"trap\": \"Without the skill, the model recommends lib/pq because it's more commonly seen in tutorials, missing that pgx is faster and has more features\",\n    \"assertions\": [\n      {\"id\": \"2.1\", \"text\": \"Recommends pgx (github.com/jackc/pgx) as the primary recommendation\"},\n      {\"id\": \"2.2\", \"text\": \"Mentions that pgx is faster than lib/pq\"},\n      {\"id\": \"2.3\", \"text\": \"Notes that pgx supports all PostgreSQL types and advanced features\"},\n      {\"id\": \"2.4\", \"text\": \"May mention lib/pq as an alternative but positions pgx as the preferred choice\"},\n      {\"id\": \"2.5\", \"text\": \"Does NOT recommend lib/pq as the primary choice without mentioning pgx\"}\n    ]\n  },\n  {\n    \"id\": 3,\n    \"name\": \"chi-for-minimal-router\",\n    \"description\": \"Tests whether the model recommends chi for lightweight routing needs instead of full frameworks\",\n    \"prompt\": \"I need a simple HTTP router for my Go REST API. It just needs path parameters and middleware support. I want to stay close to net/http. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends Gin or Echo (full frameworks) when chi's lightweight, net/http-compatible router is a better fit\",\n    \"assertions\": [\n      {\"id\": \"3.1\", \"text\": \"Recommends chi (github.com/go-chi/chi) as a strong match for the stated requirements\"},\n      {\"id\": \"3.2\", \"text\": \"Explains that chi is lightweight and composes well with net/http\"},\n      {\"id\": \"3.3\", \"text\": \"Notes that chi has minimal dependencies\"},\n      {\"id\": \"3.4\", \"text\": \"May mention Gin/Echo as alternatives but positions chi as the better fit for staying close to net/http\"},\n      {\"id\": \"3.5\", \"text\": \"Does NOT recommend a full framework (Gin, Echo, Fiber) as the primary choice when the user explicitly wants to stay close to net/http\"}\n    ]\n  },\n  {\n    \"id\": 4,\n    \"name\": \"slog-over-external-loggers\",\n    \"description\": \"Tests whether the model considers log/slog (Go 1.21+) before recommending external logging libraries\",\n    \"prompt\": \"I need structured logging in my Go 1.22 project. What library should I use?\",\n    \"trap\": \"Without the skill, the model jumps to zap or zerolog without mentioning that Go 1.21+ has log/slog in the standard library\",\n    \"assertions\": [\n      {\"id\": \"4.1\", \"text\": \"Mentions log/slog as the standard library option for structured logging (available since Go 1.21)\"},\n      {\"id\": \"4.2\", \"text\": \"Presents slog as a viable option, not just an afterthought\"},\n      {\"id\": \"4.3\", \"text\": \"If recommending external libraries (zap, zerolog), explains what specific value they add over slog\"},\n      {\"id\": \"4.4\", \"text\": \"Does NOT skip standard library consideration entirely\"},\n      {\"id\": \"4.5\", \"text\": \"May mention zap/zerolog for specific use cases (zero-allocation hot paths, etc.)\"}\n    ]\n  },\n  {\n    \"id\": 5,\n    \"name\": \"sqlc-vs-orm-decision\",\n    \"description\": \"Tests whether the model presents sqlc as an alternative to ORMs when the user values type safety and compile-time checks\",\n    \"prompt\": \"I want to interact with my PostgreSQL database in Go. I want maximum type safety and want the compiler to catch SQL errors. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends GORM (most popular ORM) which uses runtime reflection, missing sqlc which generates type-safe code from SQL at compile time\",\n    \"assertions\": [\n      {\"id\": \"5.1\", \"text\": \"Recommends sqlc (github.com/sqlc-dev/sqlc) as a primary option for compile-time SQL safety\"},\n      {\"id\": \"5.2\", \"text\": \"Explains that sqlc generates type-safe Go code from SQL with no runtime reflection\"},\n      {\"id\": \"5.3\", \"text\": \"Mentions that GORM uses runtime reflection which does not catch SQL errors at compile time\"},\n      {\"id\": \"5.4\", \"text\": \"May also mention ent as a code-generated alternative\"},\n      {\"id\": \"5.5\", \"text\": \"Does NOT recommend only GORM when the user explicitly asks for compile-time safety\"}\n    ]\n  },\n  {\n    \"id\": 6,\n    \"name\": \"rate-limiter-stdlib-first\",\n    \"description\": \"Tests whether the model recommends golang.org/x/time/rate before third-party rate limiters\",\n    \"prompt\": \"I need to add rate limiting to my Go HTTP API. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends a third-party rate limiter without mentioning the official golang.org/x/time/rate package\",\n    \"assertions\": [\n      {\"id\": \"6.1\", \"text\": \"Recommends golang.org/x/time/rate as the standard/official option\"},\n      {\"id\": \"6.2\", \"text\": \"Explains that it implements a token bucket algorithm\"},\n      {\"id\": \"6.3\", \"text\": \"May mention third-party alternatives (Tollbooth/limiter) for HTTP middleware integration\"},\n      {\"id\": \"6.4\", \"text\": \"Does NOT skip the official x/time/rate package entirely\"},\n      {\"id\": \"6.5\", \"text\": \"Explains when third-party middleware might be preferred (e.g., per-IP limiting, distributed rate limiting)\"}\n    ]\n  },\n  {\n    \"id\": 7,\n    \"name\": \"franz-go-for-kafka\",\n    \"description\": \"Tests whether the model recommends franz-go for Kafka instead of only the legacy sarama client\",\n    \"prompt\": \"I need a Kafka client for my Go application. What library should I use?\",\n    \"trap\": \"Without the skill, the model recommends sarama (the legacy, most commonly referenced Kafka client) instead of franz-go which is modern, higher-performance, and better maintained\",\n    \"assertions\": [\n      {\"id\": \"7.1\", \"text\": \"Recommends franz-go (github.com/twmb/franz-go) as a primary recommendation\"},\n      {\"id\": \"7.2\", \"text\": \"Describes franz-go as modern, high-performance, and feature-complete\"},\n      {\"id\": \"7.3\", \"text\": \"Does NOT recommend only sarama without mentioning franz-go\"},\n      {\"id\": \"7.4\", \"text\": \"May mention sarama as an alternative but positions franz-go as the preferred modern choice\"}\n    ]\n  },\n  {\n    \"id\": 8,\n    \"name\": \"check-maintenance-before-recommending\",\n    \"description\": \"Tests whether the model checks maintenance status before recommending a library\",\n    \"prompt\": \"I need a logging library for my Go project. Someone suggested Logrus. Should I use it?\",\n    \"trap\": \"Without the skill, the model recommends Logrus without noting its maintenance status (deprecated in favor of structured logging)\",\n    \"assertions\": [\n      {\"id\": \"8.1\", \"text\": \"Mentions that Logrus is deprecated or in maintenance mode\"},\n      {\"id\": \"8.2\", \"text\": \"Suggests alternatives: log/slog (stdlib), zap, or zerolog\"},\n      {\"id\": \"8.3\", \"text\": \"Explains that for new projects, a maintained alternative is preferred\"},\n      {\"id\": \"8.4\", \"text\": \"Does NOT unconditionally recommend Logrus without mentioning its deprecation status\"},\n      {\"id\": \"8.5\", \"text\": \"Prioritizes maturity and maintenance status in the recommendation\"}\n    ]\n  },\n  {\n    \"id\": 9,\n    \"name\": \"avoid-unnecessary-wrappers\",\n    \"description\": \"Tests that the model warns against libraries that just wrap stdlib without adding value\",\n    \"prompt\": \"I found a Go library that provides helper functions for HTTP request handling, basically wrapping net/http with slightly more convenient syntax. Should I add it to my project?\",\n    \"trap\": \"Without the skill, the model evaluates only the convenience factor without considering the anti-pattern of wrapping stdlib without real value\",\n    \"assertions\": [\n      {\"id\": \"9.1\", \"text\": \"Warns against using libraries that wrap standard library functionality without adding meaningful value\"},\n      {\"id\": \"9.2\", \"text\": \"Explains that more dependencies increase attack surface and maintenance burden\"},\n      {\"id\": \"9.3\", \"text\": \"Recommends evaluating whether net/http itself is sufficient\"},\n      {\"id\": \"9.4\", \"text\": \"Mentions the anti-pattern of adding dependencies for marginal convenience\"},\n      {\"id\": \"9.5\", \"text\": \"Suggests considering the library's dependency footprint relative to the value it provides\"}\n    ]\n  },\n  {\n    \"id\": 10,\n    \"name\": \"testcontainers-for-integration\",\n    \"description\": \"testcontainers-go is preferred over shared docker-compose for integration tests because each test gets an isolated, fresh container\",\n    \"prompt\": \"We already have a docker-compose.yml for local development with PostgreSQL and Redis. A teammate says: 'For integration tests, just document that developers should run docker-compose up before running go test -tags=integration. That way we reuse the same infrastructure we already have and don't add a new dependency.' Is this a good approach? What would you recommend instead?\",\n    \"trap\": \"The teammate's approach seems pragmatic — reuse existing infrastructure, avoid adding testcontainers-go as a dependency. The skill teaches testcontainers-go is better for test isolation: each test run gets a fresh container (no state leakage between test runs), tests are fully self-contained (no 'remember to run docker-compose up'), and CI doesn't need to maintain a shared running stack.\",\n    \"assertions\": [\n      {\"id\": \"10.1\", \"text\": \"Pushes back on the teammate's docker-compose approach — identifies its key problems: shared state between test runs, manual setup requirement, CI complexity\"},\n      {\"id\": \"10.2\", \"text\": \"Recommends testcontainers-go as the preferred alternative for programmatic, isolated integration tests\"},\n      {\"id\": \"10.3\", \"text\": \"Explains the key advantage: each test suite gets a fresh container spun up and torn down automatically — no state leakage, no manual prerequisites\"},\n      {\"id\": \"10.4\", \"text\": \"Notes that testcontainers-go tests are fully self-contained: go test -tags=integration works without any external setup\"},\n      {\"id\": \"10.5\", \"text\": \"Acknowledges the dependency cost but frames it as justified by the isolation and reproducibility benefits\"}\n    ]\n  },\n  {\n    \"id\": 11,\n    \"name\": \"slices-maps-packages-go121\",\n    \"description\": \"Tests whether the model recommends the standard library slices/maps packages (Go 1.21+) instead of external utility libraries for basic operations\",\n    \"prompt\": \"I need utility functions for slice operations in my Go 1.22 project — things like contains, sort, filter, and reverse. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends samber/lo or a similar utility library for basic operations that the standard library slices package already provides since Go 1.21\",\n    \"assertions\": [\n      {\"id\": \"11.1\", \"text\": \"Recommends the standard library slices package (Go 1.21+) for Contains, Sort, Reverse, and similar operations\"},\n      {\"id\": \"11.2\", \"text\": \"Does NOT recommend only external libraries for basic slice operations that slices package covers\"},\n      {\"id\": \"11.3\", \"text\": \"May mention samber/lo or similar for functional operations (Map, Filter, Reduce) not in stdlib slices\"},\n      {\"id\": \"11.4\", \"text\": \"Distinguishes between operations covered by stdlib (Contains, Sort, Reverse, Compact, BinarySearch) and those requiring external libraries (Map, Filter, GroupBy)\"},\n      {\"id\": \"11.5\", \"text\": \"Applies the 'standard library first' principle\"}\n    ]\n  }\n]\n\nArchive v1.1.5: 7 files, 13924 bytes\n\nFiles: evals/evals.json (12975b), references/libraries.md (10890b), references/stdlib.md (2239b), references/tools.md (1303b), skill-card.md (2580b), SKILL.md (3585b), _meta.json (143b)\n\nFile v1.1.5:SKILL.md\n\n---\nname: golang-popular-libraries\ndescription: \"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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.\"\nuser-invocable: true\nlicense: MIT\ncompatibility: Designed for Claude Code or similar AI coding agents, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.1.5\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: <https://github.com/avelino/awesome-go>\n\nThis skill is not exhaustive. Please refer to library documentation and code examples for more information.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending\n4. **Consider complexity** - Simpler solutions are usually better in Go\n5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden\n\nRemember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.\n\n## Anti-Patterns to Avoid\n\n- Over-engineering simple problems with complex libraries\n- Using libraries that wrap standard library functionality without adding value\n- Abandoned or unmaintained libraries: ask the developer before recommending these\n- Suggesting libraries with large dependency footprints for simple needs\n- Ignoring standard library alternatives\n\n## Cross-References\n\n- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies\n- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details\n- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details\n- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details\n- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details\n\nFile v1.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"1.1.5\",\n  \"publishedAt\": 1777572568663\n}\n\nFile v1.1.5:references/libraries.md\n\n# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (<https://github.com/gin-gonic/gin>) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (<https://github.com/labstack/echo>) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (<https://github.com/gofiber/fiber>) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (<https://github.com/go-chi/chi>) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (<https://github.com/go-resty/resty>) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (<https://github.com/imroc/req>) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (<https://github.com/go-gorm/gorm>) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (<https://github.com/jmoiron/sqlx>) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (<https://github.com/ent/ent>) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (<https://github.com/sqlc-dev/sqlc>) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (<https://github.com/go-sql-driver/mysql>) MySQL driver for Go's database/sql package. Maintained by the Go team, reliable and performant.\n\n**lib/pq** (<https://github.com/lib/pq>) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (<https://github.com/jackc/pgx>) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (<https://github.com/redis/go-redis>) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (<https://github.com/mongodb/mongo-go-driver>) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (<https://github.com/stretchr/testify>) Sacred extension to the testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (<https://github.com/uber-go/mock>) Mocking framework for Go interfaces. Widely used, integrates well with testing package.\n\n**go-sqlmock** (<https://github.com/DATA-DOG/go-sqlmock>) SQL mock driver for testing database operations. Test database code without a real database.\n\n**testcontainers-go** (<https://golang.testcontainers.org>) Integration testing with real dependencies in Docker containers. Spin up databases, message queues, etc.\n\n**httptest** (standard library) Testing HTTP servers/clients. Built into Go, no external dependency needed.\n\n## Command Line and Configuration\n\n**Cobra** (<https://github.com/spf13/cobra>) Commander for modern Go CLI applications. Powerful subcommand system, flags, auto-generated docs. Industry standard for CLIs.\n\n**Viper** (<https://github.com/spf13/viper>) Go configuration with fangs. Works with Cobra, supports multiple formats (JSON, YAML, TOML, env).\n\n**urfave/cli** (<https://github.com/urfave/cli>) Simple, fast, fun package for building command line apps. Alternative to Cobra.\n\n**Koanf** (<https://github.com/knadh/koanf>) Lightweight, extensible library for reading config. Support for JSON, YAML, TOML, env, command line.\n\n**env** (from <https://github.com/caarlos0/env>) Parse environment variables into Go structs with defaults. Simple, type-safe, no struct tags.\n\n## Logging\n\n**Zap** (<https://github.com/uber-go/zap>) Fast, structured, leveled logging. Uber's production logger, zero-allocation in hot paths.\n\n**Zerolog** (<https://github.com/rs/zerolog>) Zero-allocation JSON logging. Very fast, simple API, leveled logging.\n\n**Logrus** (<https://github.com/sirupsen/logrus>) Structured logger for Go. Mature, widely-used, plugin architecture. Note: deprecated in favor of structured logging.\n\n## Validation\n\n**validator** (<https://github.com/go-playground/validator>) Go struct validation. Tags-based, extensive validators, cross-field validation.\n\n**ozzo-validation** (<https://github.com/go-ozzo/ozzo-validation>) Fast validation library. Modern alternative for struct validation.\n\n## JSON Processing\n\n**jsoniter** (<https://github.com/json-iterator/go>) High-performance 100% compatible drop-in replacement for encoding/json. Faster JSON parsing.\n\n## Authentication & Authorization\n\n**Casbin** (<https://github.com/casbin/casbin>) Authorization library supporting ACL, RBAC, ABAC. Policy-based access control.\n\n**JWT** (<https://github.com/golang-jwt/jwt>) JSON Web Token implementation for Go. Full-featured, widely-used.\n\n## Caching\n\n**Ristretto** (<https://github.com/dgraph-io/ristretto>) High-performance memory-bound Go cache.\n\n**BigCache** (<https://github.com/allegro/bigcache>) Efficient key/value cache for gigabytes of data. Sharded, optimized for high throughput.\n\n**go-cache** (<https://github.com/patrickmn/go-cache>) In-memory key-value store with expiration. Thread-safe, simple API.\n\n## Rate Limiting\n\n**Tollbooth** (<https://github.com/ulule/limiter>) Rate limiting HTTP middleware. Simple, volume-based limiting, easy to use.\n\n**golang.org/x/time/rate** (<https://golang.org/x/time/rate>) Standard library rate limiter. Token bucket algorithm, well-maintained.\n\n## Concurrency & Goroutines\n\n**Watermill** (<https://github.com/ThreeDotsLabs/watermill>) Event-driven framework for Go. Message streams, event sourcing, CQRS patterns.\n\n**ro** (<https://github.com/samber/ro>) Reactive programming for Go. Event-driven streams with operators for data flow transformation.\n\n## Messaging\n\n**franz-go** (<https://github.com/twmb/franz-go>) Kafka client for Go. Modern, high-performance, feature-complete client with excellent documentation and community support.\n\n**amqp091-go** (<https://github.com/rabbitmq/amqp091-go>) Official RabbitMQ client for Go. Maintained by RabbitMQ team, supports AMQP 0.9.1 protocol.\n\n**NATS.go** (<https://github.com/nats-io/nats.go>) Client for NATS messaging system. Simple, secure, performant communications.\n\n**Temporal Go SDK** (<https://github.com/temporalio/sdk-go>) Durable execution framework for building reliable async applications. Workflows, activities, and long-running processes.\n\n**DBOS** (<https://github.com/dbos-inc/dbos-transact-golang>) Backend framework for Go applications with durable execution, built on PostgreSQL.\n\n## Types and Data Structures\n\n**gods** (<https://github.com/emirpasic/gods>) Go Data Structures - Sets, Lists, Stacks, Maps, Trees, Queues, and much more\n\n**bloom** (<https://github.com/bits-and-blooms/bloom>) Bloom filter implementation. Memory-efficient set membership testing.\n\n**hyperloglog** (<https://github.com/clarkduvall/hyperloglog>) HyperLogLog implementation for Go. Memory-efficient cardinality estimation for large datasets.\n\n**Carbon** (<https://github.com/uniplaces/carbon>) Simple, semantic time library for Go. Time parsing, formatting, manipulation.\n\n**google/uuid** (<https://github.com/google/uuid>) Generate and parse UUIDs. Official Google library, RFC 4122 compliant.\n\n## Database Schema Migration\n\n**golang-migrate** (<https://github.com/golang-migrate/migrate>) Database migration tool. Supports multiple databases, version control for schemas.\n\n**goose** (<https://github.com/pressly/goose>) Database migration tool. SQL or Go migrations, supports multiple databases.\n\n## WebSockets\n\n**gorilla/websocket** (<https://github.com/gorilla/websocket>) WebSocket package for Go. Mature, widely-used, part of Gorilla toolkit.\n\n## gRPC\n\n**grpc-go** (<https://github.com/grpc/grpc-go>) The Go language implementation of gRPC. HTTP/2 based RPC framework by Google.\n\n## GraphQL\n\n**gqlgen** (<https://github.com/99designs/gqlgen>) Go generate based graphql server library. Type-safe, schema-first, code generation.\n\n**graphql-go** (<https://github.com/graphql-go/graphql>) Implementation of GraphQL for Go. Query execution, schema parsing.\n\n## File Watching\n\n**fsnotify** (<https://github.com/fsnotify/fsnotify>) Cross-platform file system watcher for Go. Watch for file changes efficiently.\n\n## Retry Logic\n\n**avast/retry-go** (<https://github.com/avast/retry-go>) Retry mechanism for Go with exponential backoff. Simple, configurable.\n\n## Error Handling\n\n**pkg/errors** (<https://github.com/pkg/errors>) Error handling primitives for Go. Stack traces, error wrapping, cause chains.\n\n**oops** (<https://github.com/samber/oops>) Error handling library with stack traces, hints, and context. Rich error wrapping with type-safe error chains.\n\n## Metrics & Monitoring\n\n**prometheus/client_golang** (<https://github.com/prometheus/client_golang>) Prometheus instrumentation library for Go. Metrics, histograms, counters, gauges.\n\n**opentelemetry-go** (<https://github.com/open-telemetry/opentelemetry-go>) OpenTelemetry Go API and SDK. Distributed tracing, metrics, logs.\n\n## API Documentation\n\n**swag** (<https://github.com/swaggo/swag>) Auto-generate OpenAPI/Swagger specs from Go code annotations. Parses comment-based annotations (`@Summary`, `@Param`, `@Success`, `@Router`, etc.) on handler functions to produce `swagger.json`/`swagger.yaml`. Integrates with Gin (`gin-swagger`), Echo (`echo-swagger`), Fiber (`fiber-swagger`), Chi, and net/http. Supports Swagger 2.0 and OpenAPI 3.x output.\n\n## Dependency Injection\n\n**do** (<https://github.com/samber/do>) Dependency injection library for Go. Simple, runtime DI with service locator pattern and health checks.\n\n**Wire** (<https://github.com/google/wire>) Code-generated dependency injection for Go. Compile-time dependency injection without reflection.\n\n**Dig** (<https://github.com/uber-go/dig>) Dependency injection container for Go. Runtime DI with lifecycle management.\n\n**Fx** (<https://github.com/uber-go/fx>) Application framework for Go. Built on Dig, provides lifecycle management, dependency injection, and observability.\n\n## Functional Programming & Utilities\n\n**lo** (<https://github.com/samber/lo>) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.\n\n**mo** (<https://github.com/samber/mo>) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.\n\n## Excel & Spreadsheet\n\n**Excelize** (<https://github.com/qax-os/excelize>) Go library for reading and writing Excel files (XLSX). Supports formatting, charts, and complex spreadsheet operations.\n\nFile v1.1.5:references/stdlib.md\n\n# Standard Library - New & Experimental\n\nThe Go standard library continues to evolve with v2 packages and experimental features. **Prefer these over external libraries when available.**\n\n## V2 Packages (API Breaking Changes)\n\n**math/rand/v2** (Go 1.22+) Improved random number generation with better algorithms (ChaCha8, PCG). Auto-seeded, no more rand.Seed() needed.\n\n**encoding/json/v2** (golang.org/x/exp/json) Next-generation JSON encoding/decoding with semantic formatting, less reflection, and better performance. In development.\n\n## New Packages (Promoted from x/exp)\n\n**slices** (Go 1.21+) Generic slice operations: BinarySearch, Clone, Compact, Compare, Contains, Delete, Insert, Replace, Reverse, Sort. Reduces the need for external libraries.\n\n**maps** (Go 1.21+) Generic map operations: Clone, Compare, Delete, Equal, Keys, Values. Type-safe map utilities.\n\n**cmp** (Go 1.21+) Comparison utilities: Compare, Or, Ordered. Used with the slices/maps packages.\n\n**iter** (Go 1.23+) Iterator support for sequences. Enables range-over functions and integrates with slices/maps methods.\n\n**unique** (Go 1.23+) Value canonicalization and interning. Efficient deduplication of comparable values.\n\n**log/slog** (Go 1.21+) Structured logging for the standard library. Alternative to external logging libraries for many use cases.\n\n**weak** (Go 1.24+) Weak references for garbage collection. Useful for caches and observers.\n\n**structs** (Go 1.23+) Structure layout control and introspection.\n\n## golang.org/x (Official Extensions)\n\n**golang.org/x/oauth2** OAuth2 client implementation. Supports multiple providers (Google, GitHub, etc.). Official OAuth2 client.\n\n**golang.org/x/crypto** Additional cryptographic algorithms: bcrypt, blowfish, scrypt, ssh, acme (Let's Encrypt), pbkdf2.\n\n**golang.org/x/net** Network utilities: websocket, context, proxy, trace, http2, ipv4/ipv6, netutil.\n\n**golang.org/x/text** Text processing: encoding, unicode, cases, search, language (language tag parsing and matching).\n\n**golang.org/x/sync** Extended synchronization: errgroup, singleflight, semaphore.\n\n**simd/archsimd** (golang.org/x/arch) CPU architecture detection for SIMD operations. Runtime feature detection for AVX, AVX2, AVX512, NEON, etc.\n\nFile v1.1.5:references/tools.md\n\n# Go Development Tools\n\n## Debugging\n\n**Delve** (<https://github.com/go-delve/delve>) Debugger for the Go programming language. Source-level debugger for Go programs.\n\n## Linting & Code Quality\n\n**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.\n\n## Testing\n\n**gotest** (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.\n\n**cover** (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.\n\n**benchstat** (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.\n\n**goleak** (<https://github.com/uber-go/goleak>) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.\n\n## Dependency Management\n\n**go-mod-outdated** (<https://github.com/psampaz/go-mod-outdated>) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.\n\n**goweight** (<https://github.com/jondot/goweight>) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat.\n\nFile v1.1.5:skill-card.md\n\n## Description: <br>\nRecommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[samber](https://clawhub.ai/user/samber) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill when choosing Go standard-library features, third-party libraries, frameworks, and development tools for production-oriented Go projects. It helps compare alternatives, prefer standard-library solutions when sufficient, and reason about dependency tradeoffs. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Library recommendations can introduce third-party dependencies with security, maintenance, license, or transitive dependency impact. <br>\nMitigation: Prefer the Go standard library when it satisfies the requirement, and review maintenance status, license, community adoption, and dependency footprint before adding a library. <br>\nRisk: Go-related commands or project changes may affect the user's local workspace when acted on by an agent. <br>\nMitigation: Review the target project and command details before running high-impact workflows, especially when local tools or authenticated accounts may be used. <br>\n\n\n## Reference(s): <br>\n- [Golang Popular Libraries homepage](https://github.com/samber/cc-skills-golang) <br>\n- [Standard Library - New & Experimental](references/stdlib.md) <br>\n- [Top Go Libraries by Category](references/libraries.md) <br>\n- [Go Development Tools](references/tools.md) <br>\n- [Awesome Go](https://github.com/avelino/awesome-go) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Analysis, Markdown, Shell commands] <br>\n**Output Format:** [Markdown guidance with library recommendations, tradeoff analysis, and optional Go-related commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference Go tooling such as go and golangci-lint when relevant.] <br>\n\n## Skill Version(s): <br>\n1.1.5 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.1.5:evals/evals.json\n\n[\n  {\n    \"id\": 1,\n    \"name\": \"stdlib-first-json\",\n    \"description\": \"encoding/json should be tried first even for high-throughput use cases; third-party libraries are only justified after profiling confirms JSON is the bottleneck\",\n    \"prompt\": \"I'm building a high-throughput Go API that processes thousands of JSON requests per second. A colleague says: 'You should use jsoniter or sonic from the start — encoding/json is known to be slow and you'll need the performance. There's no reason to start with a worse library when we know we'll need the fast one.' Is this advice correct? What JSON library should I use?\",\n    \"trap\": \"The colleague's argument sounds pragmatic — why start with a known-slower library if you'll switch later anyway? But the skill teaches stdlib-first: add dependencies only when profiling confirms they are the bottleneck. The model should push back on the colleague and recommend starting with encoding/json.\",\n    \"assertions\": [\n      {\"id\": \"1.1\", \"text\": \"Pushes back on the colleague's advice — recommends starting with encoding/json despite the high-throughput context\"},\n      {\"id\": \"1.2\", \"text\": \"Explains that the standard library should be the default until profiling confirms JSON is actually the bottleneck\"},\n      {\"id\": \"1.3\", \"text\": \"Notes that encoding/json may be sufficient — thousands of requests per second does not automatically justify a third-party library\"},\n      {\"id\": \"1.4\", \"text\": \"Recommends profiling first (pprof) before reaching for jsoniter or sonic\"},\n      {\"id\": \"1.5\", \"text\": \"If mentioning alternatives (jsoniter, sonic), frames them as options for after measurement proves stdlib is insufficient, not as defaults\"}\n    ]\n  },\n  {\n    \"id\": 2,\n    \"name\": \"pgx-over-lib-pq\",\n    \"description\": \"Tests whether the model recommends pgx over lib/pq for PostgreSQL when advanced features or performance matter\",\n    \"prompt\": \"I'm starting a new Go project that needs to connect to PostgreSQL. Which driver should I use?\",\n    \"trap\": \"Without the skill, the model recommends lib/pq because it's more commonly seen in tutorials, missing that pgx is faster and has more features\",\n    \"assertions\": [\n      {\"id\": \"2.1\", \"text\": \"Recommends pgx (github.com/jackc/pgx) as the primary recommendation\"},\n      {\"id\": \"2.2\", \"text\": \"Mentions that pgx is faster than lib/pq\"},\n      {\"id\": \"2.3\", \"text\": \"Notes that pgx supports all PostgreSQL types and advanced features\"},\n      {\"id\": \"2.4\", \"text\": \"May mention lib/pq as an alternative but positions pgx as the preferred choice\"},\n      {\"id\": \"2.5\", \"text\": \"Does NOT recommend lib/pq as the primary choice without mentioning pgx\"}\n    ]\n  },\n  {\n    \"id\": 3,\n    \"name\": \"chi-for-minimal-router\",\n    \"description\": \"Tests whether the model recommends chi for lightweight routing needs instead of full frameworks\",\n    \"prompt\": \"I need a simple HTTP router for my Go REST API. It just needs path parameters and middleware support. I want to stay close to net/http. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends Gin or Echo (full frameworks) when chi's lightweight, net/http-compatible router is a better fit\",\n    \"assertions\": [\n      {\"id\": \"3.1\", \"text\": \"Recommends chi (github.com/go-chi/chi) as a strong match for the stated requirements\"},\n      {\"id\": \"3.2\", \"text\": \"Explains that chi is lightweight and composes well with net/http\"},\n      {\"id\": \"3.3\", \"text\": \"Notes that chi has minimal dependencies\"},\n      {\"id\": \"3.4\", \"text\": \"May mention Gin/Echo as alternatives but positions chi as the better fit for staying close to net/http\"},\n      {\"id\": \"3.5\", \"text\": \"Does NOT recommend a full framework (Gin, Echo, Fiber) as the primary choice when the user explicitly wants to stay close to net/http\"}\n    ]\n  },\n  {\n    \"id\": 4,\n    \"name\": \"slog-over-external-loggers\",\n    \"description\": \"Tests whether the model considers log/slog (Go 1.21+) before recommending external logging libraries\",\n    \"prompt\": \"I need structured logging in my Go 1.22 project. What library should I use?\",\n    \"trap\": \"Without the skill, the model jumps to zap or zerolog without mentioning that Go 1.21+ has log/slog in the standard library\",\n    \"assertions\": [\n      {\"id\": \"4.1\", \"text\": \"Mentions log/slog as the standard library option for structured logging (available since Go 1.21)\"},\n      {\"id\": \"4.2\", \"text\": \"Presents slog as a viable option, not just an afterthought\"},\n      {\"id\": \"4.3\", \"text\": \"If recommending external libraries (zap, zerolog), explains what specific value they add over slog\"},\n      {\"id\": \"4.4\", \"text\": \"Does NOT skip standard library consideration entirely\"},\n      {\"id\": \"4.5\", \"text\": \"May mention zap/zerolog for specific use cases (zero-allocation hot paths, etc.)\"}\n    ]\n  },\n  {\n    \"id\": 5,\n    \"name\": \"sqlc-vs-orm-decision\",\n    \"description\": \"Tests whether the model presents sqlc as an alternative to ORMs when the user values type safety and compile-time checks\",\n    \"prompt\": \"I want to interact with my PostgreSQL database in Go. I want maximum type safety and want the compiler to catch SQL errors. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends GORM (most popular ORM) which uses runtime reflection, missing sqlc which generates type-safe code from SQL at compile time\",\n    \"assertions\": [\n      {\"id\": \"5.1\", \"text\": \"Recommends sqlc (github.com/sqlc-dev/sqlc) as a primary option for compile-time SQL safety\"},\n      {\"id\": \"5.2\", \"text\": \"Explains that sqlc generates type-safe Go code from SQL with no runtime reflection\"},\n      {\"id\": \"5.3\", \"text\": \"Mentions that GORM uses runtime reflection which does not catch SQL errors at compile time\"},\n      {\"id\": \"5.4\", \"text\": \"May also mention ent as a code-generated alternative\"},\n      {\"id\": \"5.5\", \"text\": \"Does NOT recommend only GORM when the user explicitly asks for compile-time safety\"}\n    ]\n  },\n  {\n    \"id\": 6,\n    \"name\": \"rate-limiter-stdlib-first\",\n    \"description\": \"Tests whether the model recommends golang.org/x/time/rate before third-party rate limiters\",\n    \"prompt\": \"I need to add rate limiting to my Go HTTP API. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends a third-party rate limiter without mentioning the official golang.org/x/time/rate package\",\n    \"assertions\": [\n      {\"id\": \"6.1\", \"text\": \"Recommends golang.org/x/time/rate as the standard/official option\"},\n      {\"id\": \"6.2\", \"text\": \"Explains that it implements a token bucket algorithm\"},\n      {\"id\": \"6.3\", \"text\": \"May mention third-party alternatives (Tollbooth/limiter) for HTTP middleware integration\"},\n      {\"id\": \"6.4\", \"text\": \"Does NOT skip the official x/time/rate package entirely\"},\n      {\"id\": \"6.5\", \"text\": \"Explains when third-party middleware might be preferred (e.g., per-IP limiting, distributed rate limiting)\"}\n    ]\n  },\n  {\n    \"id\": 7,\n    \"name\": \"franz-go-for-kafka\",\n    \"description\": \"Tests whether the model recommends franz-go for Kafka instead of only the legacy sarama client\",\n    \"prompt\": \"I need a Kafka client for my Go application. What library should I use?\",\n    \"trap\": \"Without the skill, the model recommends sarama (the legacy, most commonly referenced Kafka client) instead of franz-go which is modern, higher-performance, and better maintained\",\n    \"assertions\": [\n      {\"id\": \"7.1\", \"text\": \"Recommends franz-go (github.com/twmb/franz-go) as a primary recommendation\"},\n      {\"id\": \"7.2\", \"text\": \"Describes franz-go as modern, high-performance, and feature-complete\"},\n      {\"id\": \"7.3\", \"text\": \"Does NOT recommend only sarama without mentioning franz-go\"},\n      {\"id\": \"7.4\", \"text\": \"May mention sarama as an alternative but positions franz-go as the preferred modern choice\"}\n    ]\n  },\n  {\n    \"id\": 8,\n    \"name\": \"check-maintenance-before-recommending\",\n    \"description\": \"Tests whether the model checks maintenance status before recommending a library\",\n    \"prompt\": \"I need a logging library for my Go project. Someone suggested Logrus. Should I use it?\",\n    \"trap\": \"Without the skill, the model recommends Logrus without noting its maintenance status (deprecated in favor of structured logging)\",\n    \"assertions\": [\n      {\"id\": \"8.1\", \"text\": \"Mentions that Logrus is deprecated or in maintenance mode\"},\n      {\"id\": \"8.2\", \"text\": \"Suggests alternatives: log/slog (stdlib), zap, or zerolog\"},\n      {\"id\": \"8.3\", \"text\": \"Explains that for new projects, a maintained alternative is preferred\"},\n      {\"id\": \"8.4\", \"text\": \"Does NOT unconditionally recommend Logrus without mentioning its deprecation status\"},\n      {\"id\": \"8.5\", \"text\": \"Prioritizes maturity and maintenance status in the recommendation\"}\n    ]\n  },\n  {\n    \"id\": 9,\n    \"name\": \"avoid-unnecessary-wrappers\",\n    \"description\": \"Tests that the model warns against libraries that just wrap stdlib without adding value\",\n    \"prompt\": \"I found a Go library that provides helper functions for HTTP request handling, basically wrapping net/http with slightly more convenient syntax. Should I add it to my project?\",\n    \"trap\": \"Without the skill, the model evaluates only the convenience factor without considering the anti-pattern of wrapping stdlib without real value\",\n    \"assertions\": [\n      {\"id\": \"9.1\", \"text\": \"Warns against using libraries that wrap standard library functionality without adding meaningful value\"},\n      {\"id\": \"9.2\", \"text\": \"Explains that more dependencies increase attack surface and maintenance burden\"},\n      {\"id\": \"9.3\", \"text\": \"Recommends evaluating whether net/http itself is sufficient\"},\n      {\"id\": \"9.4\", \"text\": \"Mentions the anti-pattern of adding dependencies for marginal convenience\"},\n      {\"id\": \"9.5\", \"text\": \"Suggests considering the library's dependency footprint relative to the value it provides\"}\n    ]\n  },\n  {\n    \"id\": 10,\n    \"name\": \"testcontainers-for-integration\",\n    \"description\": \"testcontainers-go is preferred over shared docker-compose for integration tests because each test gets an isolated, fresh container\",\n    \"prompt\": \"We already have a docker-compose.yml for local development with PostgreSQL and Redis. A teammate says: 'For integration tests, just document that developers should run docker-compose up before running go test -tags=integration. That way we reuse the same infrastructure we already have and don't add a new dependency.' Is this a good approach? What would you recommend instead?\",\n    \"trap\": \"The teammate's approach seems pragmatic — reuse existing infrastructure, avoid adding testcontainers-go as a dependency. The skill teaches testcontainers-go is better for test isolation: each test run gets a fresh container (no state leakage between test runs), tests are fully self-contained (no 'remember to run docker-compose up'), and CI doesn't need to maintain a shared running stack.\",\n    \"assertions\": [\n      {\"id\": \"10.1\", \"text\": \"Pushes back on the teammate's docker-compose approach — identifies its key problems: shared state between test runs, manual setup requirement, CI complexity\"},\n      {\"id\": \"10.2\", \"text\": \"Recommends testcontainers-go as the preferred alternative for programmatic, isolated integration tests\"},\n      {\"id\": \"10.3\", \"text\": \"Explains the key advantage: each test suite gets a fresh container spun up and torn down automatically — no state leakage, no manual prerequisites\"},\n      {\"id\": \"10.4\", \"text\": \"Notes that testcontainers-go tests are fully self-contained: go test -tags=integration works without any external setup\"},\n      {\"id\": \"10.5\", \"text\": \"Acknowledges the dependency cost but frames it as justified by the isolation and reproducibility benefits\"}\n    ]\n  },\n  {\n    \"id\": 11,\n    \"name\": \"slices-maps-packages-go121\",\n    \"description\": \"Tests whether the model recommends the standard library slices/maps packages (Go 1.21+) instead of external utility libraries for basic operations\",\n    \"prompt\": \"I need utility functions for slice operations in my Go 1.22 project — things like contains, sort, filter, and reverse. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends samber/lo or a similar utility library for basic operations that the standard library slices package already provides since Go 1.21\",\n    \"assertions\": [\n      {\"id\": \"11.1\", \"text\": \"Recommends the standard library slices package (Go 1.21+) for Contains, Sort, Reverse, and similar operations\"},\n      {\"id\": \"11.2\", \"text\": \"Does NOT recommend only external libraries for basic slice operations that slices package covers\"},\n      {\"id\": \"11.3\", \"text\": \"May mention samber/lo or similar for functional operations (Map, Filter, Reduce) not in stdlib slices\"},\n      {\"id\": \"11.4\", \"text\": \"Distinguishes between operations covered by stdlib (Contains, Sort, Reverse, Compact, BinarySearch) and those requiring external libraries (Map, Filter, GroupBy)\"},\n      {\"id\": \"11.5\", \"text\": \"Applies the 'standard library first' principle\"}\n    ]\n  }\n]\n\nArchive v1.1.4: 6 files, 11968 bytes\n\nFiles: evals/evals.json (11643b), references/libraries.md (10890b), references/stdlib.md (2239b), references/tools.md (1303b), SKILL.md (3643b), _meta.json (143b)\n\nFile v1.1.4:SKILL.md\n\n---\nname: golang-popular-libraries\ndescription: \"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.\"\nuser-invocable: false\nlicense: MIT\ncompatibility: Designed for Claude Code or similar AI coding agents, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.1.4\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch AskUserQuestion\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: <https://github.com/avelino/awesome-go>\n\nThis skill is not exhaustive. Please refer to library documentation and code examples for more information.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending\n4. **Consider complexity** - Simpler solutions are usually better in Go\n5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden\n\nRemember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.\n\n## Anti-Patterns to Avoid\n\n- Over-engineering simple problems with complex libraries\n- Using libraries that wrap standard library functionality without adding value\n- Abandoned or unmaintained libraries: ask the developer before recommending these\n- Suggesting libraries with large dependency footprints for simple needs\n- Ignoring standard library alternatives\n\n## Cross-References\n\n- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies\n- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details\n- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details\n- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details\n- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details\n\nFile v1.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1775049683675\n}\n\nFile v1.1.4:references/libraries.md\n\n# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (<https://github.com/gin-gonic/gin>) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (<https://github.com/labstack/echo>) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (<https://github.com/gofiber/fiber>) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (<https://github.com/go-chi/chi>) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (<https://github.com/go-resty/resty>) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (<https://github.com/imroc/req>) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (<https://github.com/go-gorm/gorm>) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (<https://github.com/jmoiron/sqlx>) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (<https://github.com/ent/ent>) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (<https://github.com/sqlc-dev/sqlc>) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (<https://github.com/go-sql-driver/mysql>) MySQL driver for Go's database/sql package. Maintained by the Go team, reliable and performant.\n\n**lib/pq** (<https://github.com/lib/pq>) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (<https://github.com/jackc/pgx>) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (<https://github.com/redis/go-redis>) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (<https://github.com/mongodb/mongo-go-driver>) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (<https://github.com/stretchr/testify>) Sacred extension to the testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (<https://github.com/uber-go/mock>) Mocking framework for Go interfaces. Widely used, integrates well with testing package.\n\n**go-sqlmock** (<https://github.com/DATA-DOG/go-sqlmock>) SQL mock driver for testing database operations. Test database code without a real database.\n\n**testcontainers-go** (<https://golang.testcontainers.org>) Integration testing with real dependencies in Docker containers. Spin up databases, message queues, etc.\n\n**httptest** (standard library) Testing HTTP servers/clients. Built into Go, no external dependency needed.\n\n## Command Line and Configuration\n\n**Cobra** (<https://github.com/spf13/cobra>) Commander for modern Go CLI applications. Powerful subcommand system, flags, auto-generated docs. Industry standard for CLIs.\n\n**Viper** (<https://github.com/spf13/viper>) Go configuration with fangs. Works with Cobra, supports multiple formats (JSON, YAML, TOML, env).\n\n**urfave/cli** (<https://github.com/urfave/cli>) Simple, fast, fun package for building command line apps. Alternative to Cobra.\n\n**Koanf** (<https://github.com/knadh/koanf>) Lightweight, extensible library for reading config. Support for JSON, YAML, TOML, env, command line.\n\n**env** (from <https://github.com/caarlos0/env>) Parse environment variables into Go structs with defaults. Simple, type-safe, no struct tags.\n\n## Logging\n\n**Zap** (<https://github.com/uber-go/zap>) Fast, structured, leveled logging. Uber's production logger, zero-allocation in hot paths.\n\n**Zerolog** (<https://github.com/rs/zerolog>) Zero-allocation JSON logging. Very fast, simple API, leveled logging.\n\n**Logrus** (<https://github.com/sirupsen/logrus>) Structured logger for Go. Mature, widely-used, plugin architecture. Note: deprecated in favor of structured logging.\n\n## Validation\n\n**validator** (<https://github.com/go-playground/validator>) Go struct validation. Tags-based, extensive validators, cross-field validation.\n\n**ozzo-validation** (<https://github.com/go-ozzo/ozzo-validation>) Fast validation library. Modern alternative for struct validation.\n\n## JSON Processing\n\n**jsoniter** (<https://github.com/json-iterator/go>) High-performance 100% compatible drop-in replacement for encoding/json. Faster JSON parsing.\n\n## Authentication & Authorization\n\n**Casbin** (<https://github.com/casbin/casbin>) Authorization library supporting ACL, RBAC, ABAC. Policy-based access control.\n\n**JWT** (<https://github.com/golang-jwt/jwt>) JSON Web Token implementation for Go. Full-featured, widely-used.\n\n## Caching\n\n**Ristretto** (<https://github.com/dgraph-io/ristretto>) High-performance memory-bound Go cache.\n\n**BigCache** (<https://github.com/allegro/bigcache>) Efficient key/value cache for gigabytes of data. Sharded, optimized for high throughput.\n\n**go-cache** (<https://github.com/patrickmn/go-cache>) In-memory key-value store with expiration. Thread-safe, simple API.\n\n## Rate Limiting\n\n**Tollbooth** (<https://github.com/ulule/limiter>) Rate limiting HTTP middleware. Simple, volume-based limiting, easy to use.\n\n**golang.org/x/time/rate** (<https://golang.org/x/time/rate>) Standard library rate limiter. Token bucket algorithm, well-maintained.\n\n## Concurrency & Goroutines\n\n**Watermill** (<https://github.com/ThreeDotsLabs/watermill>) Event-driven framework for Go. Message streams, event sourcing, CQRS patterns.\n\n**ro** (<https://github.com/samber/ro>) Reactive programming for Go. Event-driven streams with operators for data flow transformation.\n\n## Messaging\n\n**franz-go** (<https://github.com/twmb/franz-go>) Kafka client for Go. Modern, high-performance, feature-complete client with excellent documentation and community support.\n\n**amqp091-go** (<https://github.com/rabbitmq/amqp091-go>) Official RabbitMQ client for Go. Maintained by RabbitMQ team, supports AMQP 0.9.1 protocol.\n\n**NATS.go** (<https://github.com/nats-io/nats.go>) Client for NATS messaging system. Simple, secure, performant communications.\n\n**Temporal Go SDK** (<https://github.com/temporalio/sdk-go>) Durable execution framework for building reliable async applications. Workflows, activities, and long-running processes.\n\n**DBOS** (<https://github.com/dbos-inc/dbos-transact-golang>) Backend framework for Go applications with durable execution, built on PostgreSQL.\n\n## Types and Data Structures\n\n**gods** (<https://github.com/emirpasic/gods>) Go Data Structures - Sets, Lists, Stacks, Maps, Trees, Queues, and much more\n\n**bloom** (<https://github.com/bits-and-blooms/bloom>) Bloom filter implementation. Memory-efficient set membership testing.\n\n**hyperloglog** (<https://github.com/clarkduvall/hyperloglog>) HyperLogLog implementation for Go. Memory-efficient cardinality estimation for large datasets.\n\n**Carbon** (<https://github.com/uniplaces/carbon>) Simple, semantic time library for Go. Time parsing, formatting, manipulation.\n\n**google/uuid** (<https://github.com/google/uuid>) Generate and parse UUIDs. Official Google library, RFC 4122 compliant.\n\n## Database Schema Migration\n\n**golang-migrate** (<https://github.com/golang-migrate/migrate>) Database migration tool. Supports multiple databases, version control for schemas.\n\n**goose** (<https://github.com/pressly/goose>) Database migration tool. SQL or Go migrations, supports multiple databases.\n\n## WebSockets\n\n**gorilla/websocket** (<https://github.com/gorilla/websocket>) WebSocket package for Go. Mature, widely-used, part of Gorilla toolkit.\n\n## gRPC\n\n**grpc-go** (<https://github.com/grpc/grpc-go>) The Go language implementation of gRPC. HTTP/2 based RPC framework by Google.\n\n## GraphQL\n\n**gqlgen** (<https://github.com/99designs/gqlgen>) Go generate based graphql server library. Type-safe, schema-first, code generation.\n\n**graphql-go** (<https://github.com/graphql-go/graphql>) Implementation of GraphQL for Go. Query execution, schema parsing.\n\n## File Watching\n\n**fsnotify** (<https://github.com/fsnotify/fsnotify>) Cross-platform file system watcher for Go. Watch for file changes efficiently.\n\n## Retry Logic\n\n**avast/retry-go** (<https://github.com/avast/retry-go>) Retry mechanism for Go with exponential backoff. Simple, configurable.\n\n## Error Handling\n\n**pkg/errors** (<https://github.com/pkg/errors>) Error handling primitives for Go. Stack traces, error wrapping, cause chains.\n\n**oops** (<https://github.com/samber/oops>) Error handling library with stack traces, hints, and context. Rich error wrapping with type-safe error chains.\n\n## Metrics & Monitoring\n\n**prometheus/client_golang** (<https://github.com/prometheus/client_golang>) Prometheus instrumentation library for Go. Metrics, histograms, counters, gauges.\n\n**opentelemetry-go** (<https://github.com/open-telemetry/opentelemetry-go>) OpenTelemetry Go API and SDK. Distributed tracing, metrics, logs.\n\n## API Documentation\n\n**swag** (<https://github.com/swaggo/swag>) Auto-generate OpenAPI/Swagger specs from Go code annotations. Parses comment-based annotations (`@Summary`, `@Param`, `@Success`, `@Router`, etc.) on handler functions to produce `swagger.json`/`swagger.yaml`. Integrates with Gin (`gin-swagger`), Echo (`echo-swagger`), Fiber (`fiber-swagger`), Chi, and net/http. Supports Swagger 2.0 and OpenAPI 3.x output.\n\n## Dependency Injection\n\n**do** (<https://github.com/samber/do>) Dependency injection library for Go. Simple, runtime DI with service locator pattern and health checks.\n\n**Wire** (<https://github.com/google/wire>) Code-generated dependency injection for Go. Compile-time dependency injection without reflection.\n\n**Dig** (<https://github.com/uber-go/dig>) Dependency injection container for Go. Runtime DI with lifecycle management.\n\n**Fx** (<https://github.com/uber-go/fx>) Application framework for Go. Built on Dig, provides lifecycle management, dependency injection, and observability.\n\n## Functional Programming & Utilities\n\n**lo** (<https://github.com/samber/lo>) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.\n\n**mo** (<https://github.com/samber/mo>) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.\n\n## Excel & Spreadsheet\n\n**Excelize** (<https://github.com/qax-os/excelize>) Go library for reading and writing Excel files (XLSX). Supports formatting, charts, and complex spreadsheet operations.\n\nFile v1.1.4:references/stdlib.md\n\n# Standard Library - New & Experimental\n\nThe Go standard library continues to evolve with v2 packages and experimental features. **Prefer these over external libraries when available.**\n\n## V2 Packages (API Breaking Changes)\n\n**math/rand/v2** (Go 1.22+) Improved random number generation with better algorithms (ChaCha8, PCG). Auto-seeded, no more rand.Seed() needed.\n\n**encoding/json/v2** (golang.org/x/exp/json) Next-generation JSON encoding/decoding with semantic formatting, less reflection, and better performance. In development.\n\n## New Packages (Promoted from x/exp)\n\n**slices** (Go 1.21+) Generic slice operations: BinarySearch, Clone, Compact, Compare, Contains, Delete, Insert, Replace, Reverse, Sort. Reduces the need for external libraries.\n\n**maps** (Go 1.21+) Generic map operations: Clone, Compare, Delete, Equal, Keys, Values. Type-safe map utilities.\n\n**cmp** (Go 1.21+) Comparison utilities: Compare, Or, Ordered. Used with the slices/maps packages.\n\n**iter** (Go 1.23+) Iterator support for sequences. Enables range-over functions and integrates with slices/maps methods.\n\n**unique** (Go 1.23+) Value canonicalization and interning. Efficient deduplication of comparable values.\n\n**log/slog** (Go 1.21+) Structured logging for the standard library. Alternative to external logging libraries for many use cases.\n\n**weak** (Go 1.24+) Weak references for garbage collection. Useful for caches and observers.\n\n**structs** (Go 1.23+) Structure layout control and introspection.\n\n## golang.org/x (Official Extensions)\n\n**golang.org/x/oauth2** OAuth2 client implementation. Supports multiple providers (Google, GitHub, etc.). Official OAuth2 client.\n\n**golang.org/x/crypto** Additional cryptographic algorithms: bcrypt, blowfish, scrypt, ssh, acme (Let's Encrypt), pbkdf2.\n\n**golang.org/x/net** Network utilities: websocket, context, proxy, trace, http2, ipv4/ipv6, netutil.\n\n**golang.org/x/text** Text processing: encoding, unicode, cases, search, language (language tag parsing and matching).\n\n**golang.org/x/sync** Extended synchronization: errgroup, singleflight, semaphore.\n\n**simd/archsimd** (golang.org/x/arch) CPU architecture detection for SIMD operations. Runtime feature detection for AVX, AVX2, AVX512, NEON, etc.\n\nFile v1.1.4:references/tools.md\n\n# Go Development Tools\n\n## Debugging\n\n**Delve** (<https://github.com/go-delve/delve>) Debugger for the Go programming language. Source-level debugger for Go programs.\n\n## Linting & Code Quality\n\n**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.\n\n## Testing\n\n**gotest** (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.\n\n**cover** (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.\n\n**benchstat** (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.\n\n**goleak** (<https://github.com/uber-go/goleak>) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.\n\n## Dependency Management\n\n**go-mod-outdated** (<https://github.com/psampaz/go-mod-outdated>) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.\n\n**goweight** (<https://github.com/jondot/goweight>) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat.\n\nFile v1.1.4:evals/evals.json\n\n[\n  {\n    \"id\": 1,\n    \"name\": \"stdlib-first-json\",\n    \"description\": \"Tests whether the model prefers standard library encoding/json over third-party JSON libraries for basic use cases\",\n    \"prompt\": \"I need to parse JSON in my Go project. What library should I use?\",\n    \"trap\": \"Without the skill, the model might immediately recommend jsoniter or another third-party JSON library instead of starting with encoding/json from the standard library\",\n    \"assertions\": [\n      {\"id\": \"1.1\", \"text\": \"Recommends encoding/json from the standard library as the first option\"},\n      {\"id\": \"1.2\", \"text\": \"Only suggests third-party alternatives (jsoniter, etc.) for specific performance needs\"},\n      {\"id\": \"1.3\", \"text\": \"Explains that the standard library is sufficient for most JSON use cases\"},\n      {\"id\": \"1.4\", \"text\": \"If mentioning alternatives, presents them as options for measured performance requirements, not as default recommendations\"},\n      {\"id\": \"1.5\", \"text\": \"Does NOT recommend a third-party library without first considering stdlib\"}\n    ]\n  },\n  {\n    \"id\": 2,\n    \"name\": \"pgx-over-lib-pq\",\n    \"description\": \"Tests whether the model recommends pgx over lib/pq for PostgreSQL when advanced features or performance matter\",\n    \"prompt\": \"I'm starting a new Go project that needs to connect to PostgreSQL. Which driver should I use?\",\n    \"trap\": \"Without the skill, the model recommends lib/pq because it's more commonly seen in tutorials, missing that pgx is faster and has more features\",\n    \"assertions\": [\n      {\"id\": \"2.1\", \"text\": \"Recommends pgx (github.com/jackc/pgx) as the primary recommendation\"},\n      {\"id\": \"2.2\", \"text\": \"Mentions that pgx is faster than lib/pq\"},\n      {\"id\": \"2.3\", \"text\": \"Notes that pgx supports all PostgreSQL types and advanced features\"},\n      {\"id\": \"2.4\", \"text\": \"May mention lib/pq as an alternative but positions pgx as the preferred choice\"},\n      {\"id\": \"2.5\", \"text\": \"Does NOT recommend lib/pq as the primary choice without mentioning pgx\"}\n    ]\n  },\n  {\n    \"id\": 3,\n    \"name\": \"chi-for-minimal-router\",\n    \"description\": \"Tests whether the model recommends chi for lightweight routing needs instead of full frameworks\",\n    \"prompt\": \"I need a simple HTTP router for my Go REST API. It just needs path parameters and middleware support. I want to stay close to net/http. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends Gin or Echo (full frameworks) when chi's lightweight, net/http-compatible router is a better fit\",\n    \"assertions\": [\n      {\"id\": \"3.1\", \"text\": \"Recommends chi (github.com/go-chi/chi) as a strong match for the stated requirements\"},\n      {\"id\": \"3.2\", \"text\": \"Explains that chi is lightweight and composes well with net/http\"},\n      {\"id\": \"3.3\", \"text\": \"Notes that chi has minimal dependencies\"},\n      {\"id\": \"3.4\", \"text\": \"May mention Gin/Echo as alternatives but positions chi as the better fit for staying close to net/http\"},\n      {\"id\": \"3.5\", \"text\": \"Does NOT recommend a full framework (Gin, Echo, Fiber) as the primary choice when the user explicitly wants to stay close to net/http\"}\n    ]\n  },\n  {\n    \"id\": 4,\n    \"name\": \"slog-over-external-loggers\",\n    \"description\": \"Tests whether the model considers log/slog (Go 1.21+) before recommending external logging libraries\",\n    \"prompt\": \"I need structured logging in my Go 1.22 project. What library should I use?\",\n    \"trap\": \"Without the skill, the model jumps to zap or zerolog without mentioning that Go 1.21+ has log/slog in the standard library\",\n    \"assertions\": [\n      {\"id\": \"4.1\", \"text\": \"Mentions log/slog as the standard library option for structured logging (available since Go 1.21)\"},\n      {\"id\": \"4.2\", \"text\": \"Presents slog as a viable option, not just an afterthought\"},\n      {\"id\": \"4.3\", \"text\": \"If recommending external libraries (zap, zerolog), explains what specific value they add over slog\"},\n      {\"id\": \"4.4\", \"text\": \"Does NOT skip standard library consideration entirely\"},\n      {\"id\": \"4.5\", \"text\": \"May mention zap/zerolog for specific use cases (zero-allocation hot paths, etc.)\"}\n    ]\n  },\n  {\n    \"id\": 5,\n    \"name\": \"sqlc-vs-orm-decision\",\n    \"description\": \"Tests whether the model presents sqlc as an alternative to ORMs when the user values type safety and compile-time checks\",\n    \"prompt\": \"I want to interact with my PostgreSQL database in Go. I want maximum type safety and want the compiler to catch SQL errors. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends GORM (most popular ORM) which uses runtime reflection, missing sqlc which generates type-safe code from SQL at compile time\",\n    \"assertions\": [\n      {\"id\": \"5.1\", \"text\": \"Recommends sqlc (github.com/sqlc-dev/sqlc) as a primary option for compile-time SQL safety\"},\n      {\"id\": \"5.2\", \"text\": \"Explains that sqlc generates type-safe Go code from SQL with no runtime reflection\"},\n      {\"id\": \"5.3\", \"text\": \"Mentions that GORM uses runtime reflection which does not catch SQL errors at compile time\"},\n      {\"id\": \"5.4\", \"text\": \"May also mention ent as a code-generated alternative\"},\n      {\"id\": \"5.5\", \"text\": \"Does NOT recommend only GORM when the user explicitly asks for compile-time safety\"}\n    ]\n  },\n  {\n    \"id\": 6,\n    \"name\": \"rate-limiter-stdlib-first\",\n    \"description\": \"Tests whether the model recommends golang.org/x/time/rate before third-party rate limiters\",\n    \"prompt\": \"I need to add rate limiting to my Go HTTP API. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends a third-party rate limiter without mentioning the official golang.org/x/time/rate package\",\n    \"assertions\": [\n      {\"id\": \"6.1\", \"text\": \"Recommends golang.org/x/time/rate as the standard/official option\"},\n      {\"id\": \"6.2\", \"text\": \"Explains that it implements a token bucket algorithm\"},\n      {\"id\": \"6.3\", \"text\": \"May mention third-party alternatives (Tollbooth/limiter) for HTTP middleware integration\"},\n      {\"id\": \"6.4\", \"text\": \"Does NOT skip the official x/time/rate package entirely\"},\n      {\"id\": \"6.5\", \"text\": \"Explains when third-party middleware might be preferred (e.g., per-IP limiting, distributed rate limiting)\"}\n    ]\n  },\n  {\n    \"id\": 7,\n    \"name\": \"franz-go-for-kafka\",\n    \"description\": \"Tests whether the model recommends franz-go for Kafka instead of only the legacy sarama client\",\n    \"prompt\": \"I need a Kafka client for my Go application. What library should I use?\",\n    \"trap\": \"Without the skill, the model recommends sarama (the legacy, most commonly referenced Kafka client) instead of franz-go which is modern, higher-performance, and better maintained\",\n    \"assertions\": [\n      {\"id\": \"7.1\", \"text\": \"Recommends franz-go (github.com/twmb/franz-go) as a primary recommendation\"},\n      {\"id\": \"7.2\", \"text\": \"Describes franz-go as modern, high-performance, and feature-complete\"},\n      {\"id\": \"7.3\", \"text\": \"Does NOT recommend only sarama without mentioning franz-go\"},\n      {\"id\": \"7.4\", \"text\": \"May mention sarama as an alternative but positions franz-go as the preferred modern choice\"}\n    ]\n  },\n  {\n    \"id\": 8,\n    \"name\": \"check-maintenance-before-recommending\",\n    \"description\": \"Tests whether the model checks maintenance status before recommending a library\",\n    \"prompt\": \"I need a logging library for my Go project. Someone suggested Logrus. Should I use it?\",\n    \"trap\": \"Without the skill, the model recommends Logrus without noting its maintenance status (deprecated in favor of structured logging)\",\n    \"assertions\": [\n      {\"id\": \"8.1\", \"text\": \"Mentions that Logrus is deprecated or in maintenance mode\"},\n      {\"id\": \"8.2\", \"text\": \"Suggests alternatives: log/slog (stdlib), zap, or zerolog\"},\n      {\"id\": \"8.3\", \"text\": \"Explains that for new projects, a maintained alternative is preferred\"},\n      {\"id\": \"8.4\", \"text\": \"Does NOT unconditionally recommend Logrus without mentioning its deprecation status\"},\n      {\"id\": \"8.5\", \"text\": \"Prioritizes maturity and maintenance status in the recommendation\"}\n    ]\n  },\n  {\n    \"id\": 9,\n    \"name\": \"avoid-unnecessary-wrappers\",\n    \"description\": \"Tests that the model warns against libraries that just wrap stdlib without adding value\",\n    \"prompt\": \"I found a Go library that provides helper functions for HTTP request handling, basically wrapping net/http with slightly more convenient syntax. Should I add it to my project?\",\n    \"trap\": \"Without the skill, the model evaluates only the convenience factor without considering the anti-pattern of wrapping stdlib without real value\",\n    \"assertions\": [\n      {\"id\": \"9.1\", \"text\": \"Warns against using libraries that wrap standard library functionality without adding meaningful value\"},\n      {\"id\": \"9.2\", \"text\": \"Explains that more dependencies increase attack surface and maintenance burden\"},\n      {\"id\": \"9.3\", \"text\": \"Recommends evaluating whether net/http itself is sufficient\"},\n      {\"id\": \"9.4\", \"text\": \"Mentions the anti-pattern of adding dependencies for marginal convenience\"},\n      {\"id\": \"9.5\", \"text\": \"Suggests considering the library's dependency footprint relative to the value it provides\"}\n    ]\n  },\n  {\n    \"id\": 10,\n    \"name\": \"testcontainers-for-integration\",\n    \"description\": \"Tests whether the model recommends testcontainers-go for integration testing with real services\",\n    \"prompt\": \"I need to write integration tests for my Go service that connects to PostgreSQL and Redis. I want to test against real instances, not mocks. What should I use?\",\n    \"trap\": \"Without the skill, the model suggests Docker Compose or manual test setup scripts instead of testcontainers-go which provides programmatic container lifecycle management\",\n    \"assertions\": [\n      {\"id\": \"10.1\", \"text\": \"Recommends testcontainers-go (golang.testcontainers.org) for programmatic integration testing\"},\n      {\"id\": \"10.2\", \"text\": \"Explains that testcontainers-go spins up real Docker containers within tests\"},\n      {\"id\": \"10.3\", \"text\": \"Shows or describes how containers are started and stopped within test lifecycle\"},\n      {\"id\": \"10.4\", \"text\": \"Positions it as better than manual Docker Compose for test isolation and reproducibility\"},\n      {\"id\": \"10.5\", \"text\": \"May also mention go-sqlmock as a complementary tool for unit-level database testing\"}\n    ]\n  },\n  {\n    \"id\": 11,\n    \"name\": \"slices-maps-packages-go121\",\n    \"description\": \"Tests whether the model recommends the standard library slices/maps packages (Go 1.21+) instead of external utility libraries for basic operations\",\n    \"prompt\": \"I need utility functions for slice operations in my Go 1.22 project — things like contains, sort, filter, and reverse. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends samber/lo or a similar utility library for basic operations that the standard library slices package already provides since Go 1.21\",\n    \"assertions\": [\n      {\"id\": \"11.1\", \"text\": \"Recommends the standard library slices package (Go 1.21+) for Contains, Sort, Reverse, and similar operations\"},\n      {\"id\": \"11.2\", \"text\": \"Does NOT recommend only external libraries for basic slice operations that slices package covers\"},\n      {\"id\": \"11.3\", \"text\": \"May mention samber/lo or similar for functional operations (Map, Filter, Reduce) not in stdlib slices\"},\n      {\"id\": \"11.4\", \"text\": \"Distinguishes between operations covered by stdlib (Contains, Sort, Reverse, Compact, BinarySearch) and those requiring external libraries (Map, Filter, GroupBy)\"},\n      {\"id\": \"11.5\", \"text\": \"Applies the 'standard library first' principle\"}\n    ]\n  }\n]\n\nArchive v1.1.2: 6 files, 11922 bytes\n\nFiles: evals/evals.json (11643b), references/libraries.md (10740b), references/stdlib.md (2230b), references/tools.md (1289b), SKILL.md (3626b), _meta.json (143b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: golang-popular-libraries\ndescription: \"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.\"\nuser-invocable: false\nlicense: MIT\ncompatibility: Designed for Claude Code or similar AI coding agents, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.1.2\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: https://github.com/avelino/awesome-go\n\nThis skill is not exhaustive. Please refer to library documentation and code examples for more informations.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending\n4. **Consider complexity** - Simpler solutions are usually better in Go\n5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden\n\nRemember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.\n\n## Anti-Patterns to Avoid\n\n- Over-engineering simple problems with complex libraries\n- Using libraries that wrap standard library functionality without adding value\n- Abandoned or unmaintained libraries: ask the developer before recommending these\n- Suggesting libraries with large dependency footprints for simple needs\n- Ignoring standard library alternatives\n\n## Cross-References\n\n- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies\n- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details\n- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details\n- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details\n- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1774621743621\n}\n\nFile v1.1.2:references/libraries.md\n\n# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (https://github.com/gin-gonic/gin) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (https://github.com/labstack/echo) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (https://github.com/gofiber/fiber) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (https://github.com/go-chi/chi) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (https://github.com/go-resty/resty) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (https://github.com/imroc/req) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (https://github.com/go-gorm/gorm) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (https://github.com/jmoiron/sqlx) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (https://github.com/ent/ent) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (https://github.com/sqlc-dev/sqlc) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (https://github.com/go-sql-driver/mysql) MySQL driver for Go's database/sql package. Maintained by Go team, reliable and performant.\n\n**lib/pq** (https://github.com/lib/pq) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (https://github.com/jackc/pgx) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (https://github.com/redis/go-redis) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (https://github.com/mongodb/mongo-go-driver) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (https://github.com/stretchr/testify) Sacred extension to testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (https://github.com/uber-go/mock) Mocking framework for Go interfaces. Widely used, integrates well with testing package.\n\n**go-sqlmock** (https://github.com/DATA-DOG/go-sqlmock) SQL mock driver for testing database operations. Test database code without real database.\n\n**testcontainers-go** (https://golang.testcontainers.org) Integration testing with real dependencies in Docker containers. Spin up databases, message queues, etc.\n\n**httptest** (standard library) Testing HTTP servers/clients. Built into Go, no external dependency needed.\n\n## Command Line and Configuration\n\n**Cobra** (https://github.com/spf13/cobra) Commander for modern Go CLI applications. Powerful subcommand system, flags, auto-generated docs. Industry standard for CLIs.\n\n**Viper** (https://github.com/spf13/viper) Go configuration with fangs. Works with Cobra, supports multiple formats (JSON, YAML, TOML, env).\n\n**urfave/cli** (https://github.com/urfave/cli) Simple, fast, fun package for building command line apps. Alternative to Cobra.\n\n**Koanf** (https://github.com/knadh/koanf) Lightweight, extensible library for reading config. Support for JSON, YAML, TOML, env, command line.\n\n**env** (from https://github.com/caarlos0/env) Parse environment variables to Go structs with defaults. Simple, type-safe, no struct tags.\n\n## Logging\n\n**Zap** (https://github.com/uber-go/zap) Fast, structured, leveled logging. Uber's production logger, zero-allocation in hot paths.\n\n**Zerolog** (https://github.com/rs/zerolog) Zero-allocation JSON logging. Very fast, simple API, leveled logging.\n\n**Logrus** (https://github.com/sirupsen/logrus) Structured logger for Go. Mature, widely-used, plugin architecture. Note: deprecated in favor of structured logging.\n\n## Validation\n\n**validator** (https://github.com/go-playground/validator) Go struct validation. Tags-based, extensive validators, cross-field validation.\n\n**ozzo-validation** (https://github.com/go-ozzo/ozzo-validation) Fast validation library. Modern alternative for struct validation.\n\n## JSON Processing\n\n**jsoniter** (https://github.com/json-iterator/go) High-performance 100% compatible drop-in replacement for encoding/json. Faster JSON parsing.\n\n## Authentication & Authorization\n\n**Casbin** (https://github.com/casbin/casbin) Authorization library supporting ACL, RBAC, ABAC. Policy-based access control.\n\n**JWT** (https://github.com/golang-jwt/jwt) JSON Web Token implementation for Go. Full-featured, widely-used.\n\n## Caching\n\n**Ristretto** (https://github.com/dgraph-io/ristretto) High-performance memory-bound Go cache.\n\n**BigCache** (https://github.com/allegro/bigcache) Efficient key/value cache for gigabytes of data. Sharded, optimized for high throughput.\n\n**go-cache** (https://github.com/patrickmn/go-cache) In-memory key-value store with expiration. Thread-safe, simple API.\n\n## Rate Limiting\n\n**Tollbooth** (https://github.com/ulule/limiter) Rate limiting HTTP middleware. Simple, volume-based limiting, easy to use.\n\n**golang.org/x/time/rate** (https://golang.org/x/time/rate) Standard library rate limiter. Token bucket algorithm, well-maintained.\n\n## Concurrency & Goroutines\n\n**Watermill** (https://github.com/ThreeDotsLabs/watermill) Event-driven framework for Go. Message streams, event sourcing, CQRS patterns.\n\n**ro** (https://github.com/samber/ro) Reactive programming for Go. Event-driven streams with operators for data flow transformation.\n\n## Messaging\n\n**franz-go** (https://github.com/twmb/franz-go) Kafka client for Go. Modern, high-performance, feature-complete client with excellent documentation and community support.\n\n**amqp091-go** (https://github.com/rabbitmq/amqp091-go) Official RabbitMQ client for Go. Maintained by RabbitMQ team, supports AMQP 0.9.1 protocol.\n\n**NATS.go** (https://github.com/nats-io/nats.go) Client for NATS messaging system. Simple, secure, performant communications.\n\n**Temporal Go SDK** (https://github.com/temporalio/sdk-go) Durable execution framework for building reliable async applications. Workflows, activities, and long-running processes.\n\n**DBOS** (https://github.com/dbos-inc/dbos-transact-golang) Backend framework for Go applications with durable execution, built on PostgreSQL.\n\n## Types and Data Structures\n\n**gods** (https://github.com/emirpasic/gods) Go Data Structures - Sets, Lists, Stacks, Maps, Trees, Queues, and much more\n\n**bloom** (https://github.com/bits-and-blooms/bloom) Bloom filter implementation. Memory-efficient set membership testing.\n\n**hyperloglog** (https://github.com/clarkduvall/hyperloglog) HyperLogLog implementation for Go. Memory-efficient cardinality estimation for large datasets.\n\n**Carbon** (https://github.com/uniplaces/carbon) Simple, semantic time library for Go. Time parsing, formatting, manipulation.\n\n**google/uuid** (https://github.com/google/uuid) Generate and parse UUIDs. Official Google library, RFC 4122 compliant.\n\n## Database Schema Migration\n\n**golang-migrate** (https://github.com/golang-migrate/migrate) Database migration tool. Supports multiple databases, version control for schemas.\n\n**goose** (https://github.com/pressly/goose) Database migration tool. SQL or Go migrations, supports multiple databases.\n\n## WebSockets\n\n**gorilla/websocket** (https://github.com/gorilla/websocket) WebSocket package for Go. Mature, widely-used, part of Gorilla toolkit.\n\n## gRPC\n\n**grpc-go** (https://github.com/grpc/grpc-go) The Go language implementation of gRPC. HTTP/2 based RPC framework by Google.\n\n## GraphQL\n\n**gqlgen** (https://github.com/99designs/gqlgen) Go generate based graphql server library. Type-safe, schema-first, code generation.\n\n**graphql-go** (https://github.com/graphql-go/graphql) Implementation of GraphQL for Go. Query execution, schema parsing.\n\n## File Watching\n\n**fsnotify** (https://github.com/fsnotify/fsnotify) Cross-platform file system watcher for Go. Watch for file changes efficiently.\n\n## Retry Logic\n\n**avast/retry-go** (https://github.com/avast/retry-go) Retry mechanism for Go with exponential backoff. Simple, configurable.\n\n## Error Handling\n\n**pkg/errors** (https://github.com/pkg/errors) Error handling primitives for Go. Stack traces, error wrapping, cause chains.\n\n**oops** (https://github.com/samber/oops) Error handling library with stack traces, hints, and context. Rich error wrapping with type-safe error chains.\n\n## Metrics & Monitoring\n\n**prometheus/client_golang** (https://github.com/prometheus/client_golang) Prometheus instrumentation library for Go. Metrics, histograms, counters, gauges.\n\n**opentelemetry-go** (https://github.com/open-telemetry/opentelemetry-go) OpenTelemetry Go API and SDK. Distributed tracing, metrics, logs.\n\n## API Documentation\n\n**swag** (https://github.com/swaggo/swag) Auto-generate OpenAPI/Swagger specs from Go code annotations. Parses comment-based annotations (`@Summary`, `@Param`, `@Success`, `@Router`, etc.) on handler functions to produce `swagger.json`/`swagger.yaml`. Integrates with Gin (`gin-swagger`), Echo (`echo-swagger`), Fiber (`fiber-swagger`), Chi, and net/http. Supports Swagger 2.0 and OpenAPI 3.x output.\n\n## Dependency Injection\n\n**do** (https://github.com/samber/do) Dependency injection library for Go. Simple, runtime DI with service locator pattern and health checks.\n\n**Wire** (https://github.com/google/wire) Code-generated dependency injection for Go. Compile-time dependency injection without reflection.\n\n**Dig** (https://github.com/uber-go/dig) Dependency injection container for Go. Runtime DI with lifecycle management.\n\n**Fx** (https://github.com/uber-go/fx) Application framework for Go. Built on Dig, provides lifecycle management, dependency injection, and observability.\n\n## Functional Programming & Utilities\n\n**lo** (https://github.com/samber/lo) A generics-based helper library for Go. Slice, map, and tuple operations with functional programming style.\n\n**mo** (https://github.com/samber/mo) Monads and functional programming helpers for Go. Option, Either, Try, and other functional patterns.\n\n## Excel & Spreadsheet\n\n**Excelize** (https://github.com/qax-os/excelize) Go library for reading and writing Excel files (XLSX). Supports formatting, charts, and complex spreadsheet operations.\n\nFile v1.1.2:references/stdlib.md\n\n# Standard Library - New & Experimental\n\nThe Go standard library continues to evolve with v2 packages and experimental features. **Prefer these over external libraries when available.**\n\n## V2 Packages (API Breaking Changes)\n\n**math/rand/v2** (Go 1.22+) Improved random number generation with better algorithms (ChaCha8, PCG). Auto-seeded, no more rand.Seed() needed.\n\n**encoding/json/v2** (golang.org/x/exp/json) Next-generation JSON encoding/decoding with semantic formatting, less reflection, and better performance. In development.\n\n## New Packages (Promoted from x/exp)\n\n**slices** (Go 1.21+) Generic slice operations: BinarySearch, Clone, Compact, Compare, Contains, Delete, Insert, Replace, Reverse, Sort. Reduces need for external libraries.\n\n**maps** (Go 1.21+) Generic map operations: Clone, Compare, Delete, Equal, Keys, Values. Type-safe map utilities.\n\n**cmp** (Go 1.21+) Comparison utilities: Compare, Or, Ordered. Used with slices/maps package.\n\n**iter** (Go 1.23+) Iterator support for sequences. Enables range-over functions and integrates with slices/maps methods.\n\n**unique** (Go 1.23+) Value canonicalization and interning. Efficient deduplication of comparable values.\n\n**log/slog** (Go 1.21+) Structured logging for the standard library. Alternative to external logging libraries for many use cases.\n\n**weak** (Go 1.24+) Weak references for garbage collection. Useful for caches and observers.\n\n**structs** (Go 1.23+) Structure layout control and introspection.\n\n## golang.org/x (Official Extensions)\n\n**golang.org/x/oauth2** OAuth2 client implementation. Supports multiple providers (Google, GitHub, etc.). Official OAuth2 client.\n\n**golang.org/x/crypto** Additional cryptographic algorithms: bcrypt, blowfish, scrypt, ssh, acme (Let's Encrypt), pbkdf2.\n\n**golang.org/x/net** Network utilities: websocket, context, proxy, trace, http2, ipv4/ipv6, netutil.\n\n**golang.org/x/text** Text processing: encoding, unicode, cases, search, language (language tag parsing and matching).\n\n**golang.org/x/sync** Extended synchronization: errgroup, singleflight, semaphore.\n\n**simd/archsimd** (golang.org/x/arch) CPU architecture detection for SIMD operations. Runtime feature detection for AVX, AVX2, AVX512, NEON, etc.\n\nFile v1.1.2:references/tools.md\n\n# Go Development Tools\n\n## Debugging\n\n**Delve** (https://github.com/go-delve/delve) Debugger for the Go programming language. Source-level debugger for Go programs.\n\n## Linting & Code Quality\n\n**golangci-lint** (https://github.com/golangci/golangci-lint) Fast Go linters runner. Runs multiple linters in parallel, highly configurable, industry standard for Go code quality.\n\n## Testing\n\n**gotest** (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.\n\n**cover** (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.\n\n**benchstat** (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.\n\n**goleak** (https://github.com/uber-go/goleak) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.\n\n## Dependency Management\n\n**go-mod-outdated** (https://github.com/psampaz/go-mod-outdated) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.\n\n**goweight** (https://github.com/jondot/goweight) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat.\n\nFile v1.1.2:evals/evals.json\n\n[\n  {\n    \"id\": 1,\n    \"name\": \"stdlib-first-json\",\n    \"description\": \"Tests whether the model prefers standard library encoding/json over third-party JSON libraries for basic use cases\",\n    \"prompt\": \"I need to parse JSON in my Go project. What library should I use?\",\n    \"trap\": \"Without the skill, the model might immediately recommend jsoniter or another third-party JSON library instead of starting with encoding/json from the standard library\",\n    \"assertions\": [\n      {\"id\": \"1.1\", \"text\": \"Recommends encoding/json from the standard library as the first option\"},\n      {\"id\": \"1.2\", \"text\": \"Only suggests third-party alternatives (jsoniter, etc.) for specific performance needs\"},\n      {\"id\": \"1.3\", \"text\": \"Explains that the standard library is sufficient for most JSON use cases\"},\n      {\"id\": \"1.4\", \"text\": \"If mentioning alternatives, presents them as options for measured performance requirements, not as default recommendations\"},\n      {\"id\": \"1.5\", \"text\": \"Does NOT recommend a third-party library without first considering stdlib\"}\n    ]\n  },\n  {\n    \"id\": 2,\n    \"name\": \"pgx-over-lib-pq\",\n    \"description\": \"Tests whether the model recommends pgx over lib/pq for PostgreSQL when advanced features or performance matter\",\n    \"prompt\": \"I'm starting a new Go project that needs to connect to PostgreSQL. Which driver should I use?\",\n    \"trap\": \"Without the skill, the model recommends lib/pq because it's more commonly seen in tutorials, missing that pgx is faster and has more features\",\n    \"assertions\": [\n      {\"id\": \"2.1\", \"text\": \"Recommends pgx (github.com/jackc/pgx) as the primary recommendation\"},\n      {\"id\": \"2.2\", \"text\": \"Mentions that pgx is faster than lib/pq\"},\n      {\"id\": \"2.3\", \"text\": \"Notes that pgx supports all PostgreSQL types and advanced features\"},\n      {\"id\": \"2.4\", \"text\": \"May mention lib/pq as an alternative but positions pgx as the preferred choice\"},\n      {\"id\": \"2.5\", \"text\": \"Does NOT recommend lib/pq as the primary choice without mentioning pgx\"}\n    ]\n  },\n  {\n    \"id\": 3,\n    \"name\": \"chi-for-minimal-router\",\n    \"description\": \"Tests whether the model recommends chi for lightweight routing needs instead of full frameworks\",\n    \"prompt\": \"I need a simple HTTP router for my Go REST API. It just needs path parameters and middleware support. I want to stay close to net/http. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends Gin or Echo (full frameworks) when chi's lightweight, net/http-compatible router is a better fit\",\n    \"assertions\": [\n      {\"id\": \"3.1\", \"text\": \"Recommends chi (github.com/go-chi/chi) as a strong match for the stated requirements\"},\n      {\"id\": \"3.2\", \"text\": \"Explains that chi is lightweight and composes well with net/http\"},\n      {\"id\": \"3.3\", \"text\": \"Notes that chi has minimal dependencies\"},\n      {\"id\": \"3.4\", \"text\": \"May mention Gin/Echo as alternatives but positions chi as the better fit for staying close to net/http\"},\n      {\"id\": \"3.5\", \"text\": \"Does NOT recommend a full framework (Gin, Echo, Fiber) as the primary choice when the user explicitly wants to stay close to net/http\"}\n    ]\n  },\n  {\n    \"id\": 4,\n    \"name\": \"slog-over-external-loggers\",\n    \"description\": \"Tests whether the model considers log/slog (Go 1.21+) before recommending external logging libraries\",\n    \"prompt\": \"I need structured logging in my Go 1.22 project. What library should I use?\",\n    \"trap\": \"Without the skill, the model jumps to zap or zerolog without mentioning that Go 1.21+ has log/slog in the standard library\",\n    \"assertions\": [\n      {\"id\": \"4.1\", \"text\": \"Mentions log/slog as the standard library option for structured logging (available since Go 1.21)\"},\n      {\"id\": \"4.2\", \"text\": \"Presents slog as a viable option, not just an afterthought\"},\n      {\"id\": \"4.3\", \"text\": \"If recommending external libraries (zap, zerolog), explains what specific value they add over slog\"},\n      {\"id\": \"4.4\", \"text\": \"Does NOT skip standard library consideration entirely\"},\n      {\"id\": \"4.5\", \"text\": \"May mention zap/zerolog for specific use cases (zero-allocation hot paths, etc.)\"}\n    ]\n  },\n  {\n    \"id\": 5,\n    \"name\": \"sqlc-vs-orm-decision\",\n    \"description\": \"Tests whether the model presents sqlc as an alternative to ORMs when the user values type safety and compile-time checks\",\n    \"prompt\": \"I want to interact with my PostgreSQL database in Go. I want maximum type safety and want the compiler to catch SQL errors. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends GORM (most popular ORM) which uses runtime reflection, missing sqlc which generates type-safe code from SQL at compile time\",\n    \"assertions\": [\n      {\"id\": \"5.1\", \"text\": \"Recommends sqlc (github.com/sqlc-dev/sqlc) as a primary option for compile-time SQL safety\"},\n      {\"id\": \"5.2\", \"text\": \"Explains that sqlc generates type-safe Go code from SQL with no runtime reflection\"},\n      {\"id\": \"5.3\", \"text\": \"Mentions that GORM uses runtime reflection which does not catch SQL errors at compile time\"},\n      {\"id\": \"5.4\", \"text\": \"May also mention ent as a code-generated alternative\"},\n      {\"id\": \"5.5\", \"text\": \"Does NOT recommend only GORM when the user explicitly asks for compile-time safety\"}\n    ]\n  },\n  {\n    \"id\": 6,\n    \"name\": \"rate-limiter-stdlib-first\",\n    \"description\": \"Tests whether the model recommends golang.org/x/time/rate before third-party rate limiters\",\n    \"prompt\": \"I need to add rate limiting to my Go HTTP API. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends a third-party rate limiter without mentioning the official golang.org/x/time/rate package\",\n    \"assertions\": [\n      {\"id\": \"6.1\", \"text\": \"Recommends golang.org/x/time/rate as the standard/official option\"},\n      {\"id\": \"6.2\", \"text\": \"Explains that it implements a token bucket algorithm\"},\n      {\"id\": \"6.3\", \"text\": \"May mention third-party alternatives (Tollbooth/limiter) for HTTP middleware integration\"},\n      {\"id\": \"6.4\", \"text\": \"Does NOT skip the official x/time/rate package entirely\"},\n      {\"id\": \"6.5\", \"text\": \"Explains when third-party middleware might be preferred (e.g., per-IP limiting, distributed rate limiting)\"}\n    ]\n  },\n  {\n    \"id\": 7,\n    \"name\": \"franz-go-for-kafka\",\n    \"description\": \"Tests whether the model recommends franz-go for Kafka instead of only the legacy sarama client\",\n    \"prompt\": \"I need a Kafka client for my Go application. What library should I use?\",\n    \"trap\": \"Without the skill, the model recommends sarama (the legacy, most commonly referenced Kafka client) instead of franz-go which is modern, higher-performance, and better maintained\",\n    \"assertions\": [\n      {\"id\": \"7.1\", \"text\": \"Recommends franz-go (github.com/twmb/franz-go) as a primary recommendation\"},\n      {\"id\": \"7.2\", \"text\": \"Describes franz-go as modern, high-performance, and feature-complete\"},\n      {\"id\": \"7.3\", \"text\": \"Does NOT recommend only sarama without mentioning franz-go\"},\n      {\"id\": \"7.4\", \"text\": \"May mention sarama as an alternative but positions franz-go as the preferred modern choice\"}\n    ]\n  },\n  {\n    \"id\": 8,\n    \"name\": \"check-maintenance-before-recommending\",\n    \"description\": \"Tests whether the model checks maintenance status before recommending a library\",\n    \"prompt\": \"I need a logging library for my Go project. Someone suggested Logrus. Should I use it?\",\n    \"trap\": \"Without the skill, the model recommends Logrus without noting its maintenance status (deprecated in favor of structured logging)\",\n    \"assertions\": [\n      {\"id\": \"8.1\", \"text\": \"Mentions that Logrus is deprecated or in maintenance mode\"},\n      {\"id\": \"8.2\", \"text\": \"Suggests alternatives: log/slog (stdlib), zap, or zerolog\"},\n      {\"id\": \"8.3\", \"text\": \"Explains that for new projects, a maintained alternative is preferred\"},\n      {\"id\": \"8.4\", \"text\": \"Does NOT unconditionally recommend Logrus without mentioning its deprecation status\"},\n      {\"id\": \"8.5\", \"text\": \"Prioritizes maturity and maintenance status in the recommendation\"}\n    ]\n  },\n  {\n    \"id\": 9,\n    \"name\": \"avoid-unnecessary-wrappers\",\n    \"description\": \"Tests that the model warns against libraries that just wrap stdlib without adding value\",\n    \"prompt\": \"I found a Go library that provides helper functions for HTTP request handling, basically wrapping net/http with slightly more convenient syntax. Should I add it to my project?\",\n    \"trap\": \"Without the skill, the model evaluates only the convenience factor without considering the anti-pattern of wrapping stdlib without real value\",\n    \"assertions\": [\n      {\"id\": \"9.1\", \"text\": \"Warns against using libraries that wrap standard library functionality without adding meaningful value\"},\n      {\"id\": \"9.2\", \"text\": \"Explains that more dependencies increase attack surface and maintenance burden\"},\n      {\"id\": \"9.3\", \"text\": \"Recommends evaluating whether net/http itself is sufficient\"},\n      {\"id\": \"9.4\", \"text\": \"Mentions the anti-pattern of adding dependencies for marginal convenience\"},\n      {\"id\": \"9.5\", \"text\": \"Suggests considering the library's dependency footprint relative to the value it provides\"}\n    ]\n  },\n  {\n    \"id\": 10,\n    \"name\": \"testcontainers-for-integration\",\n    \"description\": \"Tests whether the model recommends testcontainers-go for integration testing with real services\",\n    \"prompt\": \"I need to write integration tests for my Go service that connects to PostgreSQL and Redis. I want to test against real instances, not mocks. What should I use?\",\n    \"trap\": \"Without the skill, the model suggests Docker Compose or manual test setup scripts instead of testcontainers-go which provides programmatic container lifecycle management\",\n    \"assertions\": [\n      {\"id\": \"10.1\", \"text\": \"Recommends testcontainers-go (golang.testcontainers.org) for programmatic integration testing\"},\n      {\"id\": \"10.2\", \"text\": \"Explains that testcontainers-go spins up real Docker containers within tests\"},\n      {\"id\": \"10.3\", \"text\": \"Shows or describes how containers are started and stopped within test lifecycle\"},\n      {\"id\": \"10.4\", \"text\": \"Positions it as better than manual Docker Compose for test isolation and reproducibility\"},\n      {\"id\": \"10.5\", \"text\": \"May also mention go-sqlmock as a complementary tool for unit-level database testing\"}\n    ]\n  },\n  {\n    \"id\": 11,\n    \"name\": \"slices-maps-packages-go121\",\n    \"description\": \"Tests whether the model recommends the standard library slices/maps packages (Go 1.21+) instead of external utility libraries for basic operations\",\n    \"prompt\": \"I need utility functions for slice operations in my Go 1.22 project — things like contains, sort, filter, and reverse. What should I use?\",\n    \"trap\": \"Without the skill, the model recommends samber/lo or a similar utility library for basic operations that the standard library slices package already provides since Go 1.21\",\n    \"assertions\": [\n      {\"id\": \"11.1\", \"text\": \"Recommends the standard library slices package (Go 1.21+) for Contains, Sort, Reverse, and similar operations\"},\n      {\"id\": \"11.2\", \"text\": \"Does NOT recommend only external libraries for basic slice operations that slices package covers\"},\n      {\"id\": \"11.3\", \"text\": \"May mention samber/lo or similar for functional operations (Map, Filter, Reduce) not in stdlib slices\"},\n      {\"id\": \"11.4\", \"text\": \"Distinguishes between operations covered by stdlib (Contains, Sort, Reverse, Compact, BinarySearch) and those requiring external libraries (Map, Filter, GroupBy)\"},\n      {\"id\": \"11.5\", \"text\": \"Applies the 'standard library first' principle\"}\n    ]\n  }\n]\n\nArchive v0.1.0: 5 files, 8388 bytes\n\nFiles: references/libraries.md (10743b), references/stdlib.md (2230b), references/tools.md (1299b), SKILL.md (3624b), _meta.json (143b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: golang-popular-libraries\ndescription: 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.\nuser-invocable: false\nlicense: MIT\ncompatibility: Designed for Claude Code or similar AI coding agents, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.1.0\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearch\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: https://github.com/avelino/awesome-go\n\nThis skill is not exhaustive. Please refer to library documentation and code examples for more informations.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending\n4. **Consider complexity** - Simpler solutions are usually better in Go\n5. **Think about dependencies** - More dependencies = more attack surface and maintenance burden\n\nRemember: The best library is often no library at all. Go's standard library is excellent and sufficient for many use cases.\n\n## Anti-Patterns to Avoid\n\n- Over-engineering simple problems with complex libraries\n- Using libraries that wrap standard library functionality without adding value\n- Abandoned or unmaintained libraries: ask the developer before recommending these\n- Suggesting libraries with large dependency footprints for simple needs\n- Ignoring standard library alternatives\n\n## Cross-References\n\n- → See `samber/cc-skills-golang@golang-dependency-management` skill for adding, auditing, and managing dependencies\n- → See `samber/cc-skills-golang@golang-samber-do` skill for samber/do dependency injection details\n- → See `samber/cc-skills-golang@golang-samber-oops` skill for samber/oops error handling details\n- → See `samber/cc-skills-golang@golang-stretchr-testify` skill for testify testing details\n- → See `samber/cc-skills-golang@golang-grpc` skill for gRPC implementation details\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1774239050985\n}\n\nFile v0.1.0:references/libraries.md\n\n# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (https://github.com/gin-gonic/gin) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (https://github.com/labstack/echo) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (https://github.com/gofiber/fiber) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (https://github.com/go-chi/chi) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (https://github.com/go-resty/resty) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (https://github.com/imroc/req) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (https://github.com/go-gorm/gorm) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (https://github.com/jmoiron/sqlx) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (https://github.com/ent/ent) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (https://github.com/sqlc-dev/sqlc) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (https://github.com/go-sql-driver/mysql) MySQL driver for Go's database/sql package. Maintained by Go team, reliable and performant.\n\n**lib/pq** (https://github.com/lib/pq) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (https://github.com/jackc/pgx) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (https://github.com/redis/go-redis) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (https://github.com/mongodb/mongo-go-driver) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (https://github.com/stretchr/testify) Sacred extension to testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (https://github.com/golang/mock) Mocking framework for Go interfaces. Official tool, integrates well with testing package.\n\n**go-sqlmock** (https://github.com/DATA-DOG/go-sqlmock) SQL mock driver for testing database operations. Test database code without real database.\n\n**testcontainers-go** (https://golang.testcontainers.org) Integration testing with real dependencies in Docker containers. Spin up databases, message queues, etc.\n\n**httptest** (standard library) Testing HTTP servers/clients. Built into Go, no external dependency needed.\n\n## Command Line and Configuration\n\n**Cobra** (https://github.com/spf13/cobra) Commander for modern Go CLI applications. Powerful subcommand system, flags, auto-generated docs. Industry standard for CLIs.\n\n**Viper** (https://github.com/spf13/viper) Go configuration with fangs. Works with Cobra, supports multiple formats (JSON, YAML, TOML, env).\n\n**urfave/cli** (https://github.com/urfave/cli) Simple, fast, fun package for building command line apps. Alternative to Cobra.\n\n**Koanf** (https://github.com/knadh/koanf) Lightweight, extensible library for reading config. Support for JSON, YAML, TOML, env, command line.\n\n**env** (from https://github.com/caarlos0/env) Parse environment variables to Go structs with defaults. Simple, type-safe, no struct tags.\n\n## Logging\n\n**Zap** (https://github.com/uber-go/zap) Fast, structured, leveled logging. Uber's production logger, zero-allocation in hot paths.\n\n**Zerolog** (https://github.com/rs/zerolog) Zero-allocation JSON logging. Very fast, simple API, leveled logging.\n\n**Logrus** (https://github.com/sirupsen/logrus) Structured logger for Go. Mature, widely-used, plugin architecture. Note: deprecated in favor of structured logging.\n\n## Validation\n\n**validator** (https://github.com/go-playground/validator) Go struct validation. Tags-based, extensive validators, cross-field validation.\n\n**ozzo-validation** (https://github.com/go-ozzo/ozzo-validation) Fast validation library. Modern alternative for struct validation.\n\n## JSON Processing\n\n**jsoniter** (https://github.com/json-iterator/go) High-performance 100% compatible drop-in replacement for encoding/json. Faster JSON parsing.\n\n## Authentication & Authorization\n\n**Casbin** (https://github.com/casbin/casbin) Authorization library supporting ACL, RBAC, ABAC. Policy-based access control.\n\n**JWT** (https://github.com/golang-jwt/jwt) JSON Web Token implementation for Go. Full-featured, widely-used.\n\n## Caching\n\n**Ristretto** (https://github.com/dgraph-io/ristretto) High-performance memory-bound Go cache.\n\n**BigCache** (https://github.com/allegro/bigcache) Efficient key/value cache for gigabytes of data. Sharded, optimized for high throughput.\n\n**go-cache** (https://github.com/patrickmn/go-cache) In-memory key-value store with expiration. Thread-safe, simple API.\n\n## Rate Limiting\n\n**Tollbooth** (https://github.com/ulule/limiter) Rate limiting HTTP middleware. Simple, volume-based limiting, easy to use.\n\n**golang.org/x/time/rate** (https://golang.org/x/time/rate) Standard library rate limiter. Token bucket algorithm, well-maintained.\n\n## Concurrency & Goroutines\n\n**Watermill** (https://github.com/ThreeDotsLabs/watermill) Event-driven framework for Go. Message streams, event sourcing, CQRS patterns.\n\n**ro** (https://github.com/samber/ro) Reactive programming for Go. Event-driven streams with operators for data flow transformation.\n\n## Messaging\n\n**franz-go** (https://github.com/twmb/franz-go) Kafka client for Go. Modern, high-performance, feature-complete client with excellent documentation and community support.\n\n**amqp091-go** (https://github.com/rabbitmq/amqp091-go) Official RabbitMQ client for Go. Maintained by RabbitMQ team, supports AMQP 0.9.1 protocol.\n\n**NATS.go** (https://github.com/nats-io/nats.go) Client for NATS messaging system. Simple, secure, performant communications.\n\n**Temporal Go SDK** (https://github.com/temporalio/sdk-go) Durable execution framework for building reliable async applications. Workflows, activities, and long-running processes.\n\n**DBOS** (https://github.com/dbos-labs/dbos-go) Backend framework for TypeScript/Go applications with durable execution, built on PostgreSQL.\n\n## Types and Data Structures\n\n**gods** (https://github.com/emirpasic/gods) Go Data Structures - Sets, Lists, Stacks, Maps, Trees, Queues, and much more\n\n**bloom** (https://github.com/bits-and-blooms/bloom) Bloom filter implementation. Memory-efficient set membership testing.\n\n**hyperloglog** (https://github.com/clarkduvall/hyperloglog) HyperLogLog implementation for Go. Memory-efficient cardinality estimation for large datasets.\n\n**Carbon** (https://github.com/uniplaces/carbon) Simple, semantic time library for Go. Time parsing, formatting, manipulation.\n\n**google/uuid** (https://github.com/google/uuid) Generate and parse UUIDs. Official Google library, RFC 4122 compliant.\n\n## Database Schema Migration\n\n**golang-migrate** (https://github.com/golang-migrate/migrate) Database migration tool. Supports multiple databases, version control for schemas.\n\n**goose** (https://github.com/pressly/goose) Database migration tool. SQL or Go migrations, supports multiple databases.\n\n## WebSockets\n\n**gorilla/websocket** (https://github.com/gorilla/websocket) WebSocket package for Go. Mature, widely-used, part of Gorilla toolkit.\n\n## gRPC\n\n**grpc-go","readmeExcerpt":"Skill: golang-popular-libraries Owner: samber Summary: Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. Tags: latest:1.2.0 Version history: v1.2.0 | 2026-08-22T01:06:02.119Z | auto **golang-popular-libraries v1.2.","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: golang-popular-libraries\ndescription: \"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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.\"\nuser-invocable: true\nlicense: MIT\ncompatibility: Designed for Claude Code, Codex or similar harness, and for projects using Golang.\nmetadata:\n  author: samber\n  version: \"1.2.0\"\n  openclaw:\n    emoji: \"📚\"\n    homepage: https://github.com/samber/cc-skills-golang\n    requires:\n      bins:\n        - go\n    install: []\nallowed-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__*\n---\n\n**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.\n\n# Go Libraries and Frameworks Recommendations\n\n## Core Philosophy\n\nWhen recommending libraries, prioritize:\n\n1. **Production-readiness** - Mature, well-maintained libraries with active communities\n2. **Simplicity** - Go's philosophy favors simple, idiomatic solutions\n3. **Performance** - Libraries that leverage Go's strengths (concurrency, compiled performance)\n4. **Standard Library First** - SHOULD prefer stdlib when it covers the use case; only recommend external libs when they provide clear value\n\n## Reference Catalogs\n\n- [Standard Library - New & Experimental](./references/stdlib.md) — v2 packages, promoted x/exp packages, golang.org/x extensions\n- [Libraries by Category](./references/libraries.md) — vetted third-party libraries for web, database, testing, logging, messaging, and more\n- [Development Tools](./references/tools.md) — debugging, linting, testing, and dependency management tools\n\nFind more libraries here: <https://github.com/avelino/awesome-go>\n\nThis skill is not exhaustive. Please 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.\n\n## General Guidelines\n\nWhen recommending libraries:\n\n1. **Assess requirements first** - Understand the use case, performance needs, and constraints\n2. **Check standard library** - Always consider if stdlib can solve the problem\n3. **Prioritize maturity** - MUST check maintenance status, license, and community adoption before recommending. Use a module's `imported-by` count on pkg.go."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn72rhnkwjfeex9wr1n7y24qa983cjn3\",\n  \"slug\": \"golang-popular-libraries\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1787360762119\n}"},{"path":"references/libraries.md","content":"# Top Go Libraries by Category\n\n## Web Frameworks\n\n**Gin** (<https://github.com/gin-gonic/gin>) High-performance HTTP web framework with minimalist API. Up to 40x faster than some alternatives. Great for building REST APIs and microservices.\n\n**Echo** (<https://github.com/labstack/echo>) Minimalist, extensible web framework. Clean middleware system, excellent performance. Good for both REST APIs and traditional web apps.\n\n**Fiber** (<https://github.com/gofiber/fiber>) Express.js-inspired web framework built on Fasthttp. Very fast, easy for Node.js developers transitioning to Go.\n\n**Chi** (<https://github.com/go-chi/chi>) Lightweight, idiomatic router that composes well with net/http. Minimal dependencies, great for smaller projects.\n\n## HTTP Clients\n\n**Resty** (<https://github.com/go-resty/resty>) Simple HTTP and REST client for Go. Inspired by Ruby's rest-client. Great for API consumption with retry support.\n\n**Req** (<https://github.com/imroc/req>) Simple Go HTTP client with \"black magic\" - less code, more efficiency. Clean API for common operations.\n\n## ORM & Database\n\n**GORM** (<https://github.com/go-gorm/gorm>) Feature-complete ORM library. Developer-friendly, supports associations, hooks, auto-migrations. The most popular Go ORM.\n\n**SQLx** (<https://github.com/jmoiron/sqlx>) Extensions for database/sql that provide convenience while maintaining power. Type-safe, performant query helpers.\n\n**Ent** (<https://github.com/ent/ent>) Entity framework for Go. Code-generated, type-safe ORM with excellent support for complex queries and graph traversals.\n\n**Sqlc** (<https://github.com/sqlc-dev/sqlc>) Generate type-safe Go code from SQL. No runtime reflection, compiler-checked queries.\n\n## Database Drivers\n\n**go-sql-driver/mysql** (<https://github.com/go-sql-driver/mysql>) MySQL driver for Go's database/sql package. Maintained by the Go team, reliable and performant.\n\n**lib/pq** (<https://github.com/lib/pq>) Pure Go PostgreSQL driver. The gold standard for PostgreSQL in Go.\n\n**pgx** (<https://github.com/jackc/pgx>) PostgreSQL driver with advanced features. Faster than lib/pq, supports all PostgreSQL types.\n\n**redis-go** (<https://github.com/redis/go-redis>) Redis client for Go. Cluster support, modern Redis features, well-maintained.\n\n**mongo-go-driver** (<https://github.com/mongodb/mongo-go-driver>) Official MongoDB driver for Go. Supports async operations, transactions (in newer versions).\n\n## Testing\n\n**Testify** (<https://github.com/stretchr/testify>) Sacred extension to the testing package. Assertions, mocking, suite testing. Essential for Go testing.\n\n**gomock** (<https://github.com/uber-go/mock>) Mocking framework for Go interfaces. Widely used, integrates well with testing package.\n\n**go-sqlmock** (<https://github.com/DATA-DOG/go-sqlmock>) SQL mock driver for testing database operations. Test database code without a real database.\n\n**testcontainers-go** (<https://golang.testcontainers.org>) Integration testing with real dependencies in Docker "},{"path":"references/stdlib.md","content":"# Standard Library - New & Experimental\n\nThe Go standard library continues to evolve with v2 packages and experimental features. **Prefer these over external libraries when available.**\n\n## V2 Packages (API Breaking Changes)\n\n**math/rand/v2** (Go 1.22+) Improved random number generation with better algorithms (ChaCha8, PCG). Auto-seeded, no more rand.Seed() needed.\n\n**encoding/json/v2** (experimental stdlib package behind `GOEXPERIMENT=jsonv2`) Next-generation JSON encoding/decoding. Evaluate deliberately; most production code should keep `encoding/json` unless the project explicitly opts into the experiment.\n\n## New Packages (Promoted from x/exp)\n\n**slices** (Go 1.21+) Generic slice operations: BinarySearch, Clone, Compact, Compare, Contains, Delete, Insert, Replace, Reverse, Sort. Reduces the need for external libraries.\n\n**maps** (Go 1.21+) Generic map operations: Clone, Copy, DeleteFunc, Equal, EqualFunc. Go 1.23+ adds iterator helpers such as All, Collect, Insert, Keys, and Values.\n\n**cmp** (Go 1.21+) Comparison utilities: Compare, Or, Ordered. Used with the slices/maps packages.\n\n**iter** (Go 1.23+) Iterator support for sequences. Enables range-over functions and integrates with slices/maps methods.\n\n**unique** (Go 1.23+) Value canonicalization and interning. Efficient deduplication of comparable values.\n\n**log/slog** (Go 1.21+) Structured logging for the standard library. Alternative to external logging libraries for many use cases.\n\n**weak** (Go 1.24+) Weak references for garbage collection. Useful for caches and observers.\n\n**structs** (Go 1.23+) Structure layout control and introspection.\n\n## golang.org/x (Official Extensions)\n\n**golang.org/x/oauth2** OAuth2 client implementation. Supports multiple providers (Google, GitHub, etc.). Official OAuth2 client.\n\n**golang.org/x/crypto** Additional cryptographic algorithms: bcrypt, blowfish, scrypt, ssh, acme (Let's Encrypt), pbkdf2.\n\n**golang.org/x/net** Network utilities: websocket, context, proxy, trace, http2, ipv4/ipv6, netutil.\n\n**golang.org/x/text** Text processing: encoding, unicode, cases, search, language (language tag parsing and matching).\n\n**golang.org/x/sync** Extended synchronization: errgroup, singleflight, semaphore.\n\n**golang.org/x/sys/cpu** CPU feature detection for architecture-specific optimized code. Use it only when dispatching between measured implementations; prefer portable stdlib code first."},{"path":"references/tools.md","content":"# Go Development Tools\n\n## Debugging\n\n**Delve** (<https://github.com/go-delve/delve>) Debugger for the Go programming language. Source-level debugger for Go programs.\n\n## Linting & Code Quality\n\n**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.\n\n## Testing\n\n**gotest** (standard library - go test) Built-in testing command for Go. Run tests, generate coverage reports, benchmark code.\n\n**cover** (golang.org/x/tools/cmd/cover) Coverage analysis tool for Go tests. Generate and visualize test coverage reports.\n\n**benchstat** (golang.org/x/perf/cmd/benchstat) Benchmark comparison tool. Computes statistical comparisons of benchmark results to determine performance significance.\n\n**goleak** (<https://github.com/uber-go/goleak>) Goroutine leak detector for Go tests. Verifies that tests do not leak goroutines between runs.\n\n## Dependency Management\n\n**go-mod-outdated** (<https://github.com/psampaz/go-mod-outdated>) Find outdated dependencies in your go.mod. Helps keep dependencies up to date securely.\n\n**goweight** (<https://github.com/jondot/goweight>) Analyze package dependencies and calculate weight. Helps identify heavy dependencies and transitive bloat."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. Skill: golang-popular-libraries Owner: samber Summary: Recommends production-ready Golang libraries and frameworks. Apply when the user explicitly 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. Tags: latest:1.2.0 Version history: v1.2.0 | 2026-08-22T01:06:02.119Z | auto **golang-popular-libraries v1.2.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1958,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T20:34:30.980Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:09:09.359Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}