Agent Skills
› samber/cc-skills-golang
samber/cc-skills-golang
GitHub提供Go语言代码风格规范,涵盖行长度、变量声明、控制流等需人工判断的清晰度规则,辅助编写或审查代码。
Install All Skills
npx skills add samber/cc-skills-golang --all -g -y
Skills in Collection (46)
提供Go语言代码风格规范,涵盖行长度、变量声明、控制流等需人工判断的清晰度规则,辅助编写或审查代码。
编写Go代码
审查Go代码风格
建立项目编码标准
npx skills add samber/cc-skills-golang --skill golang-code-style -g -y
提供Go语言context.Context的最佳实践,涵盖传播、取消、超时处理及值存储规范,旨在优化API边界设计、防止上下文泄漏并确保请求生命周期内的正确信号传递。
设计Go服务层的上下文传播逻辑
调试因上下文未取消导致的资源泄漏
选择正确的Context创建方式(Background/TODO/WithoutCancel)
在代码审查中检查Context使用规范性
npx skills add samber/cc-skills-golang --skill golang-context -g -y
提供Go语言数据库访问的最佳实践指南,涵盖参数化查询、事务处理、连接池配置及sqlx/pgx使用规范。适用于编写、审查或调试涉及PostgreSQL/MySQL等数据库交互的Go代码。
编写Go数据库访问代码
审查数据库相关代码安全性
调试数据库连接或查询问题
npx skills add samber/cc-skills-golang --skill golang-database -g -y
专为 Go 项目设计的文档编写与审查指南,涵盖 godoc、README、CHANGELOG 等。支持并行子代理处理大型代码库,提供撰写和审计两种模式,旨在提升文档准确性、示例驱动及可读性。
编写 Go 代码注释或文档
审查现有文档完整性
生成 README 或 CHANGELOG
npx skills add samber/cc-skills-golang --skill golang-documentation -g -y
指导在Go中构建GraphQL API,涵盖gqlgen和graphql-go选型、Schema设计、Resolver编写及性能优化(如N+1防护),支持代码生成与PR审查模式。
需要实现GraphQL服务器或API接口
正在设计或重构GraphQL Schema
编写GraphQL Resolver逻辑
代码库引入了gqlgen或graphql-go包
npx skills add samber/cc-skills-golang --skill golang-graphql -g -y
提供Go语言gRPC微服务的最佳实践,涵盖Protobuf组织、服务端/客户端实现、拦截器配置、TLS/mTLS安全及流式处理。用于构建、审查或调试gRPC服务,确保正确性与可运维性。
实现新的gRPC服务端或客户端
审查gRPC代码的正确性与安全性
编写或优化.proto文件
配置gRPC拦截器或中间件
处理gRPC错误状态码
设置TLS/mTLS连接
测试gRPC服务(如bufconn)
实现流式RPC
npx skills add samber/cc-skills-golang --skill golang-grpc -g -y
将Go代码现代化,更新为最新语言特性、标准库改进及惯用模式。适用于审查旧式代码、处理弃用警告或执行Go版本升级,优先修复安全性问题。
审查带有旧式模式的Go代码
遇到弃用警告
用户要求进行现代化改造
执行Go版本升级
npx skills add samber/cc-skills-golang --skill golang-modernize -g -y
指导在 Go 中使用 samber/do 库实现依赖注入,涵盖容器配置、服务生命周期管理及组合根节点最佳实践。
使用或采用 samber/do 进行依赖注入
代码库导入 github.com/samber/do
将手动构造函数注入重构为 DI 容器
npx skills add samber/cc-skills-golang --skill golang-samber-do -g -y
指导在Go项目中集成samber/hot库实现高性能内存缓存,涵盖9种淘汰算法选择、TTL配置、加载器链及Prometheus监控。
使用或引入github.com/samber/hot库
需要为高频访问资源降低延迟或减轻后端压力
npx skills add samber/cc-skills-golang --skill golang-samber-hot -g -y
为 Go 项目提供基于 samber/oops 的结构化错误处理方案,支持错误上下文、堆栈追踪、错误码及 Panic 恢复,提升可观测性与调试效率。
需要实现结构化错误处理
代码库已导入 github.com/samber/oops
需添加错误上下文或堆栈信息
npx skills add samber/cc-skills-golang --skill golang-samber-oops -g -y
针对Go语言samber/slog系列的结构化日志扩展技能,涵盖多处理器管道、采样、格式化及HTTP中间件,用于构建高效灵活的日志处理流水线。
使用或引入 github.com/samber/slog-* 包
需要配置 Go 结构化日志的处理器组合、采样策略或后端路由
npx skills add samber/cc-skills-golang --skill golang-samber-slog -g -y
Go语言测试技能,指导使用stretchr/testify库进行断言、Mock创建、测试套件配置及错误处理,涵盖assert与require的选择、核心/高级断言及最佳实践。
编写Go单元测试或集成测试
需要为代码创建Mock对象
审查现有测试代码中的testify用法
项目依赖github.com/stretchr/testify
npx skills add samber/cc-skills-golang --skill golang-stretchr-testify -g -y
指导在Go中使用uber-go/dig进行依赖注入,涵盖容器配置、Provide/Invoke及对象图解析。适用于导入dig包或启动时组装应用组件的场景。
代码中引入 go.uber.org/dig
需要实现基于反射的依赖注入
构建CLI工具或库的DI容器
npx skills add samber/cc-skills-golang --skill golang-uber-dig -g -y
指导在 Go 中使用 uber-go/fx 框架进行应用组装,涵盖依赖注入、生命周期管理、模块化及信号处理。适用于构建需要优雅启停和模块化设计的长运行服务。
使用 go.uber.org/fx 导入包
使用 fx.New, fx.Provide, fx.Invoke 等函数
实现基于 fx 的依赖注入图
npx skills add samber/cc-skills-golang --skill golang-uber-fx -g -y
提供Go语言性能测量全流程指导,涵盖基准测试编写、pprof剖析、benchstat统计分析及CI回归检测,强调数据严谨性。
编写或运行Go基准测试
使用pprof分析性能热点
比较基准测试结果
设置CI性能回归检测
npx skills add samber/cc-skills-golang --skill golang-benchmark -g -y
专注于 Go CLI 应用开发,涵盖基于 Cobra/Viper 的构建、扩展与审查。提供项目结构规范、命令配置、信号处理及测试最佳实践,适用于打造符合 Unix 习惯的命令行工具。
需要从零开始构建 Go CLI 工具
为现有 CLI 添加子命令或标志
审查 Go CLI 代码的规范性与错误处理
使用 cobra 或 viper 库进行开发
npx skills add samber/cc-skills-golang --skill golang-cli -g -y
专注Go语言并发编程的Skill,涵盖goroutine生命周期管理、通道与选择器、同步原语及模式设计。支持代码编写、PR审查和大规模并发审计,旨在防止资源泄漏并提升并发正确性。
编写或审查Go并发代码
在通道与互斥锁间做技术选型
排查goroutine泄漏风险
保护共享状态
npx skills add samber/cc-skills-golang --skill golang-concurrency -g -y
提供Go语言内置及标准库数据结构的内部原理、最佳实践与选型指南,涵盖切片、Map、容器包及泛型集合的使用优化。
需要选择或优化Go数据结构时
询问切片或Map底层实现细节时
使用container/包或泛型集合时
npx skills add samber/cc-skills-golang --skill golang-data-structures -g -y
提供Go语言依赖注入最佳实践,涵盖手动构造函数注入与主流库对比。支持新架构设计与重构紧耦合代码,指导团队实现可测试、低耦合的服务层设计。
设计服务架构
设置依赖注入
重构紧耦合代码
管理单例或服务工厂
询问控制反转或服务容器
npx skills add samber/cc-skills-golang --skill golang-dependency-injection -g -y
管理Golang项目依赖,涵盖go.mod/go.sum操作、版本升级、冲突解决、govulncheck安全扫描及审计。指导在添加或移除依赖前评估标准库替代方案与许可证,确保供应链安全与维护性。
添加新的Go依赖包
升级现有Go依赖版本
解决依赖版本冲突
审计Go模块依赖树及安全漏洞
npx skills add samber/cc-skills-golang --skill golang-dependency-management -g -y
提供生产级Go代码的设计模式与惯用法指南,涵盖构造函数、资源管理、优雅停机及架构风格。支持设计与审查两种模式,旨在提升代码简洁性与可维护性。
选择或设计Go应用架构
实现函数式选项模式
审计代码中的设计缺陷
设置优雅停机逻辑
npx skills add samber/cc-skills-golang --skill golang-design-patterns -g -y
提供Go语言标准化错误处理最佳实践,涵盖错误创建、包装、检查、日志记录及panic处理。支持编码、审查和审计模式,旨在提升代码健壮性与可调试性。
编写Go代码中的错误处理逻辑
审查PR中的错误处理变更
对大型代码库进行错误处理审计
npx skills add samber/cc-skills-golang --skill golang-error-handling -g -y
Go语言编译时依赖注入工具google/wire的使用指南,涵盖Provider、Set及代码生成,用于构建无反射的依赖图。
使用 google/wire 进行 Go 依赖注入
处理 wire_gen.go 生成文件
配置 wire.Build 和 wire.NewSet
npx skills add samber/cc-skills-golang --skill golang-google-wire -g -y
基于 gopls 提供 Go 语言语义代码智能,支持定义跳转、引用查找、重构及诊断。适用于在本地构建环境中导航、理解依赖或执行安全重构任务。
需要跳转到 Go 代码定义处
查找函数或变量的调用位置
执行提取、内联或重命名等重构操作
分析代码依赖关系或类型信息
npx skills add samber/cc-skills-golang --skill golang-gopls -g -y
Go技能编排助手,自动识别任务并加载相关子技能,解决技能重叠歧义,支持配置项目Agent文件以强制触发。
Golang编码或调试任务
需要多技能协同的复杂开发场景
技能冲突时的歧义消除
配置Agent项目的技能加载规则
npx skills add samber/cc-skills-golang --skill golang-how-to -g -y
指导 Golang 项目配置 golangci-lint,涵盖工具安装、.golangci.yml 配置、lint 输出解读、警告抑制及代码修复。支持多模式与并行子代理处理遗留代码清理。
配置 golangci-lint
询问 lint 警告含义
设置 nolint 指令
选择 linter 工具
npx skills add samber/cc-skills-golang --skill golang-lint -g -y
提供Go语言命名规范指南,涵盖包、结构体、接口、常量等标识符的命名约定与最佳实践。
编写新Go代码时的命名决策
审查或重构代码中的命名风格
询问Go命名惯例或反模式
npx skills add samber/cc-skills-golang --skill golang-naming -g -y
为Go服务提供生产级可观测性支持,涵盖结构化日志、Prometheus指标、OpenTelemetry链路追踪及性能分析。用于代码植入监控信号、审查PR变更或审计现有覆盖度,确保系统具备完整的生产环境监控能力。
在Go项目中添加日志、指标或链路追踪代码
审查涉及可观测性变更的代码PR
审计现有Go服务的可观测性覆盖情况
npx skills add samber/cc-skills-golang --skill golang-observability -g -y
Go语言性能优化技能,基于剖析结果应用分配减少、内存布局等模式。支持架构与热路径的代码审查及迭代优化,强调先测量后修改。
已识别性能瓶颈需优化
进行性能代码审查
npx skills add samber/cc-skills-golang --skill golang-performance -g -y
基于 godig 工具查询 Go 包文档、符号、版本、依赖关系及 CVE 漏洞。适用于 pkg.go.dev 生态的只读信息检索,不处理本地构建或依赖升级。
查询 Go 包的可用版本
检查包是否存在已知漏洞
获取包的文档或 API 签名
查找导入某包的依赖方
搜索特定的 Go 包
npx skills add samber/cc-skills-golang --skill golang-pkg-go-dev -g -y
提供Go语言生态中经过验证的生产就绪库和框架推荐,强调标准库优先、成熟度及简单性。用于在用户寻求库建议、对比替代方案或为特定任务选择依赖时,协助做出最佳技术选型决策。
询问Go语言库或框架推荐
需要对比多个第三方库的优劣
为具体功能模块选择合适依赖
评估新引入依赖的成熟度和适用性
npx skills add samber/cc-skills-golang --skill golang-popular-libraries -g -y
提供Go项目结构、工作区设置及模块命名规范,指导新建项目、CLI工具或微服务的架构设计与依赖注入选型。
启动新的Go项目
组织现有代码库结构
设置多包Monorepo
npx skills add samber/cc-skills-golang --skill golang-project-layout -g -y
专注 Go 代码重构,通过 gopls 等工具实现安全、行为保留的重构。支持计划、执行及审查模式,强调小步提交与人类审核,适用于大规模代码结构调整。
函数或类型过于庞大
代码异味阻碍功能开发
用户要求重构 Go 代码
批量重命名或提取函数
npx skills add samber/cc-skills-golang --skill golang-refactoring -g -y
提供Go语言防御性编程最佳实践,防止因nil操作、类型断言、切片别名、数值转换及浮点比较等常见陷阱导致的程序崩溃或数据损坏。
代码审查中的空指针和nil map检查
设计具备安全零值的Go类型
修复因append共享底层数组引发的静默数据损坏
npx skills add samber/cc-skills-golang --skill golang-safety -g -y
提供Go语言中samber/lo库的功能性编程辅助,支持切片、映射等500+类型安全泛型函数,用于简化数据转换并消除样板代码。
使用或采用 samber/lo 库
代码导入 github.com/samber/lo
在 Go 中实现功能性风格的数据转换
npx skills add samber/cc-skills-golang --skill golang-samber-lo -g -y
提供Go语言的函数式编程安全能力,利用samber/mo库的Option、Result等Monad类型消除nil风险并实现可组合的错误处理与管道逻辑。
使用samber/mo库进行空值安全处理
采用函数式管道模式处理错误和状态
npx skills add samber/cc-skills-golang --skill golang-samber-mo -g -y
提供Go语言中基于samber/ro库的响应式流和事件驱动编程能力,支持构建异步数据管道、实时处理及反应式架构。
使用或引入github.com/samber/ro库
构建异步事件驱动管道
实现实时数据处理或响应式架构
npx skills add samber/cc-skills-golang --skill golang-samber-ro -g -y
专为Go语言设计的安全工程技能,涵盖代码审计、审查及编写阶段。通过注入、加密、认证等五大子领域并行扫描,结合DREAD模型评估风险,提供防御性编程最佳实践与漏洞修复建议。
审查PR中的安全问题
对完整代码库进行安全审计
编写涉及敏感操作的新Go代码
修复已知安全漏洞
npx skills add samber/cc-skills-golang --skill golang-security -g -y
针对 Go 语言 spf13/cobra 库的 CLI 开发技能,涵盖命令树构建、参数校验、Shell 补全及文档生成。支持新建、扩展和审查模式,旨在打造符合 Unix 习惯的命令行工具。
使用或引入 spf13/cobra 库
构建或重构 Go CLI 应用程序
需要实现 Shell 自动补全功能
npx skills add samber/cc-skills-golang --skill golang-spf13-cobra -g -y
指导在 Go 项目中集成 spf13/viper 库,处理分层配置优先级(Flag>Env>File>KV>Default),实现环境变量绑定、配置文件读取及热重载。
使用或引入 spf13/viper 进行配置管理
需要实现多层级配置合并与覆盖逻辑
配置文件中存在 JSON/YAML/TOML 格式解析需求
npx skills add samber/cc-skills-golang --skill golang-spf13-viper -g -y
提供Go语言生态的学习资源、新闻订阅、社区渠道及核心开发者列表,帮助用户追踪Go语言更新、发现新工具库并融入开发者社区。
查询Go语言最新官方动态或版本更新
寻找Go语言学习教程和入门资源
获取Go社区论坛、Slack群组或Newsletter订阅链接
查找值得关注的Go领域专家或贡献者
npx skills add samber/cc-skills-golang --skill golang-stay-updated -g -y
提供Go语言结构体与接口的设计模式,涵盖组合、嵌入、类型断言、依赖注入及接收者选择等最佳实践,旨在提升代码的可测试性与清晰度。
设计Go类型或定义接口
实现接口或进行类型断言/开关
选择指针或值接收者
处理结构体字段标签
npx skills add samber/cc-skills-golang --skill golang-structs-interfaces -g -y
用于在Go项目中添加或维护Swagger/OpenAPI文档的Skill。支持swaggo工具链、多框架集成及安全定义,提供构建和审计模式,确保API文档准确性与完整性。
需要为Go项目生成Swagger文档
代码中引入了swaggo相关依赖
需要维护或审查现有OpenAPI注解
npx skills add samber/cc-skills-golang --skill golang-swagger -g -y
Go语言测试专家技能,支持编写、审查、审计和调试测试。涵盖表格驱动测试、并行测试、模糊测试、goroutine泄漏检测及CI集成,旨在构建可执行规范的高质量测试套件。
编写新的Go测试用例
审查PR中的测试变更
审计现有测试套件的缺陷或模式问题
调试失败或不稳定的测试
npx skills add samber/cc-skills-golang --skill golang-testing -g -y
用于系统性地排查和修复 Go 语言程序中的 Bug、崩溃、死锁及竞态条件。提供调试方法论、工具使用及根因分析流程,涵盖单问题调试与代码库全面扫描两种模式。
Go 程序出现 Bug 或异常行为
需要定位崩溃、死锁或竞态条件的根因
执行 Go 代码的全面安全或质量审计
npx skills add samber/cc-skills-golang --skill golang-troubleshooting -g -y
用于配置Go项目GitHub Actions CI/CD流水线,涵盖测试、Lint、安全扫描、依赖更新及发布流程。适用于首次搭建或优化现有CI管道,生成workflow文件并集成质量门禁工具。
配置Go项目CI/CD流水线
编写或修复.github/workflows下的YAML文件
添加Linter或安全扫描器到管道
设置自动化依赖更新机器人
npx skills add samber/cc-skills-golang --skill golang-continuous-integration -g -y
Dependencies:
https://github.com/samber/cc-skills-golang


