写代码前先写规格、提交前先做 Code Review 、上线前先过安全检查——这些 senior 工程师的基本功,现在能直接"注入"到 AI 里面。
用 AI 写代码的朋友,有没有遇到过这种场景:
你让 AI 加个新功能,它直接动手写代码。写完你一看,发现它压根没理解你的需求。于是删了重写。第二版出来,需求对了,但架构设计一塌糊涂——没考虑扩展性,没留测试接口。再改。第三版总算能跑了,你合并代码,结果 CI 爆了一堆安全警告。
来回折腾三趟,时间花了两小时。
最近我在 GitHub 上翻到一个项目,专门治这个毛病。它叫 agent-skills,作者是 Chrome 团队的 Addy Osmani 。上线没多久冲到 72.2k star ,昨天还有更新。
我自己试了几天,最大的感受是:AI 终于学会了"先想清楚,再动手"。
agent-skills 是什么?
一句话:它是给 AI 编程助手装的一套工程化工作流。
以前你让 AI 写代码,它脑子里只有"写代码"这一件事。 agent-skills 干的事,就是把软件开发的完整流程——定义需求、设计方案、写代码、测试、 Code Review 、上线——全部变成 AI 能理解的"技能"。
它最核心的理念是:每个阶段都有明确的输入、输出和验收标准。 AI 不是上来就写代码,而是先走完前面的步骤,确认没问题了再动手。
这就像你公司来了个真懂工程的前辈,你让他做个需求,他不会上来就写,而是先问你:"需求文档在哪?技术方案评审了吗?测试用例写了吗?"
它是怎么组织的?
agent-skills 把软件开发分成六个阶段,每个阶段对应一套"技能":
DEFINE → PLAN → BUILD → VERIFY → REVIEW → SHIP 定义 方案 编码 测试 评审 上线 每个阶段都有对应的 slash 命令:
/spec | ||
/plan | ||
/build | ||
/test | ||
/review | ||
/ship |
有意思的是 /build 命令——它会自动生成计划、实现每个任务,你只需要在开始时批准一次计划,然后它就自动跑完全程。当然,每个任务还是独立的、测试驱动的,遇到错误会停下来等你处理。
里面都有什么技能?
这套技能包总共 24 个技能,涵盖开发的每个环节:
定义阶段: - interview-me:一个一个问你问题,挖出你真正想要的东西 - idea-refine:把模糊的想法变成具体的提案 - spec-driven-development:写 PRD ,明确目标、架构、测试策略
规划阶段: - planning-and-task-breakdown:把规格拆成可验证的小任务
编码阶段: - incremental-implementation:垂直切片式开发——写一点、测一点、提一点 - test-driven-development:红绿重构,严格执行 - context-engineering:给 AI 喂对的信息——规则文件、上下文打包 - source-driven-development:每个框架决策都要有官方文档支撑 - doubt-driven-development:高风险决策,让另一个 AI 来质疑 - frontend-ui-engineering:前端架构、设计系统、无障碍访问 - api-and-interface-design: API 设计、边界定义、 Hyrum's Law
测试阶段: - browser-testing-with-devtools:用 Chrome DevTools MCP 跑浏览器测试 - debugging-and-error-recovery:五步调试法——复现、定位、精简、修复、防护
评审阶段: - code-review-and-quality:五轴评审,每次改动控制在 100 行内 - code-simplification:简化代码,但保持行为不变 - security-and-hardening: OWASP Top 10 、认证模式、依赖审计 - performance-optimization:性能优化,先测量再动手
上线阶段: - git-workflow-and-versioning:主干开发、原子提交 - ci-cd-and-automation:左移测试、特性开关、质量门 - deprecation-and-migration:代码即负债,如何优雅下线 - documentation-and-adrs:架构决策记录、 API 文档 - observability-and-instrumentation:可观测性——日志、指标、链路追踪 - shipping-and-launch:上线清单、灰度发布、回滚预案
它还内置了四个专家视角:
怎么装?
最简单的方式,用 npx 一行命令:
npxskillsaddaddyosmani/agent-skills 装完之后,支持 70 多种 AI 编程工具: Claude Code 、 Cursor 、 Codex 、 Copilot 、 Cline 、 Gemini CLI 、 Windsurf……
如果你只想装某几个技能:
npxskillsaddaddyosmani/agent-skills--skillcode-review-and-quality npxskillsaddaddyosmani/agent-skills--skilltest-driven-development npxskillsaddaddyosmani/agent-skills--skillinterview-me 实际用起来啥感觉?
我拿它做了个 API 接口改版,感受挺深的。
以前让 AI 改 API ,它直接动手改代码。改完你发现接口设计有问题——参数命名不一致、错误码没统一、文档也没更新。
这次我先用 /spec 让它写了个 API 规格。它问了十个问题:这是给谁用的?要兼容老版本吗?错误怎么处理?幂等性怎么保证?……
问完,它吐出一份 PRD ,里面有目标、接口设计、数据结构、测试策略、边界条件。
我看完说"可以",它才开始写代码。
写的过程中,它会自动触发 api-and-interface-design 技能——检查 Hyrum's Law (你的接口会被调用者依赖,哪怕是实现细节)、检查 One-Version Rule (同一时间只能有一个版本)、检查边界校验。
写完代码,它自动跑 test-driven-development——先写失败的测试,再写实现,最后重构。
提交前,它还跑了 code-review-and-quality——五轴评审(正确性、可维护性、可读性、性能、安全),每个改动控制在 100 行内。
最后上线,零回滚。
有什么坑?
第一,这套技能比较"重"。如果你只是写个脚本、改个小 bug ,用它反而浪费时间。它适合正式的项目开发,尤其是团队协作的场景。
第二,它依赖 AI 的上下文理解能力。如果 AI 本身脑子不太清醒,给它装再好的流程也没用。建议配合 GPT-4o 或 Claude 3.5 Sonnet 以上级别的模型。
第三,部分技能是 Google 工程文化的产物。比如 trunk-based development 、 change sizing 、 review speed norms——这些在创业公司可能不太适用。但理念是对的,可以按需调整。
一点感受
用了几天,最大的体会是:AI 不缺写代码的能力,缺的是"工程意识"。
普通 AI 写代码,就像一个刚毕业的实习生——上手就干,干完再说。结果就是返工、返工、再返工。
agent-skills 干的事,本质上是把这个实习生的脑子里塞进了十年老员工的工作习惯:先定义问题、再设计方案、然后实现、最后验证。
这跟 Ponytail (让 AI 学会"摸鱼"少写代码)是同一个思路——不是让 AI 变得更强,而是让 AI 变得更聪明。
一个教它"少写",一个教它"慢来"。方向一致,手法不同。
如果你也在用 AI 写代码,而且经常被它"先写再说"的风格搞崩溃,强烈建议把这套技能装上。
毕竟,让 AI 干活不难,让 AI 干得专业,才是真本事。
GitHub 地址: github.com/addyosmani/agent-skills
下次让你的 AI 动手前,先跟它说一句:/spec。你会发现,多花的那十分钟规划,能省下后面两小时的返工。
夜雨聆风