Agent-Skills:把资深工程师的工作流编码给 AI
你给一个实习生一个任务:"把这个功能实现了"。他能写代码,但他不知道:写之前要先写 spec,实现要分小片,每片都要有测试,合并前要做五轴 review,发布前要查性能。这些不是"编码能力",是"工程流程"——资深工程师和实习生的差别,往往不在智力,在工作流。
AI coding agent 现在的状况就像一个聪明的实习生:能写代码,但不知道怎么"工程化地"写代码。它会一口气写完整个功能,跳过测试,不做 review,直接 push 到 main 分支。
addyosmani/agent-skills 这周上了 GitHub trending,干的就是这件事:把资深工程师的工作流编码成 AI agent 可以遵循的技能(skills)。
8 个 slash 命令,覆盖完整开发生命周期
agent-skills 的核心是 8 个 slash 命令,每个对应软件开发生命周期的一个阶段:
| 命令 | 阶段 | 核心原则 |
|---|---|---|
/spec | 定义 | Spec before code |
/plan | 规划 | Small, atomic tasks |
/build | 实现 | One slice at a time |
/test | 验证 | Tests are proof |
/review | 审查 | Improve code health |
/webperf | 性能 | Measure before you optimize |
/code-simplify | 简化 | Clarity over cleverness |
/ship | 发布 | Faster is safer |
关键设计:技能自动激活
agent-skills 不是让用户手动调用 24 个技能。它的设计是:你输入 slash 命令,系统自动激活相关技能。
比如你输入 /build,系统会自动激活:
- test-driven-development(测试驱动开发)
- code-review-and-quality(代码审查)
- api-and-interface-design(API 设计,如果检测到在写 API)
- frontend-ui-engineering(前端工程,如果检测到在写 UI)
/build auto:自动规划+实现
最有趣的功能是 /build auto。你给它一个 spec,它:
1. 自动生成实现计划(把 spec 分成小的、原子的任务)
2. 逐个实现每个任务
3. 每个任务都测试驱动
4. 每个任务都单独 commit
5. 遇到失败或风险步骤时暂停
这里的关键设计是:它移除的是"人在任务之间的介入",不是"验证"。传统 agent 工作流的问题是:每个任务完成后都要人确认,人一旦走开,agent 就停了。/build auto 让你批准一次计划,然后 agent 自主跑完——但每个任务仍然有测试验证,遇到失败仍然暂停。
这和步子哥之前关注的 ACE 的 RPI 工作流 是同一个方向:把人从"逐步确认"升级为"一次性批准+自动验证"。颗粒度从"每个任务"提升到"整个计划"。
为什么这很重要
agent-skills 的核心洞察是:AI agent 的问题不是"不够聪明",是"没有流程"。
一个 GPT-4 级别的模型,如果直接让它"实现这个功能",它会:
- 不写 spec 直接开干
- 一口气写完整个功能,不分片
- 跳过测试
- 不做 review
- 直接 push
这和人类工程师的成长路径完全一致。实习生不是智商不够,是没有人告诉他"先写 spec 再写代码"。一旦有了流程清单,实习生的产出质量会立刻提升一个档次——agent 也是如此。
Addy Osmani 的背景
这个项目的作者是 Addy Osmani,Google Chrome 团队的工程 leader,写过《Image Optimization》和《Learning Web Performance》等书。他在 web 性能优化领域是知名专家。
这个背景很重要。agent-skills 里的 /webperf 命令("Measure before you optimize")就是他几十年工程经验的结晶——不是"教 agent 怎么测性能",而是"教 agent 先测再优化"。这个原则对人类工程师也成立,但 agent 特别需要,因为 LLM 天然倾向于"直接给答案"而不是"先测量"。
和昨天 obra/superpowers 的区别
昨天我们发了 obra/superpowers 的文章,今天又发 addyosmani/agent-skills,这两个项目概念上有重叠——都是"给 AI agent 编码工程技能"。但它们的角度不同:
- obra/superpowers:Shell 脚本,"agentic skills framework & software development methodology",更偏方法论
- addyosmani/agent-skills:JavaScript/Markdown,"production-grade engineering skills",更偏实操,有明确的 slash 命令映射
一个更大的图景
把最近几个 trending 项目连起来看:
- cloudflare/computer:给 agent 一台电脑(状态层)
- huangruiteng/loopx:给 agent 一个调度中心(控制层)
- addyosmani/agent-skills:给 agent 一本操作手册(技能层)
Addy Osmani 在博客里写了一句话:"Skills encode the workflows, quality gates, and best practices that senior engineers use when building software."(技能编码的是资深工程师的工作流、质量门控和最佳实践。)
这可能是 agent 工程最准确的定义——不是让 agent 替代工程师,而是把工程师的经验编码成 agent 可以遵循的流程。
---
*项目地址:addyosmani/agent-skills · JavaScript · 203 stars today · 作者 Addy Osmani(Google Chrome 团队)*