跳至正文
东倒西歪玩AI
东倒西歪玩AI
  • 首页
  • 首页
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
SKILL

Matt Pocock 的 22 个 Skills:不是 Vibe Coding,而是把软件工程流程交给 Agent

作者 ddxw
2026年7月21日 2 分钟阅读
0
https://github.com/mattpocock/skills

现在 GitHub 上的 Agent Skills 越来越多。

有些 Skill 教 AI 怎么画图、做 PPT、剪视频;有些把一套工具接口包装起来,让 Agent 能直接操作某个服务。

Matt Pocock 的这个 Skills 仓库不太一样。

它不增加某项具体功能,而是试图把需求澄清、领域建模、写规格、拆任务、TDD、调试、代码审查和架构改进这些传统软件工程方法,变成 AI 编程 Agent 可以重复执行的流程。

仓库首页写得很直接:

Skills for Real Engineers. Not vibe coding.

写稿时,这个项目已经获得约 17.8 万个 GitHub Star。稳定目录中包含 17 个工程类 Skill 和 5 个通用效率 Skill,另外还有试验中、已弃用、个人使用和杂项目录。

它解决的不是“AI 不会写代码”

现在的 Codex、Claude Code 已经会写不少代码。真正麻烦的是,代码写得越快,返工、误解和架构腐化也可能发生得越快。

Matt Pocock 总结了几类常见问题:

  • 用户自己还没有想清楚,Agent 就开始动手;
  • Agent 不理解项目里的领域术语,解释和命名越来越啰嗦;
  • 代码能生成,但缺少可靠的测试和反馈循环;
  • 功能不断增加,代码库慢慢变成难以修改的“大泥球”;
  • 一次任务太大,超过一个 Agent 会话能够稳定处理的范围。

这套 Skills 的核心思路不是让 Agent“更聪明一点”,而是给它一套更稳定的工作纪律。

先别急着写:Grill 系列负责把问题问透

仓库里最有代表性的 Skill 是 /grill-me 和 /grill-with-docs。

/grill-me 会针对一个计划或设计不断追问,直到决策树上的重要分支都得到回答。它不是礼貌地问三四个问题,然后自行补全剩余部分,而是要求把模糊表述、隐含假设和边界条件真正说清楚。

/grill-with-docs 在追问之外,还会结合 /domain-modeling,把讨论中形成的术语和决定写进项目文档。

例如,一个团队把“将课程内容真正写入文件系统”称为“materialization”。如果项目里已经形成这个共同语言,Agent 就不必每次都用二十个词重新解释。变量、函数、文件和文档也更容易使用同一套表达。

这部分会维护两类文档:

  • CONTEXT.md:记录项目中的领域语言和概念;
  • ADR:记录重要架构决定以及当时为什么这样选。

它把“和 AI 多聊一会儿”变成了一套有产物的需求澄清过程。

从对话到规格:to-spec

当需求已经讨论清楚,可以使用 /to-spec。

这个 Skill 不会再重新采访用户,而是根据现有对话和代码库,把信息整理成一份规格文档,并发布到项目配置的 Issue Tracker。

规格中会包含:

  • 用户遇到的问题;
  • 准备提供的解决方案;
  • 完整的用户故事;
  • 实现层面的关键决定;
  • 测试边界和测试策略;
  • 明确不做的内容。

它有一个挺实用的要求:规格中尽量不写具体文件路径和代码片段,因为这些细节很容易随着实现变化而过期。规格更关注行为、模块接口和已经确认的决定。

拆成真正能交付的任务:to-tickets

很多 Agent 在拆任务时,喜欢按照技术层级来拆:

  • 先改数据库;
  • 再写后端;
  • 然后写前端;
  • 最后补测试。

/to-tickets 反对这种横向拆分,要求使用“Tracer Bullet”式的垂直切片。

每张 Ticket 都要完成一条从数据、接口到用户界面和测试的窄路径。完成以后必须能够独立演示或验证,而且工作量要适合一个全新的 Agent 上下文窗口。

它还会明确 Ticket 之间的阻塞关系。没有依赖的任务进入当前 frontier,可以立即开始;被其他任务阻塞的,则等前置任务完成以后再处理。

这样拆出来的任务,不只是给人看的计划,也是可以直接交给多个 Agent 并行领取的执行图。

真正实现时,使用 implement 和 TDD

/implement 是一个很薄的编排 Skill。

它要求 Agent 按规格或 Ticket 实现功能,在事先确认的测试接缝上调用 /tdd,持续运行类型检查和单个测试,完成后再执行完整测试套件和 /code-review,最后提交代码。

/tdd 则把红—绿循环写得非常严格:

  • 先确认要测试的公共接缝;
  • 先看到测试失败,再写最少的实现;
  • 一次只做一个垂直切片;
  • 测试外部行为,不绑定内部实现;
  • 预期结果必须来自独立事实,不能用同一套算法重新算一遍;
  • 不要一口气写完所有测试,再批量实现。

这套规则不是为了追求测试数量,而是为了给 Agent 建立足够快、足够确定的反馈循环。

遇到 Bug,先制造一个会变红的反馈循环

/diagnosing-bugs 是我觉得这套仓库里写得最扎实的 Skill 之一。

它要求 Agent 在提出原因猜测之前,先找到一条能够稳定捕获用户实际问题的命令。可以是失败测试、curl 脚本、命令行夹具、Playwright、请求重放、差分测试或者自动化二分。

只有当这个循环足够快、可重复,而且能在 Bug 出现时变红,才允许进入下一步。

后续流程是:

  1. 复现并缩小问题;
  2. 提出三到五个可以被证伪的假设;
  3. 针对假设增加调试器或定向日志;
  4. 先写回归测试,再修复;
  5. 重新执行原始复现;
  6. 删除临时日志并完成复盘。

它特意阻止 Agent 一看到报错就修改最可疑的那一行。这种“先修再说”的方式偶尔很快,但也最容易把真正原因藏起来。

Code Review 分成两个互不干扰的方向

/code-review 不把所有问题混在一张“严重程度排行榜”里,而是分成两个轴:

  • Standards:代码是否符合仓库规范和基本设计原则;
  • Spec:实现是否真正完成了原始 Issue 或规格要求。

两个审查由不同子 Agent 并行完成,避免一个方向的上下文影响另一个方向。

因为代码可能写得很漂亮,却实现错了需求;也可能功能完全正确,却破坏了代码库规范。把两类问题分开报告,比最后只给一个“总体评分”更有用。

代码库已经变成大泥球怎么办

/codebase-design 和 /improve-codebase-architecture 负责架构问题。

它们使用“深模块”“接缝”“局部性”“杠杆率”等概念,寻找那些接口和实现一样复杂、理解一个功能要来回跳十几个文件、很难从公共边界测试的浅模块。

架构扫描后,Agent 会生成一份可视化 HTML 报告。每个候选改造项都会列出涉及文件、当前问题、建议方案、收益、推荐强度,以及改造前后的结构图。

它不会直接开始大规模重构,而是先让用户选择最值得讨论的方向,再通过 grilling 继续确认模块边界和测试接缝。

这种流程比“帮我把代码重构得更优雅”要可控得多。

超大任务交给 Wayfinder

有些任务太大,一个会话根本装不下。例如系统迁移、重新设计权限模型或者规划一条长期产品路线。

/wayfinder 不急着把整个工程拆成施工任务,而是先建立一张“决策地图”。

地图中记录最终目的地、已经作出的决定、当前能够回答的问题,以及暂时还在“战争迷雾”里的内容。每次 Agent 会话只解决一个决策 Ticket,解决后再根据新信息扩展下一层 frontier。

研究类 Ticket 可以并行交给子 Agent;需要人判断的问题则保留 Human-in-the-Loop,不允许 Agent 自己提问、自己回答。

它适合那些连“应该怎样做”都还没有看清的任务,而不是普通的功能开发。

还有一组通用效率 Skills

除了工程流程,仓库还提供几个通用工具:

  • /handoff:把当前对话整理成可交接文档,让另一个 Agent 继续;
  • /teach:把目录当成长期学习空间,跨会话安排学习任务和记录进度;
  • /writing-great-skills:讲解如何编写更可靠的 Skill;
  • /grilling:为其他 Skill 提供可复用的深度追问循环;
  • /ask-matt:不知道该用哪个流程时,充当 Skill 路由器。

/writing-great-skills 里有一个观点很值得记住:

Skill 的价值,是从随机系统中榨出流程上的可预测性。

它不要求 Agent 每次生成完全相同的答案,而是希望 Agent 每次都遵守同一套可靠步骤。

如何安装

使用 Agent Skills 标准的客户端,可以执行:

npx skills@latest add mattpocock/skills

安装时选择需要的 Skill,并确保包含 /setup-matt-pocock-skills。第一次在项目中运行 setup,它会询问:

  • 使用 GitHub、Linear 还是本地文件管理 Issue;
  • Ticket 使用哪些标签;
  • 项目文档保存在哪里。

Claude Code 还可以通过插件市场安装。skills.sh 方式会把文件复制到项目中,适合自行修改;Claude Code 插件则是只读托管版本,会跟随作者更新。

Codex 和其他兼容 Agent Skills 标准的工具,目前主要使用 skills.sh 安装。原生 Codex 插件还在路线图中。

它不是一套自动驾驶开发框架

这套 Skills 很有价值,但也非常有作者个人风格。

它强调 Issue Tracker、领域语言、ADR、测试接缝、垂直切片和频繁的人机确认。如果只是写一个临时脚本,完整走一遍流程可能显得太重。某些 Skill 还依赖子 Agent、浏览器或特定 Issue Tracker 能力,不同 Coding Agent 的实际效果会有差异。

最好的使用方式不是一次性把所有 Skill 都装上,然后期待项目质量自动提高。

可以先从三个开始:

  1. /grill-with-docs:需求还模糊时使用;
  2. /diagnosing-bugs:遇到难复现的问题时使用;
  3. /code-review:功能完成后检查是否既符合规范,又符合原始需求。

适应以后,再把 /to-spec、/to-tickets、/implement 和 /wayfinder 串成完整流程。

AI 编程让写代码变得越来越快,但软件工程并没有因此消失。相反,需求理解、反馈循环、模块设计和任务拆分,可能比以前更重要。

Matt Pocock 的这套 Skills 做的,就是把这些老派但有效的方法,重新包装成 Agent 能够执行的工作习惯。

标签:

SKILL
作者

ddxw

关注我
其他文章
上一个

Whiteboard:输入一个主题,自动做成手绘信息图讲解视频

下一个

Claude Video:不只读字幕,还能结合关键画面理解视频

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Copyright 2026 — 东倒西歪玩AI. All rights reserved. Blogsy WordPress Theme