samber/cc-skills-golang:给 AI 编程助手的 Go 技能包,让 AI 写 Go 少一点玄学
标签: cc-skills-golang / Go / Claude Code / Codex / Cursor / AI编程 / 代码规范 / Agent Skill
原文: 微信公众号「开源技术研习社」https://mp.weixin.qq.com/s/tQ_yhHNVMXL1e9W0qCj2UQ
GitHub: https://github.com/samber/cc-skills-golang
痛点:AI 写 Go 靠"即兴发挥"
如果你已经在用 Claude Code、Codex、Cursor 这类 AI 编程助手写 Go,大概率会遇到一个问题:
模型不是完全不会 Go,但它的判断口径有时会飘。
- 今天说要用
errors.Is,明天又直接字符串匹配错误 - 这次知道先 profile 再优化,下次又开始凭感觉改热路径
- 写测试时能想到 table-driven tests,但不一定会主动看 race、goroutine leak 这些细节
cc-skills-golang 是什么?
一组面向 AI 编程助手的 Go "技能包":把 Go 项目里常见的工程判断、编码约定、排查方法、库使用经验,整理成一份份可触发的指令文档,让 AI 在处理相关任务时按同一套口径工作。
注意:它不是一个 Go 运行时库,也不是 go get 之后在代码里 import 的包。
里面有什么?
仓库把 Go 相关技能拆得比较细,覆盖多个方向:
核心技能方向
| 方向 | 说明 |
|---|---|
| 代码风格 | 命名规范、格式约定 |
| 错误处理 | errors.Is / errors.As、错误包装、log 与 return 的选择 |
| 测试 | table-driven tests、race、fixture、goroutine leak |
| 安全 | nil interface、nil map 写入、slice append 共享底层数组、整数转换溢出 |
| 性能 | profile、benchmark、benchstat、分配、GC、I/O、算法复杂度 |
| 并发 | goroutine leak、Context 使用、竞态条件 |
| 数据库 | SQL 查询、连接池、事务处理 |
| 可观测性 | 日志、指标、链路追踪 |
| 项目结构 | 目录布局、依赖管理 |
具体工具和库的技能
gRPC、GraphQL、Swagger、Cobra、Viper、Wire、dig、fx、testify,以及作者自己的 samber/lo、samber/mo、samber/do、samber/slog-* 等。
亮点技能详解
1. golang-error-handling
- 错误要么返回,要么记录日志,不要又 log 又 return
- 错误包装用
%w - 判断用
errors.Is/errors.As
2. golang-safety
紧盯这些 Go 项目常见但容易漏掉的问题:
- ⚠️ nil interface
- ⚠️ nil map 写入
- ⚠️ slice append 共享底层数组
- ⚠️ 整数转换溢出
- ⚠️ defer 放在循环里
3. golang-performance
不是上来就微优化,而是:
- 先强调 profile、benchmark、benchstat
- 对外部瓶颈、分配、GC、I/O、算法复杂度分情况处理
- 有数据支撑再优化
安装方式
通用方式(skills CLI)
# 安装所有技能
npx skills add https://github.com/samber/cc-skills-golang --all
# 只装单个技能
npx skills add https://github.com/samber/cc-skills-golang --skill golang-performance
Claude Code
/plugin marketplace add samber/cc
/plugin install cc-skills-golang@samber
其他工具
Codex、Cursor、Gemini CLI、Copilot、OpenCode 等工具也有对应的安装说明。
⚠️ 注意:作者建议通用技能最好一起装,因为这些 skill 之间有交叉引用。只装一部分也能用,但可能会出现上下文不完整的问题。
适合谁?
✅ 适合
- 让 AI agent 改 Go 服务里的业务代码
- 让 AI agent 补测试
- 让 AI agent 做 PR review
- 让 AI agent 查性能问题
- 让 AI agent 扫并发、错误处理、安全风险
- 给老项目 做现代化改造
❌ 不太适合
- 只是偶尔让 AI 写一段小脚本
AI-driven Code Review
仓库还提供了 AI-driven code review 的说明,思路是把 AI reviewer 放到 PR 流程里,配合这些 Go skills 去检查 linters 不太容易覆盖的问题:
- 架构漂移
- 并发隐患
- 错误处理口径不一致
⚠️ 可以试,但不要把它当成静态分析、测试和人工 review 的替代品。
别神化它
1. 它是指令集合,不是编译器
它能影响 AI 怎么思考和行动,但不能保证每次输出都正确。
2. 部分约定是"社区默认值"
命名、错误处理、日志、项目结构,每家公司都有自己的偏好。如果团队有自己的规范,可以用 company skill 显式覆盖。
3. 评估数据有参考价值
EVALUATIONS.md 给出自建断言集上的对比结果:
- With Skill: 98%
- Without Skill: 56%
说明作者做了系统化验证,但评估集、模型、评分方式和你的真实代码库不是一回事。
写在最后
cc-skills-golang 最适合的定位,不是"让 AI 变成 Go 专家",而是"给 AI 一套更稳定的 Go 工程工作习惯"。
它解决了很具体的问题:当 AI agent 进入 Go 项目时,应该遵循哪些默认判断,哪些坑要主动看,哪些事情要先验证再动手。
如果你正在把 AI 编程助手接入日常 Go 开发,这个仓库值得花半小时翻一下。
相关链接
- GitHub: https://github.com/samber/cc-skills-golang
- 作者: samber(samber/lo、samber/mo 等知名库的维护者)
- 兼容工具: Claude Code、Codex、Cursor、Gemini CLI、Copilot、OpenCode
Keywords: cc-skills-golang, Go技能包, Claude Code, Codex, Cursor, AI编程助手, Go代码规范, 错误处理, 并发安全, 性能优化, Agent Skill, Code Review