近日,Google Chrome团队工程负责人Addy Osmani近日开源了agent-skills项目(GitHub: addyosmani/agent-skills),将Google内部高级工程最佳实践打包成AI编码代理的标准化技能包。项目采用MIT许可、纯Markdown格式,包含19项覆盖软件开发全流程的生产级技能,通过7个斜杠命令激活,兼容Claude Code、Cursor、Windsurf、GitHub Copilot、Gemini CLI等几乎所有主流编程助手。发布数天内GitHub已获得超5400颗Star。 解决什么问题:AI代理为什么需要"技能包"
当前AI编码代理最常见的失败模式不是模型能力不够,而是缺乏工程纪律。一个典型场景:工程师让Claude Code生成用户认证系统,AI产出2000行代码并通过了测试,合并到生产环境后三周爆发数据泄露——密码明文存储、无速率限制、SQL注入漏洞遍布,根本原因不是模型、上下文窗口或工具链,而是缺少规格说明。 AI代理在没有约束的情况下倾向于走捷径:跳过spec直接写代码、承诺"稍后补测试"却从不兑现、生成看起来正确但缺乏安全加固的代码。agent-skills的核心设计理念之一是"反合理化"——每个技能都包含一张表,列出代理常用的跳步借口(比如"这个够简单不需要spec")及对应的事实性反驳。
7个斜杠命令:直接映射开发生命周期
agent-skills将19项技能组织在7个入口命令下,对应软件开发的完整生命周期:
/spec 定义要构建什么——先写PRD再写代码,覆盖目标、命令、结构、代码风格、测试和边界。/plan 拆解成原子级小任务。/build 增量构建,每次只实现一个切片。/test 验证功能,测试是证明而非装饰。/review 代码审查与质量把关。/code-simplify 简化代码,清晰优于巧妙。/ship 安全上线生产,更快等于更安全。
每个命令背后激活2-4项具体技能,也可以直接按名称引用单个技能。
19项技能完整覆盖:从想法到上线
定义阶段包含想法细化和spec驱动开发(写PRD)。规划阶段是任务拆解。构建阶段最密集,包括增量实现、测试驱动开发、上下文工程(context-engineering)、前端UI工程、API与接口设计共5项技能。验证阶段覆盖浏览器DevTools测试和调试与错误恢复。审查阶段包含代码审查与质量、代码简化、安全加固、性能优化4项。上线阶段覆盖Git工作流与版本控制、CI/CD自动化、弃用与迁移、文档与架构决策记录(ADR)、上线与发布共5项。
每个技能文件的结构高度标准化:概述、使用时机、详细流程步骤、反合理化表(常见借口及反驳)、红旗警示(技能被违反的信号)、验证标准(退出检查清单,每项必须有可验证的证据)。设计原则是"过程优先于知识"——技能是工作流而非参考文档,强调步骤而非事实,"运行npm test"优于"验证测试"。
安装方式:跨工具兼容
Claude Code(推荐)通过 /plugin marketplace add addyosmani/agent-skills 安装。Cursor需将skills/文件夹内容复制到 .cursor/rules/。Gemini CLI使用 gemini skills install 命令直接从GitHub仓库安装。Windsurf、GitHub Copilot等均有对应安装指南。由于技能本身是纯Markdown文件,任何支持系统提示或指令文件的AI代理都可以直接使用。 项目还提供3个专家子代理(code-reviewer代码审查员、test-engineer测试工程师、security-auditor安全审计员),可在主代理工作流中按需调用。
上下文工程:agent-skills中最值得关注的单项技能
19项技能中,context-engineering(上下文工程)尤其值得单独拆解。核心原则是:加载更多文件不等于更好的输出,每个任务的聚焦上下文应控制在2000行以内,代理在加载超过5000行无关上下文后注意力会明显退化。
该技能要求代理在执行前先发出轻量级计划,遇到规格缺失时主动列出选项请求人类决策,而非自行假设。这直接对应了AI代理最常见的失败模式之一:在歧义处静默假设,导致最终产出偏离预期。
与Cursor Rules、AGENTS.md的区别
AI编码工具生态目前有三种主要的指令机制。Rules(规则)是确定性的——调用时注入提示,代理直接执行;Skills(技能)是建议性的——代理自行判断是否需要该上下文并在适当时加载。AGENTS.md则是被动上下文,每次会话都完整加载。
Claude Code的技能加载机制最高效:先读取技能描述,仅在当前任务匹配时才加载完整文件,管理50+技能不会出现上下文窗口耗尽问题。Cursor通过glob模式匹配文件类型触发规则。Windsurf将所有规则每次全量加载,技能数量多时容易耗尽上下文。
agent-skills的设计天然适合按需加载模式——主SKILL.md是入口点,支持的参考资料仅在需要时才加载,保持token使用最小化。
局限性与注意事项
agent-skills解决的是"工程纪律"问题而非"模型能力"问题,如果底层模型推理能力不足,技能包无法弥补。19项技能全部加载会显著消耗上下文窗口,需要根据实际任务选择性启用。部分技能(如前端UI工程、API设计)带有较强的Google工程风格偏好,不一定适合所有技术栈和团队规范。
此外,在Cursor环境中,跨工具的技能文件放置位置(如 .claude/skills/)并不总能被正确发现,实际使用时可能需要针对特定工具做适配调整。技能的效果也高度依赖代理对SKILL.md的遵从程度,不同模型和工具的表现差异较大。
项目GitHub地址:github.com/addyosmani/agent-skills,MIT许可,持续活跃更新中。