Heidi Labs
GitHub TrendingGitHub Trending 项目约 24 分钟9,512 字

addyosmani/agent-skills:AI 编程代理的生产级工程技能

本文目录

面向 AI 编程代理(AI coding agents)的生产级工程技能。

技能(Skills)把资深工程师构建软件时使用的工作流、质量关卡和最佳实践编码下来。这些技能被打包,使 AI 代理在开发的每个阶段都能一致地遵循它们。

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

命令#

9 个映射到开发生命周期的斜杠命令。每个命令会自动激活正确的技能。

你正在做什么命令核心原则
定义要构建什么/spec先规格,后代码
规划如何构建/plan小而原子的任务
增量构建/build一次一个切片
证明它有效/test测试就是证据
设定质量标准/constraints一次决定,处处执行
合并前审查/review改善代码健康度
审计 Web 性能/webperf先测量,再优化
简化代码/code-simplify清晰胜于聪明
发布到生产/ship更快更安全

在 Claude Code 中,这些会作为插件命令安装。如果某个内置命令名称相同,例如 /review,请使用命名空间形式:/agent-skills:review。

规格存在后,想减少手动步骤?/build 会自动生成计划,并在一次获批的流程中实现每个任务——你批准一次计划,然后它自主运行。它移除的是任务之间的人工切换,而不是验证:每个任务仍然测试驱动、单独提交,并在失败或高风险步骤时暂停。

技能也会根据你正在做的事情自动激活——设计 API 会触发 api-and-interface-design,构建 UI 会触发 frontend-ui-engineering,等等。

快速开始#

最快路径——任何代理,一条命令。开放技能 CLI 可安装到 70 多个代理(Claude Code、Cursor、Codex、Copilot、Cline 等):

npx skills add addyosmani/agent-skills          # 安装全部 25 个技能
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 interview-me # 需求质询,一次一个问题
npx skills add addyosmani/agent-skills --skill test-driven-development # 红-绿-重构,强制执行

只安装一个技能?按技能执行 npx 安装只会复制 skills/<name>/,而不会复制仓库级的 references/ 目录。技能仍然可用,但指向补充共享检查清单的路径将不可用。请使用整仓集成、克隆仓库,或把所需的检查清单复制到已安装技能内的 references/ 目录。此可移植性缺口记录在 #361 中。

更喜欢原生集成?在下面选择你的工具。

Claude Code(推荐)#

Marketplace 安装:

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

SSH 错误?Marketplace 通过 SSH 克隆仓库。如果你没有在 GitHub 上设置 SSH 密钥,请添加 SSH 密钥,或在 marketplace-add 步骤中使用完整 HTTPS URL 强制通过 HTTPS 克隆:

/plugin marketplace add https://github.com/addyosmani/agent-skills.git
/plugin install agent-skills@addy-agent-skills

如果 /plugin install 在 Windows 或 macOS 上仍因 git@github.com: Permission denied (publickey) 失败,推荐的解决方法是一次性配置 Git,为子进程克隆把 GitHub SSH URL 重写为 HTTPS:

git config --global url."https://github.com/".insteadOf git@github.com:

本地 / 开发:

git clone https://github.com/addyosmani/agent-skills.git
claude --plugin-dir /path/to/agent-skills

Cursor#

把工作流技能放在 .cursor/skills/ 下(从 agent-skills/skills/ 同步),把简短策略放在 .cursor/rules/*.mdc 中——不要把完整技能粘贴到规则里。这两个目录都位于你的项目中;本仓库不附带 .cursor/ 文件夹。参见 docs/cursor-setup.md。

Antigravity CLI#

安装为原生插件,用于技能和子代理。在受影响的 Antigravity CLI 版本中,旧版命令 TOML 报告为已转换,但其包装命令无法被发现;请直接调用底层的命名空间技能。参见 docs/antigravity-setup.md。

从仓库安装:

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

从本地克隆安装:

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

Gemini CLI#

安装为原生技能以自动发现,或添加到 GEMINI.md 以获得持久上下文。参见 docs/gemini-cli-setup.md。

从仓库安装:

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

从本地克隆安装:

gemini skills install ./agent-skills/skills/

Windsurf#

把技能内容添加到你的 Windsurf 规则配置中。参见 docs/windsurf-setup.md。

OpenCode#

把技能复制到 .opencode/skills/(或 ~/.config/opencode/skills/),添加项目本地的 AGENTS.md,并使用内置技能工具进行代理驱动执行。可选的斜杠命令可以添加到 .opencode/commands/ 下。参见 docs/opencode-setup.md。

GitHub Copilot#

使用 agents/ 中的代理定义作为 Copilot 角色,并使用 .github/copilot-instructions.md 中的技能内容。生命周期斜杠命令(/spec、/plan、/build、/test、/review、/ship)是 Claude Code 命令,不会出现在 Copilot 中;请改为按名称调用技能(/spec-driven-development 等)。参见 docs/copilot-setup.md。

使用独立 copilot CLI?把它安装为插件——参见 docs/copilot-cli-setup.md。

Kiro IDE 与 CLI#

Kiro 的技能位于 .kiro/skills/ 下,可以存储在项目级或全局级。Kiro 也支持 Agents.md。参见 https://kiro.dev/docs/skills/ 的 Kiro 文档。

Codex#

安装为原生 Codex 插件(Codex CLI v0.122+):

codex plugin marketplace add addyosmani/agent-skills
codex plugin add agent-skills@agent-skills

第一条命令注册市场;第二条安装插件。Codex 通过 .codex-plugin/plugin.json 直接读取根 skills/ 目录。安装后,在聊天中使用 @ 调用技能(例如 @spec-driven-development)。有关本地安装和故障排除,参见 docs/codex-setup.md。

Command Code#

使用内置 cmd skills 命令原生安装。Command Code 会克隆仓库、发现每个 SKILL.md,并安装到 .commandcode/skills/:

cmd skills add addyosmani/agent-skills          # 选择要安装的技能(项目级)
cmd skills add addyosmani/agent-skills --global # 为所有项目安装(~/.commandcode/skills/)
cmd skills add addyosmani/agent-skills -s spec-driven-development # 安装特定技能

已安装的技能会显示在 TUI 斜杠菜单中,例如 /spec-driven-development。参见 docs/commandcode-setup.md。

其他代理#

技能就是纯 Markdown——它们适用于任何接受系统提示或指令文件的代理。参见 docs/getting-started.md。安装了该包但未在上方列出的宿主见 docs/other-hosts.md。

采用#

已经安装?如何推广这个包取决于你的代码库。采用指南涵盖两条路径:从第一天起为绿地项目使用完整生命周期,或对既有代码库进行增量式、验证优先的推广。

全部 25 个技能#

上面的命令是入口点。该包总共包含 25 个技能——24 个生命周期技能加上 using-agent-skills 元技能。每个技能都是一个结构化工作流,包含步骤、验证关卡和反合理化表格。你也可以直接引用任何技能。

元技能——发现哪个技能适用#

技能作用何时使用
using-agent-skills把传入的工作映射到正确的技能工作流,并定义共享操作规则开始会话或决定适用哪个技能时

定义——明确要构建什么#

技能作用何时使用
interview-me一次一个问题的访谈,挖掘用户真正想要的东西,而不是他们以为自己应该想要的,直到约 95% 置信度需求不明确,或用户调用“interview me”/“grill me”时
idea-refine结构化发散/收敛思维,把模糊想法变成具体提案有一个需要探索的粗略概念时
spec-driven-development在写任何代码之前,编写涵盖目标、命令、结构、代码风格、测试和边界的 PRD开始新项目、功能或重大变更时
constraint-driven-development通过访谈确定带有合理默认阈值的质量标准,写入 CONSTRAINTS.md,按成本放置每项检查,并捕捉代理为通过而静默检查或跳过测试没有成文标准,或代理产出的内容超出任何人阅读量时

规划——拆解任务#

技能作用何时使用
planning-and-task-breakdown把规格拆成小的、可验证的任务,带验收标准和依赖排序有规格且需要可实施单元时

构建——编写代码#

技能作用何时使用
incremental-implementation薄的垂直切片——实现、测试、验证、提交。功能开关、安全默认值、便于回滚的变更任何涉及多个文件的变更
test-driven-development红-绿-重构、测试金字塔(80/15/5)、测试规模、DAMP 优于 DRY、Beyonce 规则、浏览器测试实现逻辑、修复 bug 或改变行为时
context-engineering在正确的时间向代理提供正确的信息——规则文件、上下文打包、MCP 集成开始会话、切换任务或输出质量下降时
source-driven-development每个框架决策都以官方文档为依据——验证、引用来源、标记未经验证的内容想要任何框架或库的权威、带来源引用的代码时
doubt-driven-development对每个非平凡决策进行对抗性全新上下文审查——CLAIM → EXTRACT → DOUBT → RECONCILE → STOP,可选经用户授权的跨模型升级风险高(生产、安全、不可逆)、在不熟悉的代码中工作,或现在验证一个自信输出比以后调试更便宜时
frontend-ui-engineering组件架构、设计系统、状态管理、响应式设计、WCAG 2.1 AA 无障碍构建或修改面向用户的界面时
api-and-interface-design契约优先设计、Hyrum 定律、单版本规则、错误语义、边界验证设计 API、模块边界或公共接口时

验证——证明它有效#

技能作用何时使用
browser-testing-with-devtools使用 Chrome DevTools MCP 获取实时运行时数据——DOM 检查、控制台日志、网络跟踪、性能分析构建或调试任何在浏览器中运行的东西时
debugging-and-error-recovery五步分诊:复现、定位、缩减、修复、防护。停线规则、安全回退测试失败、构建中断或行为异常时

审查——合并前的质量关卡#

技能作用何时使用
code-review-and-quality五轴审查、变更规模(约 100 行)、严重程度标签(Nit/Optional/FYI)、审查速度规范、拆分策略合并任何变更之前
code-simplification切斯特顿栅栏、500 行规则,在保持行为完全不变的同时降低复杂度代码能工作,但比应有的更难读或维护时
security-and-hardeningOWASP Top 10 防护、认证模式、密钥管理、依赖审计、三层边界系统处理用户输入、认证、数据存储或外部集成时
performance-optimization测量优先方法——Core Web Vitals 目标、分析工作流、包分析、反模式检测存在性能要求或怀疑有回归时

发布——有把握地部署#

技能作用何时使用
git-workflow-and-versioning主干开发、原子提交、变更规模(约 100 行)、提交即保存点模式进行任何代码变更时(始终)
ci-cd-and-automation左移、更快更安全、功能开关、质量门禁流水线、失败反馈循环设置或修改构建与部署流水线时
deprecation-and-migration代码即负债思维、强制与建议弃用、迁移模式、僵尸代码清除移除旧系统、迁移用户或停用功能时
documentation-and-adrs架构决策记录(ADR)、API 文档、内联文档标准——记录“为什么”做架构决策、更改 API 或发布功能时
observability-and-instrumentation结构化日志、RED 指标、OpenTelemetry 追踪、基于症状的告警——边构建边埋点添加遥测或发布任何在生产中运行的东西时
shipping-and-launch发布前检查清单、功能开关生命周期、分阶段推出、回滚程序、监控设置准备部署到生产时

代理角色#

为定向审查预配置的专家角色:

代理角色视角
code-reviewer高级 Staff 工程师五轴代码审查,标准是“Staff 工程师会批准这个吗?”
test-engineerQA 专家测试策略、覆盖率分析和 Prove-It 模式
security-auditor安全工程师漏洞检测、威胁建模、OWASP 评估
web-performance-auditorWeb 性能工程师Core Web Vitals 审计,含 Quick/Deep 模式与指标诚实规则;通过 /webperf 运行

有关决策矩阵、编排规则,以及角色如何与技能和斜杠命令组合,参见 docs/agents.md。

参考检查清单#

技能在需要时引入的快速参考资料:

参考涵盖内容
definition-of-done.md项目范围内每项变更都要达到的长期标准,与每任务验收标准形成对比
testing-patterns.md测试结构、命名、mock、React/API/E2E 示例、反模式(JavaScript/TypeScript)
security-checklist.md提交前检查、认证、输入验证、头、CORS、OWASP Top 10
performance-checklist.mdCore Web Vitals 目标、前端/后端检查清单、测量命令
accessibility-checklist.md键盘导航、屏幕阅读器、视觉设计、ARIA、测试工具
observability-checklist.md值班问题、结构化日志、RED/USE 指标、追踪、基于症状的告警、发布前门禁
orchestration-patterns.md认可的多角色编排模式、反模式以及“角色不调用角色”规则

技能如何工作#

每个技能都遵循一致的结构:

┌─────────────────────────────────────────────────┐
│ SKILL.md                                         │
│                                                  │
│  ┌─ Frontmatter ─────────────────────────────┐  │
│  │ name: lowercase-hyphen-name                │  │
│  │ description: Guides agents through [task]. │  │
│  │ Use when…                                  │  │
│  └────────────────────────────────────────────┘  │
│  Overview       → 这个技能做什么                  │
│  When to Use    → 触发条件                        │
│  Process        → 逐步工作流                      │
│  Rationalizations → 借口 + 反驳                   │
│  Red Flags      → 出问题的迹象                    │
│  Verification   → 证据要求                        │
└─────────────────────────────────────────────────┘

关键设计选择:

  • 流程,而非散文。 技能是代理遵循的工作流,而不是供其阅读的参考文档。每个技能都有步骤、检查点和退出标准。
  • 反合理化。 每个技能都包含一张常见借口表(例如“我稍后补测试”),并附有有据可查的反驳。
  • 验证不可协商。 每个技能都以证据要求结束——测试通过、构建输出、运行时数据。“看起来没问题”永远不够。
  • 渐进式披露。 SKILL.md 是入口点。支持性参考资料仅在需要时加载,从而将 token 使用降到最低。

项目结构#

可移植核心保留在共享目录中。宿主特定路径是原生发现约定,而不是品牌别名;重命名或合并它们会破坏扫描这些确切位置的工具。

层 / 消费者仓库路径用途
共享工作流核心skills/(25 个技能)每个集成使用的可移植 SKILL.md 工作流
共享审查材料agents/(4 个角色)、references/(7 份检查清单)专家审查者和由整仓安装携带的包级检查清单
Claude Code 适配器.claude/commands/(9 个命令)、.claude-plugin/、hooks/斜杠命令包装器、市场元数据和生命周期钩子
Gemini CLI 适配器.gemini/commands/(9 个命令)Gemini 原生 TOML 命令包装器
Antigravity CLI 适配器commands/(9 个命令)、plugin.json旧版 TOML 包装器和根插件清单;参见已知的包装器限制
Codex 适配器.codex-plugin/、.agents/plugins/Codex 插件元数据和市场注册;Codex 直接使用 skills/
GitHub Copilot CLI 适配器plugin.json根插件元数据;Copilot CLI 按约定发现 skills/,不注册生命周期包装器
贡献者工具scripts/(13 个脚本)、evals/(25 个用例文件)、.github/workflows/验证、路由评估和 CI
文档docs/通用指导和各工具设置指南

没有签入适配器目录的工具,会把共享的 skills/ 核心安装或复制到自己的原生位置。快速开始部分链接了每个受支持宿主的设置指南。

为什么需要 Agent Skills?#

AI 编程代理默认走最短路径——这通常意味着跳过规格、测试、安全审查以及让软件可靠的实践。Agent Skills 为代理提供结构化工作流,强制执行资深工程师在生产代码中带来的同等纪律。

每个技能都编码了来之不易的工程判断:何时写规格、测试什么、如何审查、何时发布。这些不是通用提示——它们是那种有主见、流程驱动的工作流,把生产质量的工作与原型质量的工作区分开来。

技能融入了 Google 工程文化的最佳实践——包括来自《Software Engineering at Google》和 Google 工程实践指南的概念。你会在 API 设计中发现 Hyrum 定律,在测试中发现 Beyonce 规则和测试金字塔,在代码审查中发现变更规模与审查速度规范,在简化中发现切斯特顿栅栏,在 Git 工作流中发现主干开发,在 CI/CD 中发现左移和功能开关,以及一个专门的弃用技能,把代码视为负债。这些不是抽象原则——它们直接被嵌入代理遵循的逐步工作流中。

与其他方案比较#

想知道这与 Superpowers 或 Matt Pocock 的技能相比如何?参见 docs/comparison.md,以诚实、并排的方式了解三者的不同形态以及何时使用哪一个——其中包括一个受控头对头实验的链接。

贡献#

技能应当具体(可操作步骤,而非模糊建议)、可验证(有明确退出标准和证据要求)、经过实战检验(基于真实工作流)且最小化(只包含指导代理所需的内容)。

格式规范参见 docs/skill-anatomy.md,指南参见 CONTRIBUTING.md,关于如何在不破坏可移植 SKILL.md 前言的情况下应用模型路由、工具限制和其他按代理运行时控制,参见 docs/advanced-per-agent-configuration.md。

团队#

agent-skills 由以下人员构建和维护:

姓名GitHub角色
Addy Osmani@addyosmani创建者
Federico Bartoli@federicobartoli协作者
Joan León@nucliweb协作者

许可证#

MIT——可在你的项目、团队和工具中使用这些技能。