AI 编码 Agent 默认走最短路径——跳过写规格、跳过测试、跳过安全审查。Addy Osmani 的 Agent Skills 用 24 个结构化技能,把资深工程师在生产环境里的工作流、质量门禁和最佳实践固化下来,让 Agent 在开发的每个阶段都一贯地照做。这篇讲清楚它是什么、怎么用、以及它到底把哪些工程智慧编码了进去。
系列:Agent 工程化观察 3 / 3
- 1 MCP 协议是什么:让 Agent 稳定连接工具和上下文
- 2 A2A 协议是什么:让不同 Agent 能发现、通信和协作
- 3 Agent Skills:把资深工程师的工程纪律,装进 AI 编码智能体 当前
AI 编码 Agent 有个通病:它默认走最短路径。你让它加个功能,它往往直接开写——跳过写规格、跳过测试、跳过安全审查、跳过那些让软件真正可靠的环节。Addy Osmani 的 Agent Skills 想解决的正是这件事:把资深工程师在生产环境里的工作流、质量门禁和判断力,打包成 Agent 能一贯遵循的技能,覆盖从「想法」到「上线」的每一个阶段。
本文是对开源项目 Agent Skills 的介绍与解读,项目地址:https://github.com/addyosmani/agent-skills(作者 Addy Osmani)。文中的技能清单、命令与设计理念均引用自该项目。
一、Agent Skills 是什么
一句话:一套「生产级工程技能包」,共 24 个技能,专门喂给 AI 编码 Agent(Claude Code、Cursor、Codex、Copilot、Cline 等 70+ 工具都能装)。
它和普通提示词的区别在于——每个技能不是一段「建议」,而是一套带步骤、带检查点、带退出标准的工作流。技能里明确写清楚:什么时候该写规格、该测什么、怎么审查、什么时候能上线。这些不是抽象原则,而是直接嵌进 Agent 要一步步照做的流程里。
如果你还分不清 Skill 和 Agent 的本质差异,可以先看《Claude 的 Skills 和 Agents 到底差在哪》——一句话:Skill 改变「当前这个 Claude 知道什么、怎么做」。Agent Skills 就是把一整个团队的工程规矩,做成了几十个这样的 Skill。
二、先看主线:8 个斜杠命令,就是一条开发流水线
Agent Skills 的入口是 8 个斜杠命令,一一对应软件开发的生命周期。你不需要记住全部 24 个技能——用命令,它会自动激活背后对应的技能。
flowchart LR
A["/spec
定义要做什么"] --> B["/plan
拆成原子任务"]
B --> C["/build
一次一薄片"]
C --> D["/test
用测试证明"]
D --> E["/review
合并前把关"]
E --> F["/ship
上线"]
style A fill:#dbe9ff,stroke:#2563eb
style C fill:#ffe9d5,stroke:#b71d18
style F fill:#d6f5e3,stroke:#1f9e57
| 你在做什么 | 命令 | 核心原则 |
|---|---|---|
| 定义要做什么 | /spec | 先写规格,再写代码 |
| 计划怎么做 | /plan | 小而原子的任务 |
| 增量地写 | /build | 一次只做一个切片 |
| 证明它能跑 | /test | 测试即证据 |
| 合并前审查 | /review | 改善代码健康度 |
| 审计 Web 性能 | /webperf | 先测量,再优化 |
| 简化代码 | /code-simplify | 清晰胜过聪明 |
| 上线部署 | /ship | 更快即更安全 |
想少点手动介入?
/build auto在你批准一次规格后,会自动生成计划并逐个实现所有任务——它去掉的是任务之间的人工停顿,而不是验证:每个任务依旧测试驱动、单独提交,遇到失败或高风险步骤会自动暂停。
三、24 个技能,覆盖 6 个阶段
命令是入口,技能是内核。24 个技能(23 个生命周期技能 + 1 个 using-agent-skills 元技能)按阶段分组如下——你也能绕开命令,直接点名调用任意技能。
| 阶段 | 代表技能 | 它管什么 |
|---|---|---|
| Define 定义 | interview-me、idea-refine、spec-driven-development | 一次一个问题地逼问需求,把模糊想法收敛成 PRD |
| Plan 计划 | planning-and-task-breakdown | 把规格拆成带验收标准、可排序的小任务 |
| Build 构建 | incremental-implementation、test-driven-development、context-engineering、frontend-ui-engineering、api-and-interface-design | 薄切片实现、红绿重构、上下文工程、UI 与 API 设计 |
| Verify 验证 | browser-testing-with-devtools、debugging-and-error-recovery | 用真实运行时数据验证,五步排障 |
| Review 审查 | code-review-and-quality、code-simplification、security-and-hardening、performance-optimization | 五轴审查、按行数控量、OWASP 加固、测量优先的性能优化 |
| Ship 交付 | git-workflow-and-versioning、ci-cd-and-automation、documentation-and-adrs、shipping-and-launch、observability-and-instrumentation、deprecation-and-migration | 主干开发、原子提交、灰度发布、ADR、可观测性 |
除了技能,它还配了 4 个专家人格(Agent Personas)——代码审查员、测试工程师、安全审计员、Web 性能审计员,用于做有针对性的专项评审。
四、一个技能长什么样:SKILL.md 的解剖
每个技能都是一份结构一致的 SKILL.md,这套「解剖学」是它区别于随手写提示词的关键:
flowchart TB
FM["Frontmatter
name + description(何时用)"] --> OV["Overview 这个技能做什么"]
OV --> WU["When to Use 触发条件"]
WU --> PR["Process 分步工作流"]
PR --> RA["Rationalizations
常见借口 + 反驳"]
RA --> RF["Red Flags 出问题的信号"]
RF --> VF["Verification 证据要求"]
style PR fill:#dbe9ff,stroke:#2563eb
style RA fill:#ffe9d5,stroke:#b71d18
style VF fill:#d6f5e3,stroke:#1f9e57
其中最有意思的是 Rationalizations(反合理化) 这一节:它专门列出 Agent 用来「偷懒跳步」的常见借口——比如「测试我待会儿再补」「这个太简单不用写规格」——并给出逐条反驳。这等于提前把 Agent 会给自己找的台阶都堵死了。
五、四条设计哲学
Agent Skills 之所以有效,靠的是四个刻意的设计选择:
| 设计选择 | 含义 |
|---|---|
| 流程,而非散文 | 技能是 Agent 照着走的工作流,不是它读一遍的参考文档——有步骤、有检查点、有退出标准 |
| 反合理化 | 每个技能都内置一张「借口 → 反驳」表,堵住「我待会儿再加测试」这类跳步 |
| 验证不可协商 | 每个技能都以证据要求收尾——测试通过、构建输出、运行时数据;「看起来对」永远不够 |
| 渐进式披露 | SKILL.md 是入口,支撑材料按需加载——挂几十个技能也几乎不浪费上下文 |
「渐进式披露」这一点和 Claude Skills 的机制一脉相承:平时只放一句描述占位,任务真的相关时才读完整流程。关于它如何配合 MCP 一起给 Agent 扩能力,可参考《MCP 协议是什么》。
六、怎么装、怎么用
最快的路径——用开源的 skills CLI,一条命令装进 70+ 种 Agent:
npx skills add addyosmani/agent-skills # 安装全部 24 个技能
npx skills add addyosmani/agent-skills --list # 先浏览再安装只想要某几个技能也行:
npx skills add addyosmani/agent-skills --skill code-review-and-quality # 合并前的五轴审查
npx skills add addyosmani/agent-skills --skill test-driven-development # 强制红绿重构Claude Code 原生安装(推荐)走插件市场:
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills装好之后,技能会按你正在做的事自动激活——设计 API 触发 api-and-interface-design,写 UI 触发 frontend-ui-engineering,你也可以随时用斜杠命令显式点名。
七、它把哪些工程智慧固化了进来
Agent Skills 最值钱的地方,是它把 Google 工程文化里那些被反复验证的原则,直接编进了 Agent 要照做的步骤——而不是让你自己记:
- Hyrum 定律 → 写进 API 设计:接口一旦有足够多用户,你观察得到的所有行为都会有人依赖。
- 测试金字塔 + Beyoncé 法则 → 写进测试:80/15/5 的分层,以及「你在乎它,就给它加测试」。
- 变更控量 + 审查速度规范 → 写进代码审查:一次改动约 100 行、审查要及时。
- Chesterton 栅栏 → 写进代码简化:不理解一段代码为何存在,就别急着删。
- 主干开发 → 写进 Git 工作流:小步、原子提交、把提交当存档点。
- Shift Left + 特性开关 → 写进 CI/CD:把问题左移到更早、更便宜的阶段暴露。
它的思想源头包括《Software Engineering at Google》和 Google 的工程实践指南。换句话说,你不是在给 Agent 灌一堆口号,而是在给它装一套有出处、可执行的工程判断力。
八、和 Superpowers、Matt Pocock 的技能包什么关系
同类项目里,Superpowers 和 Matt Pocock 的 skills 也常被拿来比较。三者的形态不同、侧重不同:Agent Skills 更强调「生命周期全覆盖 + 反合理化 + 验证门禁」的工程纪律。官方在 docs/comparison.md 里给了一份诚实的横向对比,还链了一场受控的对照实验——想选型的话值得一读,而不是二选一地站队。
写在最后
AI 编码 Agent 的默认失败模式,是聪明但没纪律。 Agent Skills 做的事,就是把「什么时候写规格、该测什么、怎么审查、什么时候上线」这套资深工程师的纪律,做成 24 个带步骤、带反驳、带验证的技能,让 Agent 在每个阶段都照着生产标准来,而不是走最短路径交个原型了事。
一条命令装上,从 /spec 到 /ship 走一遍——你会发现,Agent 产出的不再是「看起来能跑」,而是「有证据证明能跑」。

