golang-how-to

golang-how-to

热门

Golang技能编排器——在任何Golang编码、审查、调试或设置任务中始终激活。读取任务上下文并从samber/cc-skills-golang加载最相关的技能,通常同时加载多个:编写gRPC服务时加载golang-grpc + golang-testing + golang-error-handling;调试panic时加载golang-troubleshooting + golang-safety;审计安全性时加载golang-security + golang-lint + golang-safety。此外:当两个技能看似重叠时消除歧义(性能 vs 基准测试 vs 故障排除,samber/lo vs mo vs ro,DI集群,安全 vs 安全性),并配置CLAUDE.md或AGENTS.md以在项目中强制触发技能(/golang-how-to configure)。

2276Star
150Fork
更新于 2026/6/6
SKILL.md
只读
名称
golang-how-to
描述

Golang技能编排器——在任何Golang编码、审查、调试或设置任务中始终激活。读取任务上下文并从samber/cc-skills-golang加载最相关的技能,通常同时加载多个:编写gRPC服务时加载golang-grpc + golang-testing + golang-error-handling;调试panic时加载golang-troubleshooting + golang-safety;审计安全性时加载golang-security + golang-lint + golang-safety。此外:当两个技能看似重叠时消除歧义(性能 vs 基准测试 vs 故障排除,samber/lo vs mo vs ro,DI集群,安全 vs 安全性),并配置CLAUDE.md或AGENTS.md以在项目中强制触发技能(/golang-how-to configure)。

角色: 你是一个Go技能编排器。对于每个Go任务,识别所有相关技能并一起加载——一个任务很少只属于单个技能。

模式:

  • 编排 —— 对于任何Go编码、审查、调试或设置任务,同时加载主要技能和所有适用的次要技能。
  • 消除歧义 —— 当两个技能看似重叠时,显示边界表。请参阅disambiguation.md
  • 配置 —— 在项目的CLAUDE.mdAGENTS.md中添加一个## Required Go skills块。遵循project-config.md

技能加载

对于每个任务,同时加载主要技能和所有适用的次要技能。不要等待——在开始时一起加载。

意图 主要技能 同时加载
设计API,选择模式 golang-design-patterns golang-structs-interfaces, golang-naming
命名类型、函数或包 golang-naming golang-code-style
惯用地处理错误 golang-error-handling golang-safety(nil密集型代码)
编写goroutine、通道、同步 golang-concurrency golang-context(如果涉及取消)
传递截止时间/取消操作 golang-context golang-concurrency(如果涉及goroutine)
设计结构体、嵌入、使用接口 golang-structs-interfaces golang-design-patterns
数据库查询和事务 golang-database golang-error-handling, golang-security
构建gRPC服务 golang-grpc golang-testing, golang-error-handling
构建GraphQL API golang-graphql golang-testing, golang-error-handling
构建CLI命令树 golang-spf13-cobra golang-cli, golang-spf13-viper(如果涉及配置)
从标志/环境变量/文件分层配置 golang-spf13-viper golang-spf13-cobra
编写测试 golang-testing golang-stretchr-testify(如果使用testify)
应用优化模式 golang-performance golang-benchmark(先测量)
使用pprof/benchstat测量 golang-benchmark golang-performance(修复),golang-troubleshooting(根因)
调试panic或意外行为 golang-troubleshooting golang-safety, golang-benchmark(如果与性能相关)
生产环境监控 golang-observability golang-performance(如果违反SLO)
审计安全漏洞 golang-security golang-safety, golang-lint
审查格式和风格 golang-code-style golang-naming, golang-lint
配置golangci-lint golang-lint golang-code-style
编写godoc/README/CHANGELOG golang-documentation golang-naming
设置新项目结构 golang-project-layout golang-design-patterns, golang-dependency-injection, golang-lint
设置CI/CD流水线 golang-continuous-integration golang-lint, golang-security
选择库 golang-popular-libraries 相关的库特定技能
查找包的文档、版本、导入者或CVE golang-pkg-go-dev golang-dependency-management
采用新的Go语言特性 golang-modernize golang-lint
使用samber/lo(切片/映射辅助函数) golang-samber-lo golang-data-structures, golang-performance
使用samber/oops(结构化错误) golang-samber-oops golang-error-handling
使用log/slog golang-samber-slog golang-observability, golang-error-handling
使用依赖注入 golang-dependency-injection golang-google-wiregolang-uber-diggolang-uber-fxgolang-samber-do

以上所有技能标识符均为samber/cc-skills-golang@<name>的简写形式。

分类概览

完整目录及“何时使用”钩子:by-category.md

分类 技能
代码质量 golang-code-style golang-documentation golang-error-handling golang-lint golang-naming golang-safety golang-security golang-structs-interfaces
架构与设计 golang-concurrency golang-context golang-data-structures golang-database golang-dependency-injection golang-design-patterns golang-modernize
质量保证与性能 golang-benchmark golang-observability golang-performance golang-testing golang-troubleshooting
项目设置 golang-cli golang-continuous-integration golang-dependency-management golang-pkg-go-dev golang-popular-libraries golang-project-layout golang-stay-updated
API golang-graphql golang-grpc golang-swagger
依赖注入 golang-dependency-injection golang-google-wire golang-uber-dig golang-uber-fx golang-samber-do
框架 golang-spf13-cobra golang-spf13-viper
samber/* golang-samber-do golang-samber-hot golang-samber-lo golang-samber-mo golang-samber-oops golang-samber-ro golang-samber-slog
测试 golang-stretchr-testify golang-testing

竞争集群——边界线

完整边界表及路由示例:disambiguation.md

关键集群及其所有者:

  • 性能golang-performance(优化模式)· golang-benchmark(测量)· golang-troubleshooting(根因)· golang-observability(始终在线的生产监控)
  • DIgolang-dependency-injection(概念/决策)· golang-google-wire(编译时)· golang-uber-dig(运行时反射)· golang-uber-fx(生命周期框架)· golang-samber-do(类型安全容器)
  • samber/*golang-samber-lo(有限转换)· golang-samber-ro(响应式流)· golang-samber-mo(单子类型)
  • 错误golang-error-handling(惯用法)· golang-samber-oops(结构化错误)· golang-safety(防止panic)
  • 风格golang-code-style· golang-naming· golang-lint· golang-documentation
  • CLIgolang-cli(架构)· golang-spf13-cobra(命令树)· golang-spf13-viper(配置分层)
  • 包查找golang-pkg-go-dev(查询pkg.go.dev获取现有路径:版本/文档/符号/导入者/CVE)· golang-popular-libraries(选择哪个库)· golang-dependency-management(管理go.mod)· golang-security(全树CVE扫描)
  • 差距——类型 vs 架构golang-structs-interfaces(类型设计)vs golang-design-patterns(架构模式)
  • 差距——goroutine vs 取消golang-concurrency + golang-context——通过上下文取消goroutine时同时加载两者
  • 差距——正确性 vs 威胁golang-safety(内部错误)vs golang-security(外部威胁)
  • 差距——特性 vs 规则golang-modernize(语言采用)vs golang-lint(静态分析配置)

配置模式

在项目的CLAUDE.mdAGENTS.md中强制触发特定技能,使其始终加载。

当以/golang-how-to configure调用时,遵循project-config.md


此技能并非详尽无遗。有关详细指导,请参考各个技能文件和官方Go文档。

如果您在此技能插件中遇到错误或意外行为,请在https://github.com/samber/cc-skills-golang/issues提交问题。