
一句话介绍
agent-skills 是一套把资深工程师工作经验"教"给AI的技能集。它把软件开发从需求到上线的完整流程,拆解成19个可复用的技能,让AI助手不再瞎猜,而是按照专业工程师的思路帮你写代码。
作者背景:Addy Osmani,Google Chrome团队工程经理,前端性能优化专家,著有《Learning JavaScript Design Patterns》等书。
为什么你需要这个工具?
现在的AI编程助手有什么问题?
用过Claude Code、Cursor或GitHub Copilot的朋友可能都有这种感觉:
- AI太急了:刚说完需求就开始写代码,结果写到一半发现理解错了
- 质量不稳定:有时候写得很好,有时候漏洞百出
- 缺乏系统性:东改一点西改一点,没有完整的开发流程
agent-skills 怎么解决这些问题?
想象你刚入职一家新公司,如果有个资深工程师手把手教你:
- "先别急着写代码,先把需求搞清楚"
- "这个功能要拆成几个小任务,一个一个来"
- "写完要测试,测试通过再提交"
agent-skills 就是把这套资深工程师的工作流程编码成AI能理解的技能,让AI助手按照专业流程帮你开发。
核心概念:7个命令覆盖完整开发流程
agent-skills 把整个软件开发生命周期分成6个阶段,对应7个斜杠命令:
DEFINE PLAN BUILD VERIFY REVIEW SHIP
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ Idea │ ───▶│ Spec │───▶ │Code │ ───▶ │ Test │ ───▶ │QA │ ───▶│ Go │
│Refine│ │ PRD │ │ Impl │ │Debug │ │ Gate │ │ Live │
└──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘
/spec /plan /build /test /review /ship
7个命令速查表
| 命令 | 做什么 | 什么时候用 |
|---|---|---|
| /spec | 写需求文档 | 开始新项目或新功能前,先明确要做什么 |
| /plan | 拆解任务 | 有了需求后,把大任务拆成小任务 |
| /build | 写代码 | 按照计划逐步实现功能 |
| /test | 测试验证 | 写完代码后,证明它确实能工作 |
| /review | 代码审查 | 提交前检查代码质量 |
| /code-simplify | 简化代码 | 代码太复杂时,让它更易读 |
| /ship | 发布上线 | 一切就绪后,部署到生产环境 |
核心理念:每个命令都有明确的原则,比如 /spec 对应 "Spec before code"(先写文档再写代码),/test 对应 "Tests are proof"(测试就是证明)。
19个技能详解
除了7个命令,agent-skills 还包含19个具体技能,按开发阶段分类:
定义阶段(Define)- 明确要做什么
1. idea-refine(想法提炼)
解决什么问题:你有个模糊的想法,但不知道怎么落地
使用场景:
- "我想做个 Todo 应用,但具体要有什么功能还没想清楚"
- "这个需求太笼统,需要拆解一下"
AI会帮你:
- 用发散思维探索各种可能性
- 用收敛思维筛选最优方案
- 把模糊想法变成具体可执行的提案
2. spec-driven-development(需求驱动开发)
解决什么问题:写代码前没想清楚,写到一半发现需求理解错了
使用场景:
- 开始新项目前
- 添加重大功能前
- 代码重构前
AI会帮你写PRD(产品需求文档),包括:
- 项目目标
- 支持的命令和功能
- 代码结构规划
- 代码风格规范
- 测试策略
- 边界情况处理
规划阶段(Plan)- 拆解怎么做
3. planning-and-task-breakdown(任务拆解)
解决什么问题:大任务不知从何下手,或者任务之间有依赖关系理不清
使用场景:
- 拿到PRD后,需要制定开发计划
- 大功能需要拆成多个小任务
AI会帮你:
- 把大需求拆成小任务
- 明确每个任务的验收标准
- 理清任务之间的依赖关系
- 安排执行顺序
构建阶段(Build)- 动手实现
4. incremental-implementation(增量实现)
解决什么问题:一次性改太多文件,容易出错且不好回滚
核心原则:"Thin vertical slices"(薄垂直切片)
使用场景:
- 任何涉及多个文件的改动
- 需要逐步验证的功能开发
AI会帮你:
- 一次只改一个"切片"(一个完整但很小的功能)
- 实现→测试→验证→提交,循环往复
- 使用功能标志(feature flags)保护未完成的功能
- 设置安全默认值
- 确保随时可以回滚
5. test-driven-development(测试驱动开发)
解决什么问题:写完代码才发现有bug,或者不知道怎么写测试
核心原则:Red-Green-Refactor(红-绿-重构)
使用场景:
- 实现业务逻辑
- 修复bug
- 修改现有行为
AI会帮你:
- 先写测试(Red)
- 再写代码让测试通过(Green)
- 最后重构优化(Refactor)
- 遵循测试金字塔(80%单元测试、15%集成测试、5%E2E测试)
6. context-engineering(上下文工程)
解决什么问题:AI输出质量不稳定,有时候好有时候差
核心原则:"Feed agents the right information at the right time" (在正确的时间给AI正确的信息)
使用场景:
- 开始新会话时
- 切换任务时
- AI输出质量下降时
AI会帮你:
- 管理规则文件(rules files)
- 优化上下文打包(context packing)
- 配置MCP集成
7. frontend-ui-engineering(前端UI工程)
解决什么问题:做前端界面时缺乏系统性思路
使用场景:
- 开发用户界面
- 修改现有UI
AI会帮你:
- 组件架构设计
- 设计系统应用
- 状态管理
- 响应式设计
- WCAG 2.1 AA无障碍标准
8. api-and-interface-design(API和接口设计)
解决什么问题:API设计不合理,导致后续维护困难
核心原则:Contract-first design(契约优先设计)
使用场景:
- 设计API
- 定义模块边界
- 设计公共接口
AI会帮你:
- 先定义契约,再实现
- 考虑Hyrum's Law(用户会依赖你的所有可观察行为)
- 遵循One-Version Rule(同时只维护一个版本)
- 设计清晰的错误语义
- 边界验证
验证阶段(Verify)- 证明它能工作
9. browser-testing-with-devtools(浏览器测试)
解决什么问题:前端代码在浏览器里表现异常,但不知道怎么调试
使用场景:
- 开发浏览器中运行的任何功能
- 调试前端bug
AI会帮你:
- 使用Chrome DevTools MCP获取运行时数据
- DOM检查
- 查看控制台日志
- 分析网络请求
- 性能分析
10. debugging-and-error-recovery(调试和错误恢复)
解决什么问题:遇到bug不知道从何下手
核心流程:Five-step triage(五步排查法)
使用场景:
- 测试失败
- 构建中断
- 行为不符合预期
AI会帮你:
- 复现问题
- 定位问题
- 简化问题
- 修复问题
- 防止再次发生
审查阶段(Review)- 质量把关
11. code-review-and-quality(代码审查和质量)
解决什么问题:代码质量参差不齐,不知道哪里需要改进
核心原则:Five-axis review(五维审查)
使用场景:
- 提交代码前自检
- 审查他人代码
AI会帮你从五个维度审查:
- 正确性(Correctness)
- 安全性(Security)
- 可读性(Readability)
- 性能(Performance)
- 可维护性(Maintainability)
支持的工具和安装方法
agent-skills 支持市面上主流的AI编程工具:
Claude Code(推荐)
Marketplace安装:
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
本地开发安装:
git clone https://github.com/addyosmani/agent-skills.git
claude --plugin-dir /path/to/agent-skills
Cursor
把 SKILL.md 文件复制到 .cursor/rules/ 目录,或者引用整个 skills/ 目录。
Gemini CLI
gemini skills install https://github.com/addyosmani/agent-skills.git
Windsurf
把技能内容添加到 Windsurf 的规则配置中。
GitHub Copilot
使用 agents/ 目录下的代理定义作为 Copilot 角色,把技能内容放在 .github/copilot-instructions.md 中。
其他工具
所有技能都是纯 Markdown 格式,任何支持系统提示词或指令文件的AI工具都能使用。
实际使用示例
场景1:从零开始一个新项目
步骤1:明确需求(/spec)
用户:/spec
AI:让我们先写PRD。你的项目要解决什么问题?目标用户是谁?核心功能有哪些?
步骤2:拆解任务(/plan)
用户:/plan
AI:基于PRD,我帮你把项目拆成以下任务:
1. 初始化项目结构
2. 实现核心数据模型
3. 实现API接口
4. 实现前端界面
5. 编写测试
6. 部署配置
步骤3:逐步实现(/build)
用户:/build
AI:我们先从任务1开始:初始化项目结构。我会创建...
场景2:修复一个bug
步骤1:测试先行(/test)
用户:/test
AI:先写一个测试来复现这个bug。描述一下bug的表现?
步骤2:调试定位(/debug)
用户:遇到错误了
AI:让我用debug技能帮你排查。首先复现问题...
步骤3:代码审查(/review)
用户:修复完了
AI:用/review检查一下修复质量,确保没有引入新问题。
场景3:优化现有代码
步骤1:简化代码(/code-simplify)
用户:这段代码太复杂了,/code-simplify
AI:让我分析一下... 可以提取这个函数,简化这个逻辑...
步骤2:审查改进(/review)
用户:简化完了
AI:用/review确认简化后的代码仍然正确且更易读。
使用建议
对于新手
-
从 /spec 和 /plan 开始
- 养成先规划后编码的习惯
- 不要跳过需求分析阶段
-
小步快跑
- 用 /build 时,一次只实现一个小功能
- 频繁测试,频繁提交
-
重视 /test
- 不要嫌写测试麻烦
- 测试是质量保证的基础
对于有经验的开发者
-
建立团队规范
- 把 agent-skills 作为团队的开发流程标准
- 新成员 onboarding 时直接使用
-
定制化技能
- 基于项目特点,调整技能细节
- 添加团队特有的规则
-
持续优化
- 定期回顾哪些技能效果好,哪些需要改进
- 根据项目反馈迭代流程
Githhub
总结
agent-skills 的价值在于:把资深工程师的隐性经验,变成AI可执行的显性流程。
它不会替代你的思考,但会确保你不遗漏关键步骤:
- ✅ 写代码前先想清楚需求
- ✅ 大任务拆成小任务
- ✅ 写完代码要测试
- ✅ 提交前要审查
- ✅ 复杂代码要简化
适合谁用:
- 想提升AI编程助手效果的开发者
- 希望建立规范开发流程的团队
- 想学习专业软件开发流程的新手
不适合谁用:
- 只想快速原型,不在乎代码质量
- 已经有成熟开发流程,不需要额外规范
关注
如果觉得这篇文章对你有帮助,随手点个赞、在看、转发三连吧~如果想第一时间收到推送,也可以给我个星标⭐。谢谢你看我的文章,我们下次再见。