我每天都在使用的 5 个 Agent Skills
通过经过验证的工程技能提升 AI 代码质量:提示词技术、TDD、架构设计,以及面向 Claude Code 智能体的规格工作流。
本页目录
我做工程师已经接近十年,而现在流程比以往任何时候都更重要。
你可以随时调动一支水平中等到优秀的工程师队伍,但这些工程师有一个致命缺陷:没有记忆,不记得以前做过什么。
因此,需要极其严格且定义清晰的流程,才能让它们完成有用工作。作为开发者,你必须持续引导智能体,让它们保持在正确轨道上。
我的解决方式是创建大量 Agent Skills。每个技能都会把流程编码进去,让 AI 每次都有一条严格路径可循:
结果是,AI 生成的代码质量显著提升。
技能套件: grill-me · to-spec · to-tickets · tdd · improve-codebase-architecture · 查看全部技能 →
1. /grill-me:完善想法
npx skills@latest add mattpocock/skills
这是我最喜欢的技能。它只有三句话,却有非常大的影响力。
Grill Me 技能:
持续追问这项计划的每一个方面,直到我们达成共同理解。沿设计树的每条分支逐步深入,逐一解决决策之间的依赖。最后,如果某个问题可以通过探索代码库回答,就直接探索代码库。
“设计树”概念来自 《The Design of Design》 ,作者是 Frederick P. Brooks。其思想是:设计某项内容时,需要沿设计树的所有分支逐步深入。
例如,设计搜索页面时,需要在高级搜索界面和简单文本框之间选择。如果选择高级搜索,就要明确所有过滤器和排序方式。你会不断沿设计树深入,直到完全理解设计后才开始写代码。
调用这个技能时,我希望与 LLM 达成共同理解。Claude Code 在 计划模式中往往过早输出计划,在双方真正相互理解之前就创建文档,而 grill me 技能会强制完成这场对话。
在一次为课程视频编辑器添加功能的对话中,Claude 问了我 16 个问题,而那还只是一场相对较短的 追问审视 会话。面对真正复杂的功能,我经历过持续近半小时、包含 30、40 甚至 50 个问题的会话。
关键结论是:技能不必很长也能产生巨大影响,只需在正确时间选择正确措辞。
想继续深入: 加入“面向真正工程师的 AI 编码”候补名单
2. /to-spec:从对话到文档
npx skills@latest add mattpocock/skills
(这个技能以前叫作 /to-prd,职责相同,但新名称更清晰。)
与 LLM 达成共同理解后,我会调用下一个技能: /to-spec.
该技能会让 LLM 把共同理解整理成规格说明,也就是你可能熟悉的 PRD。关键在于,它不会 not 再次采访你。深度追问已经完成,因此 /to-spec 只需综合对话中已有的内容。
工作流如下:
- 探索仓库,让规格说明建立在代码当前状态之上
- 勾勒功能的测试接缝,并检查它们是否符合预期
- 根据模板编写规格说明,并发布到项目 issue tracker
任何规格说明最重要的部分都是用户故事。它借鉴敏捷方法,用语言描述系统的预期行为。
3. /to-tickets:把终点拆解成旅程
npx skills@latest add mattpocock/skills
(原名 /to-issues。)
规格说明描述终点,但真正需要的是抵达终点的旅程。
这正是 /to-tickets 技能的作用:把规格说明转化为由可独立领取 ticket 组成的 Kanban 看板。
流程:
- 收集上下文——刚刚完成的对话,或指定的规格说明
- 探索代码库
- 起草垂直切片 ——把规格说明拆成能够快速暴露未知未知的 ticket
这里适用 Tracer Bullet 类比。每个 ticket 都是贯穿所有集成层的薄垂直切片,而不是单层的水平切片。
该技能还会建立 ticket 之间的阻塞关系。例如,某个 ticket 可能不受任何事项阻塞,因此可以独立领取。这对多个智能体同时工作的并行设置非常有用。
技能套件还有更多内容
grill-with-docs、domain-modeling 和 triage 共同补全套件,另有随版本演进持续更新的 changelog。
4. /tdd:提高代码质量
npx skills@latest add mattpocock/skills
如何执行技能?怎样让实现坚如磐石并提高代码质量?
答案是使用 TDD 技能。TDD 即测试驱动开发,它会强制——更准确地说,是鼓励——智能体遵循红—绿—重构循环。
这个技能内容很丰富,涵盖重构、Mock 以及深模块相关理念。 高质量执行 TDD,是我发现最稳定的智能体输出改进方式。
工作流首先确认需要哪些接口更改。AI 查看糟糕代码库时,会看到大量微小且难以区分的模块;如果重构为顶部拥有薄接口的大模块,AI 就更容易导航。
随后,技能会:
- 确认要测试哪些行为
- 为可测试性设计接口
- 每次编写一个测试(测试优先)
- 实现代码让测试通过
- 寻找重构候选项
智能体配合红—绿—重构的效果非常出色,它会形成一个持续到完成为止的循环。
5. /improve-codebase-architecture:让代码对智能体更友好
npx skills@latest add mattpocock/skills
TDD 对代码库要求很高。结构糟糕的代码库测试边界不清晰:应该在哪里测试?在哪一层测试?
代码库拥有清晰模块边界后,测试就会容易得多。
这里适用 /improve-codebase-architecture 技能会自然探索代码库,寻找令人困惑之处:
- 理解哪个概念时需要在许多小文件之间来回跳转?
- 哪些纯函数只是为了可测试性而提取,但真正的 bug 隐藏在调用方式中?
- 哪些紧耦合模块造成了集成风险?
随后它会提出可深化的候选项,也就是把浅模块改造成更深模块的机会。
每周执行一次,或在一轮密集开发后执行。随着代码库持续改善,你会看到智能体输出质量不断提高。
如果代码库是垃圾,AI 也只会在其中生成垃圾。
以上是七个技能中的五个。其余 grill-with-docs、domain-modeling、triage 以及更新 changelog 位于 /skills.
为什么这很重要:像对待工程师一样对待 AI
提高智能体代码质量最有效的方式,是像对待人类一样对待它们。当然,是受到奇怪约束的人类:没有记忆、被复制后立即工作,但终究仍应按人类工程师来管理。
查看技能仓库 开始使用。