cc-skills-golang
43个Go原子技能,让AI编程工具从"能写Go"升级到"写出地道Go"
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
43个Go原子技能,让AI编程工具从"能写Go"升级到"写出地道Go"
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有这样的经历:让 Claude Code 或 Copilot 写一段 Go 代码,它能编译通过,但一跑就 panic——因为它不知道应该用 err 变量而不是 _ 忽略错误;或者让它写一个 HTTP 处理器,它用了全局变量而不是 context 传递请求作用域。这不是 AI 的问题,而是 AI 从海量代码中学习时,Go 特有的「惯例」被稀释了。
samber/cc-skills-golang 正是为解决这个痛点而生。它的核心思路很直接:不给 AI 更多知识,而是给它一个「资深 Go 工程师的行为准则」,让它在写代码时调用这些准则,就像给飞行员配备检查清单一样。
项目作者 Samuel Berthe(GitHub @samber)是法国一位活跃的 Go 开源贡献者,维护了 277 个公共仓库,followers 超过 2100。他发现 AI 编程工具写 Go 代码时总在重复同样的错误——命名不规范、错误处理不规范、并发用法不规范。
他的解决方案是:把自己多年积累的 Go 项目经验,整理成一套可被 AI 加载的「技能指令集」。项目 README 明确标注:「Bootstrapped with Claude Code by distilling my Go project commits. Edited, tested, reviewed and reworked by a human.」——即用 Claude Code 从自己的 commit 历史中蒸馏,再用人工校对编辑,确保每个技能都是真实有效的工程实践,而非 AI 幻觉的产物。
项目包含 43 个独立的技能模块,按用途可分为以下几大类:
基础语言特性:涵盖 struct/interface 最佳实践、数据结构选择、并发编程(goroutine/channel)、context 传递、命名规范、代码风格统一、错误处理哲学。这些技能解决的是 AI「会用语法但不懂惯例」的问题——比如 Go 错误处理应该优先用错误值而不是异常,这些在 Skill 中明确标注。
工程化工具:包括测试策略(table-driven、mock、fuzzing、goleak 泄露检测)、lint 配置(golangci-lint)、依赖管理(Go modules)、依赖注入(wire/dig/fx 三种方案对比)、CI 配置。这些技能覆盖从写代码到上线的完整流水线。
Web 与通信:gRPC(含 protobuf 生成)、GraphQL(代码生成)、Swagger/OpenAPI 文档、CLI 应用(Cobra 命令行框架)。这些技能让 AI 能够生成生产级的 API 代码。
主流框架深度指南:Cobra(命令行)、Viper(配置管理)、uber-fx(依赖注入框架)、Google Wire(编译期 DI)、stretchr testify(测试断言库)。每个技能都有详细的触发条件和使用场景描述。
质量与运维:安全编码规范、可观测性(tracing、metrics、logging)、性能分析(pprof)、故障排查、代码安全检查。这些技能帮助 AI 生成符合 SRE 标准的代码。
项目包含一份详尽的 EVALUATIONS.md 评测报告,通过 100+ 个断言对每个技能进行对照测试。以部分数据为例:
| 技能 | 断言数 | 使用技能 | 未使用技能 | 提升 |
|---|---|---|---|---|
| golang-security | 110 | 100% | 68% | +32pp |
| golang-troubleshooting | 186 | 100% | 68% | +32pp |
| golang-popular-libraries | 54 | 100% | 70% | +30pp |
| golang-error-handling | 60 | 98% | 72% | +27pp |
| golang-swagger | 60 | 97% | 72% | +25pp |
平均提升 25-30 个百分点,意味着 AI 在技能的加持下,生成符合 Go 惯用法的代码概率大幅提高。部分技能(如 golang-spf13-viper)虽然评测显示「无技能时正确率反而更高」,但这是因为 Viper 用法相对固定,技能更多是帮助 AI 理解配置加载的最佳时机和优先级。
项目的设计目标是跨平台兼容。当前支持的 AI 编程工具包括:Claude Code(官方插件格式)、Cursor(.cursor/skills/ 目录自动发现)、Copilot(.copilot/skills/)、Gemini CLI(扩展格式)、OpenCode(.agents/skills/)、Codex(OpenAI)、Openclaw(通用技能目录)。
安装方式统一且极简:npx skills add https://github.com/samber/cc-skills-golang --all 即可一次性安装全部 43 个技能,或者通过 --skill golang-xxx 安装单个技能。这种按需加载的设计不会污染 AI 的上下文窗口。
值得注意的是,项目作者对「AI 生成技能」持审慎态度——README 专门用大字强调「No AI slop here. AI-made skills are useless.」。cc-skills-golang 的每个技能都经过人工测试验证,而非由另一个 AI 自动生成。这在当前 AI 生成内容泛滥的环境下是一个值得尊重的立场,但同时也意味着项目的更新速度受限于作者个人的时间投入。
此外,项目仅覆盖 Go 语言。对于使用 Python、Rust 或其他语言的 AI 辅助开发场景,需要寻找对应语言的技能集。作者也维护了基础版的 cc-skills(不限定语言的通用技能)和各语言的专项技能库。
cc-skills-golang 折射出一个趋势:随着 AI 编程工具的普及,工具本身越来越强大,但「通用」也意味着「平庸」。真正能提升开发效率的,是针对特定语言和框架深度优化的技能体系。
这个项目为 AI Agent Skills 生态提供了一个高质量范例:技能不是文档,不是提示词,而是经过量化验证的、原子化的、可组合的工程知识单元。它证明了 AI 编程工具的天花板,不是模型本身的能力,而是它能调用多少经过验证的专业知识。