返回博客列表

Addy Osmani 的 agent-skills:给 AI 编程 Agent 装上高级工程师大脑

2026-06-20
[Addy OsmaniAI AgentClaude CodeGemini CLI开源工程实践]

AI 写代码很快,但「写对」很难

2025 年是 AI 编程助手爆发的一年。Claude Code、Cursor、GitHub Copilot、Gemini CLI——几乎每个开发者都在用某种 AI 工具写代码。效率确实提高了,但问题也随之而来。

AI Agent 默认走最短路径。它不会主动写 spec、不会先做 plan、不会主动写测试、不会考虑安全性。它只想尽快把代码交给你。

Addy Osmani 在他的博客里说过一句话:"AI coding assistants are incredible force multipliers, but the human engineer remains the director of the show." AI 编程助手是强大的力量倍增器,但人类工程师必须始终掌控方向。

问题是,怎么掌控?

2026 年 2 月 15 日,Osmani 开源了 agent-skills——一个把 Google 工程文化中的最佳实践编码为 AI Agent 工作流的项目。3 个月内拿到了 39K+ Star。

一个 Agent 就是一个目录

agent-skills 的核心理念很简单:把资深工程师的工作流、质量门禁和最佳实践,编码成 AI Agent 可以遵循的结构化技能。

  DEFINE          PLAN           BUILD          VERIFY         REVIEW          SHIP
 ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐
 │ Idea │ ───▶ │ Spec │ ───▶ │ Code │ ───▶ │ Test │ ───▶ │  QA  │ ───▶ │  Go  │
 │Refine│      │  PRD │      │ Impl │      │Debug │      │ Gate │      │ Live │
 └──────┘      └──────┘      └──────┘      └──────┘      └──────┘      └──────┘
  /spec          /plan          /build        /test         /review       /ship

整个开发生命周期被分成 6 个阶段,每个阶段对应一个 slash command。你在开发过程中输入 /spec,Agent 就知道该怎么帮你做需求定义;输入 /ship,Agent 就知道该怎么帮你做发布检查。

7 个 Slash Command,覆盖完整开发生命周期

你在做什么 命令 核心原则
定义要构建什么 /spec Spec 先于代码
规划怎么构建 /plan 小而原子的任务
增量构建 /build 一次一个切片
证明它能工作 /test 测试就是证据
合并前审查 /review 提升代码健康度
简化代码 /code-simplify 清晰胜过聪明
发布到生产 /ship 更快就是更安全

如果你不想逐步手动操作,还有一个 /build auto 模式——你审批一次计划,然后它自动实现每个任务,但每个任务仍然是测试驱动、单独提交的,遇到失败或风险步骤会暂停。

24 个技能,不只是 7 个命令

Slash command 是入口,真正的内容是 24 个结构化技能。每个技能都遵循一致的格式:

┌─────────────────────────────────────────────────┐
│  SKILL.md                                       │
│                                                 │
│  Frontmatter       → 名称、描述、触发条件        │
│  Overview          → 这个技能做什么              │
│  When to Use       → 触发条件                    │
│  Process           → 逐步工作流                  │
│  Rationalizations  → 常见借口 + 反驳             │
│  Red Flags         → 出问题的信号                │
│  Verification      → 证据要求                    │
└─────────────────────────────────────────────────┘

注意 Rationalizations(合理化借口)这一项。每个技能都内置了一张「Agent 可能用来跳过步骤的借口」表,附带反驳。比如:

  • "测试后面再加" → 没有测试的代码不算完成
  • "这个改动太小不需要 review" → 小改动同样可能导致 bug
  • "直接写代码更快" → 没有 spec 的代码更容易返工

Verification(验证) 是不可协商的。每个技能都以证据要求结束——测试通过、构建输出、运行时数据。"看起来对了"永远不够。

按阶段划分的 24 个技能

Define(定义)— 3 个

技能 做什么
interview-me 一次一个问题,逐步挖掘用户真正的需求,直到 ~95% 置信度
idea-refine 结构化发散/收敛思考,把模糊想法变成具体方案
spec-driven-development 在写任何代码之前,先写覆盖目标、架构、测试策略的 PRD

Plan(规划)— 1 个

技能 做什么
planning-and-task-breakdown 把 spec 分解成小任务,带验收标准和依赖排序

Build(构建)— 7 个

技能 做什么
incremental-implementation 薄切片:实现、测试、验证、提交。Feature flags、安全默认值
test-driven-development Red-Green-Refactor,测试金字塔 80/15/5,DAMP over DRY
context-engineering 在正确的时间给 Agent 正确的信息
source-driven-development 每个框架决策都以官方文档为依据
doubt-driven-development 对抗性审查:CLAIM → EXTRACT → DOUBT → RECONCILE → STOP
frontend-ui-engineering 组件架构、设计系统、状态管理、WCAG 2.1 AA 无障碍
api-and-interface-design 契约优先设计、Hyrum's Law、One-Version Rule

Verify(验证)— 2 个

技能 做什么
browser-testing-with-devtools Chrome DevTools MCP:DOM 检查、Console 日志、性能分析
debugging-and-error-recovery 五步分诊:复现、定位、缩小、修复、加保护

Review(审查)— 4 个

技能 做什么
code-review-and-quality 五轴审查、变更大小控制(~100 行)、严重性分级
code-simplification Chesterton's Fence、Rule of 500、降低复杂度
security-and-hardening OWASP Top 10 防护、三层边界系统
performance-optimization 度量优先、Core Web Vitals 目标、反模式检测

Ship(发布)— 6 个

技能 做什么
git-workflow-and-versioning Trunk-based 开发、原子提交、commit-as-save-point
ci-cd-and-automation Shift Left、Feature flags、质量门禁流水线
deprecation-and-migration 代码即负债、强制/建议弃用、僵尸代码清除
documentation-and-adrs 架构决策记录、API 文档、内联文档标准
observability-and-instrumentation 结构化日志、RED 指标、OpenTelemetry 追踪
shipping-and-launch 预发布检查、Feature flag 生命周期、分阶段发布

Meta 技能 — 1 个

using-agent-skills 是元技能,负责把传入的工作映射到正确的技能工作流。

4 个专家角色

除了技能,还有 4 个预配置的专家角色(Agent Persona):

角色 身份 视角
code-reviewer 资深 Staff Engineer 五轴代码审查,"Staff Engineer 会批准这个吗?"
test-engineer QA 专家 测试策略、覆盖率分析、Prove-It 模式
security-auditor 安全工程师 漏洞检测、威胁建模、OWASP 评估
web-performance-auditor Web 性能工程师 Core Web Vitals 审计、Quick/Deep 模式

设计哲学:过程,不是文字

agent-skills 的几个关键设计选择:

1. Process, not prose(过程,不是文字)

技能不是 Agent 阅读的参考文档,而是 Agent 遵循的工作流。每个都有步骤、检查点和退出标准。

2. Anti-rationalization(反合理化)

每个技能都包含 Agent 跳过步骤的常见借口和反驳。AI 非常擅长说服自己跳过"不重要"的步骤——这张表就是防线。

3. Verification is non-negotiable(验证不可协商)

每个技能都以证据要求结束。不是"看起来对了",而是"测试通过、构建成功、运行时数据正确"。

4. Progressive disclosure(渐进式披露)

SKILL.md 是入口。支持的参考文档只在需要时加载,最小化 token 消耗。

Google 工程文化的开源化

agent-skills 不是拍脑袋写的。它内置了 Google 工程文化的核心概念:

  • Hyrum's Law(API 设计中):一旦有人依赖了你的 API 的某个行为,这个行为就永远不能改
  • Beyonce Rule(测试中):If I liked it then I should have put a test on it
  • 测试金字塔 80/15/5:80% 单元测试、15% 集成测试、5% 端到端测试
  • Chesterton's Fence(代码简化中):不理解为什么这样写之前,不要改它
  • Trunk-based development(Git 工作流中):主干开发,短生命周期分支
  • Shift Left + Feature Flags(CI/CD 中):尽早测试、渐进式发布
  • Code as liability(弃用中):代码是负债,不是资产

这些不是抽象的原则——它们直接嵌入在 Agent 逐步执行的工作流中。

多平台支持

agent-skills 支持几乎所有主流 AI 编码工具:

Claude Code(推荐)

/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills

Gemini CLI

gemini skills install https://github.com/addyosmani/agent-skills.git --path skills

Cursor:把 SKILL.md 复制到 .cursor/rules/

Antigravity CLI

agy plugin install https://github.com/addyosmani/agent-skills.git

还支持 Windsurf、OpenCode、GitHub Copilot、Kiro IDE、Codex 等。所有技能都是纯 Markdown,任何接受 system prompt 的 Agent 都能使用。

Addy Osmani 的 AI 编程工作流

agent-skills 的背后是 Osmani 多年积累的 AI 编程方法论。他在博客中总结了自己的核心原则:

  1. Spec before code:不要直接让 AI 写代码。先描述问题,和 AI 一起迭代出 spec.md,包含需求、架构、数据模型和测试策略
  2. Small chunks:把项目分解成迭代步骤,一次一个任务。"如果一次给 AI 太多,它会产出一个混乱的东西"
  3. Context packing:给 AI 所有必要的上下文——代码、文档、约束、已知陷阱
  4. Choose the right model:不同任务用不同模型,必要时切换
  5. Human in the loop:AI 生成的代码要像初级开发者的代码一样审查——读一遍、跑一遍、测一遍
  6. Commit often:频繁提交就是存档点,可以随时回退 AI 的错误
  7. Customize with rules:用 CLAUDE.md、GEMINI.md 等规则文件定制 AI 的行为风格

agent-skills 本质上就是把这些原则从人类的脑子里搬到了 Agent 的执行环境里

一个真实的使用场景

假设你要给一个 Next.js 项目添加一个新的支付模块:

> /spec
Agent 执行 spec-driven-development 技能:
- 采访你了解需求
- 生成包含目标、架构、API 设计、测试策略的 PRD

> /plan
Agent 执行 planning-and-task-breakdown 技能:
- 把 spec 分解成 12 个小任务
- 每个任务有验收标准和依赖关系

> /build
Agent 执行 incremental-implementation 技能:
- 一次实现一个切片
- 每个切片:写测试 → 实现 → 验证 → 提交
- 触发 test-driven-development 和 api-and-interface-design

> /test
Agent 执行 browser-testing-with-devtools 技能:
- Chrome DevTools 检查运行时行为
- 验证所有测试通过

> /review
Agent 执行 code-review-and-quality 技能:
- 五轴审查
- 检查变更大小(建议拆分为 ~100 行的小 PR)

> /ship
Agent 执行 shipping-and-launch 技能:
- 预发布检查清单
- Feature flag 配置
- 监控设置
- 分阶段发布计划

整个过程,Agent 不是在"帮你写代码",而是在"按照高级工程师的标准帮你完成一个完整的功能交付"。

为什么 39K Star?

agent-skills 之所以火爆,不是因为它教 AI 写代码,而是因为它解决了一个真正的痛点:AI 写代码很快,但不按规矩来。

它会跳过测试、省略文档、忽略安全、写出 2000 行的函数、使用不安全的默认值。这些在原型阶段可以接受,在生产环境就是定时炸弹。

agent-skills 做的事情是:把「资深工程师的工程纪律」变成 AI 可以执行的指令。 不是 prompt engineering,而是 workflow engineering。

Osmani 在博客里说得好:"The best results come when you apply classic software engineering discipline to your AI collaborations. It turns out all our hard-earned practices — design before coding, write tests, use version control, maintain standards — not only still apply, but are even more important when an AI is writing half your code."

快速上手

# Claude Code(推荐)
/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

安装后,在任何项目中输入 /spec 开始工作。


作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

参考来源:

分享给朋友