{"id":47620332,"url":"https://github.com/samber/cc-skills-golang","last_synced_at":"2026-06-06T15:00:41.420Z","repository":{"id":346037999,"uuid":"1188322477","full_name":"samber/cc-skills-golang","owner":"samber","description":"🧑‍🎨 A collection of Golang agentic skills that works","archived":false,"fork":false,"pushed_at":"2026-05-22T19:42:21.000Z","size":1560,"stargazers_count":1790,"open_issues_count":1,"forks_count":116,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-05-22T22:31:36.654Z","etag":null,"topics":["agent","agent-skills","ai","antigravity","claude","claude-code","code","codex","coding","copilot","cursor","gemini","gemini-cli-extension","openclaw","opencode","plugin","skills","skillsmp","vibe-coding"],"latest_commit_sha":null,"homepage":"https://skills.sh/samber/cc-skills-golang","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["samber"],"ko_fi":"samuelberthe"}},"created_at":"2026-03-21T23:10:11.000Z","updated_at":"2026-05-22T19:42:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/samber/cc-skills-golang","commit_stats":null,"previous_names":["samber/cc-skills-golang"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/samber/cc-skills-golang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fcc-skills-golang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fcc-skills-golang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fcc-skills-golang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fcc-skills-golang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samber","download_url":"https://codeload.github.com/samber/cc-skills-golang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samber%2Fcc-skills-golang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33986901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-skills","ai","antigravity","claude","claude-code","code","codex","coding","copilot","cursor","gemini","gemini-cli-extension","openclaw","opencode","plugin","skills","skillsmp","vibe-coding"],"created_at":"2026-04-01T22:00:30.156Z","updated_at":"2026-06-06T15:00:41.412Z","avatar_url":"https://github.com/samber.png","language":"Go","funding_links":["https://github.com/sponsors/samber","https://ko-fi.com/samuelberthe"],"categories":["Go","📦 开源 Skills 库 (Open Source Skills)","Development and DevOps","🚀 AI Tools for Vim, Neovim, and Terminal","Uncategorized","Framework Skills","⭐ 精选第三方技能","🧠 Agent Skills"],"sub_categories":["架构演进：代码优先 (Code-First)","Uncategorized","💻 开发效率"],"readme":"# Agent Skills for production-ready Golang projects\n\nAI agent skills are reusable instruction sets that extend your coding assistant with domain-specific expertise, loaded on demand so they don't bloat your context. This repository covers **Go-specific** skills only (language, testing, security, observability, etc.); for dev workflow skills (git conventions, CI/CD, PR reviews) you'll want to add a separate skills plugin.\n\nFor generic skills, please visit [cc-skills](https://github.com/samber/cc-skills).\n\n\u003e [!IMPORTANT]\n\u003e Bootstrapped with Claude Code by distilling my Go project commits. **Edited, tested, reviewed and reworked by a human**.\n\u003e\n\u003e **No AI slop here.** AI-made skills are useless.\n\n\u003cimg width=\"1414\" height=\"491\" alt=\"image\" src=\"https://github.com/user-attachments/assets/620b5835-c1ba-4ea9-bf47-2293b58b879e\" /\u003e\n\n## 🚀 How to use\n\n**Install with [skills](https://skills.sh/) CLI** (universal, works with any [Agent Skills](https://agentskills.io)-compatible tool):\n\n```bash\nnpx skills add https://github.com/samber/cc-skills-golang --all\n# or a single skill:\nnpx skills add https://github.com/samber/cc-skills-golang --skill golang-performance\n```\n\n\u003c!-- prettier-ignore-start --\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClaude Code\u003c/summary\u003e\n\n```bash\n/plugin marketplace add samber/cc\n/plugin install cc-skills-golang@samber\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eOpenclaw\u003c/summary\u003e\n\nCopy skills into the cross-client discovery directory:\n\n```bash\ngit clone https://github.com/samber/cc-skills-golang.git ~/.openclaw/skills/cc-skills-golang\n# or in workspace:\ngit clone https://github.com/samber/cc-skills-golang.git ~/.openclaw/workspace/skills/cc-skills-golang\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGemini CLI\u003c/summary\u003e\n\n```bash\ngemini extensions install https://github.com/samber/cc-skills-golang\n```\n\nUpdate with `gemini extensions update cc-skills-golang`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCursor\u003c/summary\u003e\n\nCopy skills into the cross-client discovery directory:\n\n```bash\ngit clone https://github.com/samber/cc-skills-golang.git  ~/.cursor/skills/cc-skills-golang\n```\n\nCursor auto-discovers skills from `.agents/skills/` and `.cursor/skills/`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCopilot\u003c/summary\u003e\n\nCopy skills into the cross-client discovery directory:\n\n```bash\n/plugin install https://github.com/samber/cc-skills-golang\n# or\ngit clone https://github.com/samber/cc-skills-golang.git ~/.copilot/skills/cc-skills-golang\n```\n\nCopilot auto-discovers skills from `.copilot/skills/`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eOpenCode\u003c/summary\u003e\n\nCopy skills into the cross-client discovery directory:\n\n```bash\ngit clone https://github.com/samber/cc-skills-golang.git ~/.agents/skills/cc-skills-golang\n```\n\nOpenCode auto-discovers skills from `.agents/skills/`, `.opencode/skills/`, and `.claude/skills/`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCodex (OpenAI)\u003c/summary\u003e\n\nClone into the cross-client discovery path:\n\n```bash\ngit clone https://github.com/samber/cc-skills-golang.git ~/.agents/skills/cc-skills-golang\n```\n\nCodex auto-discovers skills from `~/.agents/skills/` and `.agents/skills/`. Update with `cd ~/.agents/skills/cc-skills-golang \u0026\u0026 git pull`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAntigravity\u003c/summary\u003e\n\nClone and symlink into the cross-client discovery path:\n\n```bash\ngit clone https://github.com/samber/cc-skills-golang.git ~/.antigravity/skills/cc-skills-golang\n```\n\nUpdate with `cd ~/.antigravity/skills/cc-skills-golang \u0026\u0026 git pull`.\n\n\u003c/details\u003e\n\n\u003c!-- prettier-ignore-end --\u003e\n\n## 🧩 Skills\n\nThese skills are designed as **atomic, cross-referencing units**. A skill may reference conventions defined in another (e.g. error-handling rules that affect logging live in `golang-error-handling`, not `golang-observability`). Installing only a subset will give you a partial and potentially inconsistent view of the guidelines. For best results, install all general-purpose skills together.\n\n```\n                         ┌────────────────────────────────────────┐\n                         │             Golang Skills              │\n                         └──────────────────┬─────────────────────┘\n                                            │\n   ┌─────────────────┬──────────────────────┼──────────────────────┐\n   ▼                 ▼                      ▼                      ▼\n┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────────┐\n│ Code Quality │ │ Arch \u0026 Design│ │    QA \u0026 Perf    │ │  Project Start   │\n├──────────────┤ ├──────────────┤ ├─────────────────┤ ├──────────────────┤\n│ code-style   │ │ design-patt  │ │ testing         │ │ project-layout   │\n│ naming       │ │ concurrency  │ │ benchmark       │ │ popular-libs     │\n│ error-handl  │ │ context      │ │ performance     │ │ cli              │\n│ safety       │ │ dep-inject   │ │ troubleshoot    │ │ CI               │\n│ structs-iface│ │ data-structs │ │ observability   │ │ stay-updated     │\n│ documentation│ │ database     │ │                 │ │ dep-management   │\n│ lint         │ │ modernize    │ │                 │ │                  │\n│ security     │ │              │ │                 │ │                  │\n└──────────────┘ └──────────────┘ └─────────────────┘ └──────────────────┘\n\n    ┌─────────────────────────────────────────────────────────────────────────┐\n    │                      Framework / Library Skills                         │\n    ├──────────────┬────────────────┬──────────────┬─────────────┬───────────┤\n    │   APIs       │      DI        │  Frameworks  │  samber/*   │  Testing  │\n    ├──────────────┼────────────────┼──────────────┼─────────────┼───────────┤\n    │ grpc         │ google-wire    │ spf13-cobra  │ samber-lo   │ stretchr- │\n    │ graphql      │ uber-dig       │ spf13-viper  │ samber-mo   │  testify  │\n    │ swagger      │ uber-fx        │              │ samber-ro   │           │\n    │              │                │              │ samber-do   │           │\n    │              │                │              │ samber-hot  │           │\n    │              │                │              │ samber-slog │           │\n    │              │                │              │ samber-oops │           │\n    └──────────────┴────────────────┴──────────────┴─────────────┴───────────┘\n\n```\n\n- ⭐️ Recommended\n- ✅ Published\n- 👷 Work in progress\n- ❌ To-do\n- ⚡ Command available\n- 🧠 Ultrathink automatically\n- ⚙️ Overridable (see doc below)\n- **Description (tok)**: weight of the `description` field from YAML frontmatter, always loaded into Claude's context for skill triggering\n- **SKILL.md (tok)**: weight of the full `SKILL.md` file loaded when the skill triggers\n- **Directory (tok)**: weight of all files in the skill directory (SKILL.md + referenced markdown files)\n\n**General purpose:**\n\n\u003c!-- markdownlint-disable table-column-style --\u003e\n\n|  | Skill | Flags | Error rate gap | Description (tok) | SKILL.md (tok) | Directory (tok) |\n| --- | --- | --- | --- | --- | --- | --- |\n| ⭐️ | ✅ `golang-code-style` | ⚡ ⚙️ | -40% | 115 | 2,069 | 2,685 |\n| ⭐️ | ✅ `golang-data-structures` | ⚡ | -39% | 92 | 2,464 | 6,176 |\n| ⭐️ | ✅ `golang-database` | ⚡ ⚙️ | -38% | 97 | 2,725 | 7,248 |\n| ⭐️ | ✅ `golang-design-patterns` | ⚡ ⚙️ | -37% | 66 | 2,610 | 9,316 |\n| ⭐️ | ✅ `golang-documentation` | ⚡ ⚙️ | -53% | 73 | 2,678 | 10,549 |\n| ⭐️ | ✅ `golang-error-handling` | ⚡ ⚙️ | -26% | 139 | 1,520 | 4,394 |\n| ⭐️ | ✅ `golang-how-to` | ⚡ | — | 165 | 2,191 | 10,255 |\n| ⭐️ | ✅ `golang-modernize` | ⚡ | -61% | 68 | 2,476 | 7,599 |\n| ⭐️ | ✅ `golang-naming` | ⚡ ⚙️ | -23% | 158 | 2,865 | 7,233 |\n| ⭐️ | ✅ `golang-safety` | ⚡ | -58% | 78 | 2,457 | 5,227 |\n| ⭐️ | ✅ `golang-testing` | ⚡ 🧠 ⚙️ | -32% | 113 | 3,105 | 6,212 |\n| ⭐️ | ✅ `golang-troubleshooting` | ⚡ 🧠 | -32% | 126 | 2,735 | 15,901 |\n| ⭐️ | ✅ `golang-security` | ⚡ 🧠 | -32% | 84 | 2,873 | 20,894 |\n|  | ✅ `golang-benchmark` | ⚡ 🧠 | -50% | 99 | 2,135 | 29,248 |\n|  | ✅ `golang-cli` | ⚡ | -43% | 122 | 2,274 | 6,089 |\n|  | ✅ `golang-concurrency` | ⚡ ⚙️ | -39% | 71 | 1,873 | 6,338 |\n|  | ✅ `golang-context` | ⚡ ⚙️ | -34% | 80 | 1,144 | 3,940 |\n|  | ✅ `golang-continuous-integration` | ⚡ | -59% | 82 | 2,835 | 6,477 |\n|  | ✅ `golang-dependency-injection` | ⚡ ⚙️ | -47% | 176 | 2,842 | 5,113 |\n|  | ✅ `golang-dependency-management` | ⚡ | -54% | 77 | 1,877 | 4,957 |\n|  | ✅ `golang-structs-interfaces` | ⚡ ⚙️ | -35% | 110 | 2,999 | 2,999 |\n|  | ✅ `golang-lint` | ⚡ | -41% | 98 | 1,714 | 5,493 |\n|  | ✅ `golang-observability` | ⚡ ⚙️ | -37% | 161 | 2,921 | 18,453 |\n|  | ✅ `golang-performance` | ⚡ 🧠 | -39% | 127 | 1,953 | 17,855 |\n|  | ✅ `golang-popular-libraries` | ⚡ | -30% | 61 | 788 | 4,131 |\n|  | ✅ `golang-project-layout` | ⚡ | -38% | 69 | 1,510 | 5,718 |\n|  | ✅ `golang-stay-updated` | ⚡ | -56% | 43 | 1,916 | 1,916 |\n\n**Tools:**\n\n| Skill | Flags | Error rate gap | Description (tok) | SKILL.md (tok) | Directory (tok) |\n| --- | --- | --- | --- | --- | --- |\n| ✅ `golang-google-wire` | ⚡ | -16% | 122 | 2,511 | 7,243 |\n| ✅ `golang-graphql` |  | -16% | 76 | 2,935 | 7,766 |\n| ✅ `golang-grpc` | ⚡ | -41% | 69 | 2,149 | 4,965 |\n| ✅ `golang-spf13-cobra` | ⚡ | — | 176 | 2,455 | 7,218 |\n| ✅ `golang-spf13-viper` | ⚡ | — | 170 | 2,412 | 6,936 |\n| ✅ `golang-swagger` | ⚡ | — | 144 | 2,125 | 3,123 |\n| ✅ `golang-uber-dig` | ⚡ | -10% | 107 | 2,264 | 5,904 |\n| ✅ `golang-uber-fx` | ⚡ | -5% | 118 | 2,499 | 6,747 |\n| ✅ `golang-samber-do` | ⚡ | -81% | 71 | 1,746 | 3,269 |\n| ✅ `golang-samber-hot` | ⚡ | -54% | 118 | 1,843 | 7,273 |\n| ✅ `golang-samber-lo` | ⚡ | -40% | 165 | 2,410 | 10,031 |\n| ✅ `golang-samber-mo` | ⚡ 🧠 | -48% | 81 | 2,800 | 11,215 |\n| ✅ `golang-samber-oops` | ⚡ | -59% | 69 | 2,380 | 2,692 |\n| ✅ `golang-samber-ro` | ⚡ 🧠 | -50% | 152 | 2,845 | 11,136 |\n| ✅ `golang-samber-slog` | ⚡ | -19% | 118 | 2,588 | 9,234 |\n| ❌ `golang-temporal` |  | — | 0 | 0 | 0 |\n| ✅ `golang-stretchr-testify` | ⚡ | -47% | 90 | 1,714 | 2,533 |\n\n## 🧪 Skill evaluations\n\n|             | With Skill          | Without Skill       | Delta     |\n| ----------- | ------------------- | ------------------- | --------- |\n| **Overall** | **3315/3395 (98%)** | **1915/3395 (56%)** | **+41pp** |\n\nSee [EVALUATIONS.md](./EVALUATIONS.md) for the full per-skill breakdown.\n\n## 📖 Skills description\n\n### Code Quality\n\n#### `golang-code-style`\n\nGo code formatting and conventions. gofmt, goimports, linting rules, comment conventions, and project-level style consistency. Overridable by company skills.\n\n#### `golang-documentation`\n\nGo documentation standards. Package docs, godoc conventions, code comments, example functions, README structure, and API reference generation. Overridable.\n\n#### `golang-error-handling`\n\nGo error handling best practices. Error creation, wrapping with fmt.Errorf and errors.Is/As, sentinel errors, custom error types, error codes, and panic recovery. Overridable.\n\n#### `golang-lint`\n\nGo linting best practices and golangci-lint configuration. Presets, custom rules, CI integration, inline suppression, and output interpretation.\n\n#### `golang-naming`\n\nGo naming conventions across all identifier types. Packages, constructors, structs, interfaces, constants, errors, receivers, acronyms, test functions. Covers MixedCaps rules, Get-prefix, and utils/helpers anti-patterns. Overridable.\n\n#### `golang-safety`\n\nDefensive Go coding. Prevents panics, silent data corruption, and runtime bugs. nil safety, append aliasing, map concurrent access, float comparison, zero-value design, numeric overflow.\n\n#### `golang-security`\n\nGo security best practices. Injection prevention (SQL, command, XSS), cryptography, filesystem/network safety, secrets management, cookie security, and tool configuration. Audit and review modes.\n\n#### `golang-structs-interfaces`\n\nGo struct and interface design. Composition, embedding, type assertions, interface segregation, struct tags (JSON/YAML/DB), pointer vs value receivers. Overridable.\n\n### Architecture \u0026 Design\n\n#### `golang-concurrency`\n\nGo concurrency patterns. Goroutines, channels, sync primitives, context cancellation, worker pools, fan-out/fan-in, pipelines. Overridable.\n\n#### `golang-context`\n\nIdiomatic context.Context usage. Creation, cancellation, timeouts, values, propagation patterns, and common anti-patterns. Overridable.\n\n#### `golang-data-structures`\n\nGo data structures internals and usage. Slices (capacity growth, append aliasing), maps, channels, sync primitives, and when to use each.\n\n#### `golang-database`\n\nGo database access patterns. Parameter binding, connection pooling, transactions, migrations, sqlboiler/sqlc code generation, query builders. Overridable.\n\n#### `golang-dependency-injection`\n\nDependency injection patterns in Go. Constructor injection, interface-based DI, wire/dig/fx comparison, and when DI is worth the complexity. Overridable.\n\n#### `golang-design-patterns`\n\nIdiomatic Go design patterns. Functional options, constructors, builder pattern, middleware chains, circuit breaker, and architecture guides with file trees and code. Overridable.\n\n#### `golang-modernize`\n\nModernize Go code to use recent language features. Range-over-int, min/max builtins, iterators, slices/maps/cmp/slog stdlib packages, testing patterns (t.Context, b.Loop, synctest), and tooling upgrades.\n\n### QA \u0026 Performance\n\n#### `golang-benchmark`\n\nGo benchmarking, profiling, and performance measurement. pprof, trace, CPU/memory/block profiles, flame graphs, benchmark comparison (benchstat), continuous profiling.\n\n#### `golang-observability`\n\nGo production observability. Structured logging (slog), Prometheus metrics, OpenTelemetry tracing, pprof profiling, RUM tracking, alerting, Grafana dashboards. Overridable.\n\n#### `golang-performance`\n\nGo performance optimization. Allocation reduction, CPU efficiency, memory layout, GC tuning, pooling, caching, hot-path optimization. Review and hot-path modes.\n\n#### `golang-testing`\n\nProduction-ready Go tests. Table-driven tests, fuzzing, fixtures, goroutine leak detection (goleak), snapshot testing, code coverage, integration tests, parallel tests. Overridable.\n\n#### `golang-troubleshooting`\n\nSystematic Go debugging methodology. Common pitfalls, test-driven debugging, pprof capture, Delve debugger, race detection, GODEBUG tracing, production debugging.\n\n### Project Setup\n\n#### `golang-cli`\n\nGo CLI application development. Project layout, exit codes, signal handling, I/O patterns, argument parsing, and terminal UX.\n\n#### `golang-continuous-integration`\n\nCI/CD pipeline configuration for Go projects using GitHub Actions. Build, test, lint, and release workflows.\n\n#### `golang-dependency-management`\n\nGo module dependency strategies. go.mod conventions, versioning, replace directives, tool dependencies, and multi-module workspaces.\n\n#### `golang-popular-libraries`\n\nCurated recommendations for production-ready Go libraries and frameworks. When the stdlib is enough vs when to reach for a package.\n\n#### `golang-project-layout`\n\nGo project structure and workspace setup. cmd/internal/pkg conventions, monorepo layout, CLI project structure, and when to keep things flat.\n\n#### `golang-stay-updated`\n\nResources to stay current with Go. Official channels, community hubs, key people to follow, and learning resources.\n\n### APIs\n\n#### `golang-graphql`\n\nGraphQL API development in Go using gqlgen/graphql-go. Schema definition, resolvers, subscriptions, dataloader, and federation.\n\n#### `golang-grpc`\n\ngRPC in Go. Protobuf organization, service definitions, streaming, interceptors, error codes, and code generation workflow.\n\n#### `golang-swagger`\n\nOpenAPI/Swagger docs with swaggo/swag. Annotation comments, code generation, framework integrations (gin, echo, fiber, chi), security definitions.\n\n### Dependency Injection\n\n#### `golang-google-wire`\n\nCompile-time dependency injection with google/wire. Provider sets, injector generation, wire.Build, and structured DI patterns.\n\n#### `golang-uber-dig`\n\nReflection-based DI with uber-go/dig. Provide/Invoke, dig.In/dig.Out, named values, value groups, optional dependencies, and Decorate.\n\n#### `golang-uber-fx`\n\nApplication framework with uber-go/fx. fx.New, fx.Provide/Invoke, fx.Module, lifecycle hooks, fx.Annotate, fx.Decorate, signal-aware Run.\n\n### Frameworks\n\n#### `golang-spf13-cobra`\n\nCLI command trees with spf13/cobra. Command hierarchy, RunE hooks, flag management, shell completion, usage templates, and testing with SetArgs.\n\n#### `golang-spf13-viper`\n\nLayered configuration with spf13/viper. Flag \u003e env \u003e file \u003e KV \u003e default precedence, BindPFlag, hot reload, test isolation, and remote KV integration.\n\n### samber/\\*\n\n#### `golang-samber-do`\n\nDependency injection with samber/do. Type-safe service containers, lifecycle management, scopes, health checks, and graceful shutdown.\n\n#### `golang-samber-hot`\n\nIn-memory caching with samber/hot. 9 eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, SIEVE...), TTL, loaders, sharding, stale-while-revalidate, Prometheus metrics.\n\n#### `golang-samber-lo`\n\nFunctional programming helpers with samber/lo. 500+ type-safe generic functions for slices, maps, channels, strings. Immutable (lo), parallel (lop), mutable (lom), iterators (loi), SIMD.\n\n#### `golang-samber-mo`\n\nMonadic types with samber/mo. Option, Result, Either, Future, IO, Task, State for type-safe nullable values, error handling, and functional composition.\n\n#### `golang-samber-oops`\n\nStructured error handling with samber/oops. Error builders, stack traces, error codes, context attributes, public vs developer messages, panic recovery, and APM integration.\n\n#### `golang-samber-ro`\n\nReactive streams with samber/ro. 150+ type-safe operators, cold/hot observables, 5 subject types, 40+ plugins, automatic backpressure, and Go context integration.\n\n#### `golang-samber-slog`\n\nStructured logging pipeline with samber/slog-\\*\\*\\*\\* packages. Multi-handler routing (slog-multi), sampling, formatting, HTTP middleware, and 20+ backend sinks.\n\n### Testing\n\n#### `golang-stretchr-testify`\n\nTesting with stretchr/testify. assert, require, mock, and suite packages. Assertions, mock expectations, argument matchers, suite lifecycle, and custom matchers.\n\n## 🕵 Use in CI for AI-driven reviews\n\nAdd AI agents as PR reviewers alongside traditional static analysis. When configured with this skill plugin, the agent applies the relevant Go skills per review area — catching architectural drift, logic bugs, and concurrency hazards that linters cannot detect.\n\nSee [GOLANG-AI-DRIVEN-REVIEW.md](./GOLANG-AI-DRIVEN-REVIEW.md) for full setup instructions (Claude Code Action and GitHub Copilot).\n\n## 🎯 Tuning Skill Triggers\n\nIf a skill triggers too often or not often enough, please [open an issue](https://github.com/samber/cc-skills-golang/issues) suggesting a description change. The `description` field in SKILL.md frontmatter is the primary triggering mechanism — small wording adjustments can significantly improve trigger accuracy. Some `SKILL.md` files might have a `When to use` section which is another level of exclusion. Finally, `SKILL.md` files are an entrypoint for lazy loading references with deep knowledge located in `references/`.\n\n## 🔄 Overlap\n\nClaude reports very little overlap between skills in this repo, thanks to cross-reference. I suggest enabling most of the skills and leveraging lazy loading. The recommended ⭐️ skills load ~1,100 tokens of descriptions at startup; full skill content is only pulled in when relevant. Note:\n\n- I estimate that 50% of `golang-naming` and `golang-code-style` overlap with linters (golangci-lint).\n- A large part of the security rules in `golang-security` have been distilled from the Bearer (SAST) checklist. The skill is still useful for methodology.\n- If your team has its own conventions, create a company skill and declare the override explicitly near the top of its body: `This skill supersedes samber/cc-skills-golang@golang-naming skill for [company] projects.` Skills marked ⚙️ in the table above support this mechanism.\n\n## ✍️ Contribute\n\n- **100 tokens per skill description** - what? when to use this skill?\n- **1.000–2.500 tokens per SKILL.md** — keep the main file focused on essentials\n- **Use secondary markdown files for depth** — reference them from SKILL.md with relative links (e.g., `[Logging](./logging.md)`). Claude reads these on demand when the topic is relevant, so they don't count against the context budget until needed\n- **Up to 10.000 tokens** for full skill and secondary files\n- **2–4 skills loaded simultaneously** in a typical session — design skills to coexist\n- **Stay below ~10k tokens of total loaded SKILL.md** anytime to avoid degrading response quality\n\nFor more guidelines, please check `CLAUDE.md`.\n\n## 💫 Fuel the Revolution\n\n- ⭐️ **Star this repo** - Your star powers the caffeine engine!\n- ☕️ **Buy me a coffee** - I'll literally use it to build more skills while drinking actual coffee\n\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/samber?style=for-the-badge)](https://github.com/sponsors/samber)\n\n## 📝 License\n\nCopyright © 2026 [Samuel Berthe](https://github.com/samber).\n\nThis project is under [MIT](./LICENSE) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamber%2Fcc-skills-golang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamber%2Fcc-skills-golang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamber%2Fcc-skills-golang/lists"}