乐于分享
好东西不私藏

AI 编码助手终于有了「职业素养」:addyosmani/agent-skills 教会你写正规代码

AI 编码助手终于有了「职业素养」:addyosmani/agent-skills 教会你写正规代码

AI 编码助手终于有了「职业素养」:addyosmani/agent-skills 教会你写正规代码

Agent Skills · 工程化编码 · AI 编码助手 ·
开发工作流 · 代码质量门禁。
addyosmani/agent-skills 是一个开源技能包,把资深工程师的
编码规范、质量门禁和开发流程打包成 AI 编码助手能理解和执行的
标准化指令。30,341 颗 Star 说明一切:这个由 Google Chrome
工程负责人 Addy Osmani 发起的项目,正在重新定义
人与 AI 协作写代码的方式。

AI 编码助手到底「差」在哪

用过 AI 编码助手(Claude Code、Cursor、Copilot)的人
大概率踩过这些坑:AI 代码能生成,但写得像刚毕业的实习生——
不做测试、不写注释、忽略异常处理、项目里明明有现成工具函数
偏要自己另起炉灶。你跟它说「加个功能」,它直接开干;
你说「写个测试」,它写了个测框架本身的空壳。

根因不是模型,是缺少工程化行为约束。
模型默认走最短路径:跳过设计、略过测试、忽略边界条件。
训练数据里「直接给出答案」的比例远高于
「先写规范再动手」。开发者每次都要靠提示语纠偏,
但会话一重建,一切归零。

addoyosmani/agent-skills 精准瞄准这个缺口。
它不是新模型也不是新插件,而是一套技能包——
20 份 SKILL.md 文件,教 AI 像资深工程师一样工作:
需求澄清 -> 规范编写 -> 增量开发 -> 测试先行 ->
代码审核 -> 安全加固。每个环节都有可执行步骤和防偷懒机制。

核心设计:Anti-Rationalization(反合理化)表。
每个技能文件都预设了 AI 可能找的借口与对应反驳理由。
比如「改动太小不用测试」——技能直接告诉你:
简单代码会变复杂,测试文档化预期行为,
今天省下的时间明天要加倍偿还。
这块设计让技能不只是建议,而是一份可审计的契约。

从安装到上手:5 分钟跑通完整开发流

Claude Code 用户直接在终端执行:

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

之后用 7 个斜杠命令贯穿整个开发周期。

场景一:从零开始一个新功能

输入 /spec -> AI 加载 spec-driven-development 技能,
要求你填写 PRD:目标、用户故事、技术约束、验收标准。

写完 spec 后输入 /plan -> planning-and-task-breakdown
将 spec 拆解成原子级任务,每项带独立验收条件。

再输入 /build -> incremental-implementation
按垂直切片逐块实现:写代码、跑测试、提交。
每次变更不超过一个逻辑单元。

场景二:修复一个 Bug

不要上来就动手修。技能要求你先跑 Prove-It 模式
先写一个复现 Bug 的测试用例,确认测试失败(证明 Bug 存在),
再修改源码让测试通过,最后跑全量测试确认无回归。
这彻底杜绝了「修了一个 Bug,捅了三个窟窿」的常见事故。

场景四:引入新依赖或新 API

在 source-driven-development 技能约束下,
每个框架决策必须追溯官方文档:
先查文档确认用法,再验证引用来源,
未核实的内容必须标注「未验证」。
这让 API 集成阶段的幻觉率显著下降——
AI 无法再编造不存在的参数或已弃用的接口。

场景三:代码审核与安全扫描

提交 PR 前跑 /review -> code-review-and-quality
启动五维审核:正确性、可维护性、性能、安全、可测试性。
每条评论带严重级别标签(Nit / Optional / FYI)。

/code-simplify -> 自动检查过度复杂的设计
(合规宽高法则 + Rule of 500)。涉及外部数据时,
security-and-hardening 技能自动执行 OWASP Top 10。

场景五:上线前的发布检查

输入 /ship -> shipping-and-launch 技能
启动发布清单:功能开关生命周期检查、
分阶段灰度策略、回滚预案、监控告警配置。
git-workflow-and-versioning 确保每个提交
保持原子性(约 100 行/次变更),
deprecation-and-migration 检查是否有遗留的
废弃代码未清理。

跨平台兼容:Cursor(丢进 .cursor/rules/)、
Gemini CLI(gemini skills install)、Windsurf、
OpenCode、Copilot、Kiro 均支持。
团队内不用统一工具就能用同一套规范。

技能体系的设计哲学与创新点

20 项技能分布在 6 阶段开发生命周期上:
Define -> Plan -> Build -> Verify -> Review -> Ship。
每份文件结构统一:YAML 头部、概述、触发条件、
核心流程、反合理化表、红牌警告和验证清单。

最值得关注的三个创新。

第一:语境层级管理(Context Hierarchy)。
context-engineering 技能将代理的输入语境分为 5 层:

• 规则文件(最持久,始终加载)

• 架构文档(按会话加载)

• 源码文件(按任务加载)

• 错误输出(按迭代加载)

• 对话历史(累积可压缩)

每项任务控制在 2000 行以内。
技能还给出三种上下文打包模板:
Brain Dump、Selective Include、Hierarchical Summary。
这直接解决了「信息太多丢焦点、太少编造」的核心矛盾。

第二:反合理化机制(Anti-Rationalization)。
这是最见功夫的设计。传统 prompt 告诉 AI「你应该……」
但 AI 总能找到绕过约束的理由。
agent-skills 在每个技能里预设了 3–8 条常见借口,
逐一用事实回击:

• 「先提交,测试以后补」-> 你不会补。
事后测的代码测的是实现,不是行为。

• 「原型不用测试」-> 原型会变生产代码。
从第一天写测试,防债。

• 「语境窗口大,全塞进去」-> 窗口大小 ≠ 注意力预算。
聚焦的语境胜过大段灌输。

第三:混淆管理(Confusion Management)。
当 spec 与现有代码矛盾时,
AI 传统做法是默默选一个「合理」方向(往往是错的)。
agent-skills 要求 AI 主动暴露歧义
把冲突点、可选方案、代价列出来,交给人决策。
需求不完整时先查代码有无先例,
无先例则必须暂停——禁止替人决策。

落地场景与未来演进方向

最立即可落地的场景:团队编码规范统一。
大多数团队有规范文档但没人严格执行。
agent-skills 接入后,每个开发行为的验证步骤
由 AI 自动执行——不是「建议你写测试」,
而是「没写测试就不允许提交」。
安全扫描、性能检测、依赖审计都可作为 CI 门禁自动触发。

场景二:开源项目质量治理。
MAINTAINERS.md 写得再好不如一套自动执行的技能规则。
外来 PR 自动经过 spec 匹配、测试复现、代码审核流程。
维护者从「盯人」转移到「盯门禁结果」。

未来演化方向有二:

一是技能市场——不同语言、领域的技能可像 npm 包
一样分发和组合(项目已内置 marketplace.json)。
这种模式一旦成熟,社区可以贡献上万个场景技能,
从 Kubernetes 编排到 Flutter UI 脚手架,
覆盖几乎全部工程实践。

二是技能编排——当前流程线性执行
(spec -> plan -> build -> test -> review -> ship),
后续可根据仓库特征自动选取技能链,
甚至根据项目规模动态调整门禁阈值。

如果你也对「让 AI 写出更靠谱代码」感兴趣,
这个 30K Star 的项目是 2026 年最值得一试的工具之一。
它不改变你用什么编辑器或模型,
它改变的是你和 AI 一起写代码时的行为习惯——
而这,才是质量真正的门槛。