8.2 万星 · 谷歌工程师的 AI 编程技能包
⭐ MIT 开源免费Agent Skills 是一套给 AI 编程助手用的「工程规范包」,作者是谷歌 Chrome 团队的 Addy Osmani,另有两位协作者共同维护。项目在 GitHub 上已经拿到约 8.2 万 Star, 采用 MIT 协议,完全开源免费。它不是插件、不是模型、也不跑任何服务—— 整包就是 24 个 Markdown 写的技能文件,装进 Codex 之后,AI 干活时会自动照着这些流程走。
它要解决的是 AI 编程里最烦的一件事:模型天然倾向走最短路径。需求没问清就开写、 测试往后拖、评审草草了事、上线前不做检查。Agent Skills 把资深工程师的做法写成了带步骤、带检查点、 带验收证据的工作流——每个技能文件里都有「Process(怎么做)」「Verification(拿什么证明做到了)」, 还有一张很特别的 Anti-Rationalization 反驳表:把 AI 想偷懒时最爱找的借口 (比如"需求够清楚了""测试我待会儿补")一条条列出来,配上反驳理由,堵死它跳步骤的路。
这些流程的底子来自谷歌的工程文化,包括《Software Engineering at Google》和谷歌公开的工程实践指南——
接口设计里的 Hyrum 定律、测试里的测试金字塔和 Beyoncé 法则、代码评审里「一次改动控制在 100 行左右」
的规模约束、重构里的切斯特顿栅栏原则,都被直接编进了 AI 要执行的步骤里。
对 Codex 用户来说,它是原生插件:一条命令装好,聊天里打 @ 就能点名调用某个技能。
skills 目录放进你的 AI 工具 skills 目录即可;Codex / Cursor 接入说明在包内 docs/。若在微信/抖音里点不开,点右上角「···」用系统浏览器打开本页再下。
整包 24 个技能 = 23 个生命周期技能 + 1 个「用哪个技能」的元技能,按开发阶段划分如下:
| 阶段 | 技能 | 解决什么 |
|---|---|---|
| Meta | using-agent-skills |
把手头的活映射到该用哪个技能,并定义整包共用的操作规则 |
| Define 定需求 |
interview-meidea-refinespec-driven-development |
一次只问一个问题把真实意图挖出来;把模糊想法发散收敛成具体方案;写 PRD 说清目标、结构、代码风格和边界 |
| Plan 拆任务 |
planning-and-task-breakdown |
把规格拆成可验证的小任务,带验收标准和依赖顺序 |
| Build 写代码 |
incremental-implementationtest-driven-developmentcontext-engineeringsource-driven-developmentdoubt-driven-developmentfrontend-ui-engineeringapi-and-interface-design |
薄切片式实现、随时可回滚;红-绿-重构强制执行;给 AI 喂对上下文;框架用法必须对着官方文档核实并标注来源;对每个重要决定做对抗式复查;前端组件与无障碍规范;契约优先的接口设计 |
| Verify 验证 |
browser-testing-with-devtoolsdebugging-and-error-recovery |
用 Chrome DevTools 拿真实运行数据(DOM、控制台、网络、性能);五步排障:复现、定位、缩小、修复、加护栏 |
| Review 评审 |
code-review-and-qualitycode-simplificationsecurity-and-hardeningperformance-optimization |
五个维度的评审加严重度分级;在不改行为的前提下降复杂度;OWASP Top 10 防护与密钥管理;先测量再优化 |
| Ship 上线 |
git-workflow-and-versioningci-cd-and-automationdeprecation-and-migrationdocumentation-and-adrsobservability-and-instrumentationshipping-and-launch |
主干开发与原子提交;质量门禁流水线与特性开关;老系统下线与迁移;架构决策记录;结构化日志与告警;上线前检查清单和灰度回滚 |
另外还附带 4 个专家角色和 7 份速查清单:
| 附加内容 | 说明 |
|---|---|
| 4 个专家角色 | 代码评审官、测试工程师、安全审计员、Web 性能审计员,可以点名让某个角色来审 |
| 7 份速查清单 | 完成定义、测试模式、安全检查、性能检查、无障碍检查、可观测性检查、多角色编排模式 |
| 环境 | 要求 |
|---|---|
| 操作系统 | Windows / macOS / Linux 均可 |
| Codex 版本 | Codex CLI v0.122 及以上(原生插件方式需要) |
| Node.js | 用 npx skills 通用装法时需要,建议 18+ |
| Git | 插件市场安装会走 git 克隆,需先装好 Git |
| 硬件 | 无特殊要求,不需要显卡、不需要额外内存 |
| 网络 | 只在安装那一步需要联网拉取仓库,装完离线可用 |
@ 点名技能即可;其他编辑器走第 1 步的通用装法。两种方式装的是同一套技能,选一个就行。
官方推荐用开源的 skills CLI 来装,它能识别你机器上装了哪些 AI 编程工具 (Claude Code、Cursor、Codex、Copilot、Cline 等 70 多个),把技能装到对应目录:
# 一次装全 24 个技能
npx skills add addyosmani/agent-skills
# 先看看都有哪些技能,再决定装哪些
npx skills add addyosmani/agent-skills --list
只想装其中某一个技能,加 --skill 参数点名:
# 需求拷问:一次只问一个问题
npx skills add addyosmani/agent-skills --skill interview-me
# 合并前的五维度代码评审
npx skills add addyosmani/agent-skills --skill code-review-and-quality
# 强制红-绿-重构的测试驱动开发
npx skills add addyosmani/agent-skills --skill test-driven-development
references/ 共享清单不会一起过来。技能仍然能用,但里面引用的补充清单路径会失效。
介意的话就整包装,或者克隆仓库后把需要的清单手动拷进该技能的 references/ 目录。
Codex CLI v0.122 以上支持插件市场,一条命令搞定。Codex 会通过
.codex-plugin/plugin.json 直接读取仓库根目录的 skills/:
codex plugin marketplace add addyosmani/agent-skills
装完之后,在 Codex 聊天里用 @ 点名调用任意技能:
@interview-me 我想做一个内部用的数据看板
@spec-driven-development 帮我把上面确认的需求写成 PRD
@test-driven-development 给这个模块补测试
技能会根据你在干什么自动激活(比如你在设计接口,接口设计技能就自动生效), 但更可控的方式是用斜杠命令显式进入某个阶段:
| 命令 | 你在做什么 | 核心原则 |
|---|---|---|
/spec | 定义要做什么 | 先有规格,再写代码 |
/plan | 规划怎么做 | 拆成小而原子的任务 |
/build | 增量实现 | 一次只做一个切片 |
/test | 证明它能跑 | 测试就是证据 |
/review | 合并前评审 | 改善代码健康度 |
/webperf | 审计网页性能 | 先测量,再优化 |
/code-simplify | 简化代码 | 清晰胜过聪明 |
/ship | 发布上线 | 发得越快越安全 |
@ 点名技能为主。规格写好之后,如果不想在每个任务之间都点一次确认,可以用自动模式。 它会先生成计划,你批准一次,然后自动实现每个任务:
/build auto
装好之后,一个功能从想法到上线的典型跑法是这样的:
| 这一步 | Codex 会做什么 |
|---|---|
① @interview-me | 先亮出它对你需求的判断和把握度(百分比),然后一次只问一个问题、每问都附上自己的猜测,直到有把握了才停 |
② @spec-driven-development | 把确认后的意图写成 PRD:目标、命令、结构、代码风格、测试要求、边界 |
③ @planning-and-task-breakdown | 把 PRD 拆成带验收标准的小任务,并排好依赖顺序 |
④ @incremental-implementation | 一个薄切片一个薄切片地实现,每片都是实现→测试→验证→提交 |
⑤ @code-review-and-quality | 合并前从五个维度审一遍,问题按严重度分级 |
⑥ @shipping-and-launch | 过上线前检查清单,安排灰度和回滚方案 |
| 设计选择 | 具体做法 |
|---|---|
| 流程,而不是文档 | 技能是让 AI 执行的工作流,有步骤、有检查点、有退出条件,不是给它"读一读"的参考资料 |
| 反偷懒机制 | 每个技能都带一张表,把 AI 跳步骤时的常见借口(如"测试我待会儿补")和反驳理由一一列出 |
| 验证不可协商 | 每个技能结尾都要求交证据——测试通过、构建输出、运行时数据,"看着没问题"永远不算数 |
| 渐进式加载 | SKILL.md 是唯一入口,补充清单只在真的需要时才加载,避免一上来就塞满上下文 |
| 谷歌工程实践打底 | Hyrum 定律、Beyoncé 法则、测试金字塔、约 100 行的改动规模、切斯特顿栅栏、主干开发、Shift Left 等,全部编进可执行步骤 |
不是。它是 Addy Osmani 的个人开源仓库(MIT 协议),他本人在谷歌 Chrome 团队工作, 另有 Federico Bartoli 和 Joan León 两位协作者。项目里的方法论确实大量借鉴了谷歌公开的工程实践 (《Software Engineering at Google》和 Google 的 engineering practices guide), 但它并非谷歌官方产品,也不代表谷歌立场。
项目专门为此做了「渐进式加载」设计:每个技能只有 SKILL.md 是入口,补充清单和参考资料 只在流程真的走到那一步时才加载,不会一次性把 24 个技能全灌进上下文。不过相比不装技能直接开写, 多几轮问答和验证步骤是必然的——这个开销换的是少返工。
不会。interview-me 自己就写明了不该触发的情况:需求本身很明确("把这个变量改个名""修个错别字")、 你已经明确表示要速度优先、纯粹的信息查询、机械操作(重命名、格式化、移文件),这些场景它不会启动。 它只在需求缺"给谁用/为什么/怎么算成功/硬约束是什么"其中一项时才介入。
先升级 Codex CLI。如果暂时不方便升级,可以走第 1 步的通用装法(npx skills add),
它不依赖 Codex 的插件市场;或者克隆仓库后按官方 codex-setup 文档做本地安装。
插件市场默认走 SSH 克隆,没配 GitHub SSH 密钥就会失败。两个办法:一是给 GitHub 账号添加 SSH 密钥; 二是让 Git 把 GitHub 的 SSH 地址统一改写成 HTTPS,执行一次即可永久生效:
git config --global url."https://github.com/".insteadOf git@github.com:
能。技能本身就是纯 Markdown,任何接受系统提示词或指令文件的工具都能用。
Claude Code 有插件市场安装方式;Cursor 是把技能同步到 .cursor/skills/ 目录,
短策略另外放 .cursor/rules/*.mdc(官方特别提醒:不要把完整技能粘贴进 rules);
Gemini CLI、Antigravity CLI、Windsurf、OpenCode、Copilot、Kiro 都有各自的接入文档。
建议从三个最容易见效的入手:interview-me(少返工)、
test-driven-development(代码可信)、code-review-and-quality(合并前兜底)。
另外整包里有个 using-agent-skills 元技能,作用就是帮你判断手头这活该用哪个技能,
不确定时可以直接让它来分派。
作者在仓库里专门写了一份对比文档,说明三者的形态差异和各自适合的场景, 并附了一个第三方做的对照实验链接。简单说,这一套的特点是覆盖完整生命周期 + 强验证门禁, 偏"工程规范"而非"能力增强"。
可以。项目采用 MIT 协议,作者明确写了可以在你自己的项目、团队和工具里使用这些技能, 商用无需授权。保留版权声明即可。