mattpocock/skills 精选:10 个实用的 AI 编程 Skill
你好,我是小 G。
上一篇拿 Spring AI 面试平台举了个例子,聊的是怎么用 grilling 把需求问清楚。Matt Pocock 的仓库里还有一些覆盖其他环节的 Skill,比如 prototype 可以先做个能点的原型,handoff 可以把做到一半的任务交给新会话。上一篇的使用案例
这次从仓库里挑了 10 个,覆盖需求讨论、实现、排查和交接几个环节。mattpocock/skills 仓库
1. grill-with-docs 把需求聊清楚并记下来
这个 Skill 组合了 grilling 和 domain-modeling。前者按决定之间的依赖关系分轮提问,后者把确定下来的领域术语写进 GLOSSARY.md。有明确取舍、日后难改、脱离上下文又难理解的架构决定,还可以单独写成 ADR,也就是架构决策记录。
比如团队在讨论“取消订单”时,有人指取消整单,有人指取消其中几件商品。这个差异会影响接口和退款规则,聊清楚后可以直接更新术语表,让后续接手的人用同一套说法。grill-with-docs 的 SKILL.md
2. prototype 做个原型验证一个问题
要验证状态流转或业务规则,它可以生成一个独立的 HTML 文件,让你点几下就能看到每步状态怎么变。要比较界面方案,它会把多个版本放在同一个路由下,方便来回切换。比如审批单被驳回后是否允许修改并重新提交,就可以先在原型里把这条路径走一遍。
原型用完可以丢掉。确认的决定可以写回 Issue 或规格,供正式实现时参考。prototype 的 SKILL.md
3. to-spec 把讨论结果整理成规格
to-spec 根据已有对话和代码库整理一份规格,写清用户要完成什么、已经做了哪些实现决定、怎么测试,以及哪些事情留到以后。它会先和你确认从哪些公开接口验证行为,再把规格写到项目配置的 Issue Tracker,比如 GitHub Issues 或本地 Markdown。适合需求已经谈妥,需要给后续开发留一份依据的时候。to-spec 的 SKILL.md
4. to-tickets 把计划拆成可验收的任务
to-tickets 接受规格、计划或当前对话,把工作拆成一张张 Ticket。每张卡尽量交付一段能演示或验证的完整行为,比如“用户可以导出自己租户的订单”,并写清验收标准和前置依赖。你确认拆分和依赖之后,它再把任务写入项目的 Issue Tracker。to-tickets 的 SKILL.md
5. implement-spec 按任务依赖实现整份规格
有了 Spec 和关联的 Tickets,implement-spec 就可以按依赖关系安排实现。当前可以开工的任务交给不同的子 Agent,各自在独立的 Git worktree 中修改。改动陆续合回同一条集成分支,等某张卡的前置任务全部完成,再开始做这张卡。整份规格实现后,它会在集成分支上调用 code-review。implement-spec 的 SKILL.md
6. tdd 一次用一条测试推动实现
tdd 会先和你确认从哪个公开接口验证行为。每轮先写一条会失败的测试,再加上刚好能让它通过的实现,然后才开始验证下一个行为。比如给订单导出增加权限控制,可以先通过导出接口验证跨租户请求会被拒绝,让测试约束调用方实际能观察到的结果。tdd 的 SKILL.md
7. diagnosing-bugs 先复现,再验证猜测
遇到难定位的 Bug 或性能退化,这个 Skill 会先找一种可以反复检查原始症状的办法。可以是一条失败测试、一段 HTTP 脚本,或者一次浏览器操作回放。拿到清楚的失败信号之后,再缩小复现范围、验证根因。修完要重跑原始场景,并在有合适测试入口时留下回归测试。diagnosing-bugs 的 SKILL.md
8. code-review 分开审代码规范和需求实现
code-review 先确定比较基点,比如 main 或某个提交,再让两个子 Agent 分别审查同一份改动。Standards 看改动是否符合仓库约定,Spec 对照原始 Issue 或规格找遗漏、实现偏差和超出范围的改动。找不到需求来源并确认项目没有规格时,只跑 Standards 审查。code-review 的 SKILL.md
9. improve-codebase-architecture 找出值得重构的模块
如果每加一条业务规则都要同时改好几个模块,或者一条行为测试得绕进许多内部细节,可以用这个 Skill 做一次架构检查。它会关注近期经常改动的代码,把候选方案、涉及的文件和改造前后的结构整理成 HTML 报告。你选中一个候选之后,它再追问具体的设计取舍。improve-codebase-architecture 的 SKILL.md
10. handoff 把当前任务交给新会话
handoff 把当前会话整理成一份交接文档,写清已经做了什么、定下了哪些决定,以及下一轮该从哪里接手。已有的规格、Issue 和提交会用路径或链接引用,交接文档保存在系统临时目录。换一个会话继续改代码或把审查交给另一个 Agent 时,直接把这份文档交过去就行。handoff 的 SKILL.md
