Matt Pocock Skills 项目:将工程规范转化为 AI 可执行技能包
Matt Pocock Skills 项目将工程规范转化为 AI 可执行技能包WEB项目地址AI智能商品导购系统安卓APP下载地址精打细算你可能已经试过拿 Cursor、Claude Code 这类 AI 编程工具来写代码。刚开始确实快但你有没有遇到过这种情形让 AI 改一个 bug它顺手改乱了三个模块或者你说了半天需求生成的代码跟预期完全对不上又或者代码能跑但你看完以后觉得这代码根本没法维护这些问题我全经历过。不是 AI 智商不够是 AI 缺少纪律。你手写代码的时候会停下来想想再动手会先写个测试确认行为对不对而 AI 不会——你让它写它就写。Matt Pocock 也遇到了同样的问题。他的背景挺有意思TypeScript 圈子里的人应该都知道他是 Total TypeScript 创始人做过 Vercel 和 Stately.ai 的工程师每天高强度用 Claude Code 写生产代码。他发现了一个令人头皮发麻的现象——AI 写代码太快了一个礼拜就能搞出一坨屎山代码烂掉的速度比手工编码快十倍。他觉得不能再这样下去了干脆把自己 .claude 目录里那套日常用的技能包直接开源了2026 年 4 月底发出来单日涨了 2,500 多星直接冲上 GitHub Trending 第一。截至我写这篇文章的时候已经有 23,000 Star将近 2,000 个 Fork。先说清楚一件事Skill 到底是个什么东西很多人都把 Skill 当成高级提示词其实不是。如果你用过 Claude Code 或 Cursor应该知道一个机制在项目的某个特定目录下放一个 Markdown 格式的文件AI 会自动识别并把它变成可以调用的 /斜杠命令。关键区别在于提示词是你发给 AI 的一段话它回复一段内容就完了而 Skill 是一套完整的工作流定义AI 会按步骤执行每一步都有明确的行为约束和输出要求。说白了Skill 是写给 AI 的 Runbook操作手册不是一封信。Matt Pocock 开源的这套 Skills 分为四大类覆盖从需求规划到代码交付的完整链路规划与设计、开发与调试、工具与安全、写作与知识管理。每个 Skill 都是一个独立的目录里面就放一份 SKILL.md 文件外加可选的脚本、模板和参考资料。Skill 采用按需加载机制只在场景匹配的时候才会被加载进上下文不会长期霸占 token 窗口。灵魂拷问环节这套东西能给我带来什么四个字——工程纪律。Matt Pocock 把 Code Review、需求评审、TDD、架构审查这些工程师本来该做的流程变成了 Agent 必须执行的步骤。好工程师该做什么AI 被 Skill 逼着也得做。前置环境准备在动手之前先确认一下你的环境。Matt Pocock Skills 主要是为 Claude Code 设计的但也可以在 Codex、Cursor 里用。如果你还没装 Node.js 环境去 nodejs.org 下载 LTS 版本就行。安装完以后用node --version确认一下。然后全局安装 skills CLI 工具npx skillslatestaddmattpocock/skills执行之后命令行会弹出一个交互式界面问你两个问题——要安装哪些技能以及要装到哪个 coding agent 上。这里有个关键的注意点一定要把/setup-matt-pocock-skills一起选上。后面很多工程类技能都依赖它先做仓库级的配置初始化。对于 Cursor 用户安装方式稍微不同。mattpocock/skills 不走npx skillslatest add的一键安装你需要把需要的 SKILL.md 文件复制到 Cursor 的技能目录里路径是~/.cursor/skills/Mac/Linux或者%USERPROFILE%\.cursor\skills\Windows复制完之后重启 Cursor 才能生效。你可以跟 AI Agent 直接说把这个技能装到 Cursor 里让它帮你完成复制步骤。安装完成后在你的 Agent 里运行/setup-matt-pocock-skills它会有引导式配置问几个基础问题用哪个 Issue TrackerGitHub / Linear / 本地文件、打什么标签、文档存哪里。这一步看似简单但它的价值在于把仓库的工作方式固定下来——后面像to-issues、triage、diagnose这些技能都会直接吃你在这里填的约定省去反复解释的麻烦。比如说你选了 GitHub配置了项目代号和标签规则以后再跑/triage-issue时AI 就会按照你设好的标签去 GitHub 自动建 Issue 和分类。那些你必须知道的 Skill这套 Skills 库里最常用也最值得装的是下面这几个/grill-with-docs——这是 Matt 自己说的可能是本仓库最酷的技能。它的作用是在你动手之前让 AI 先对你的计划做一轮灵魂拷问。它不是走形式地问几个废话而是一个一个地提问不批量轰炸能通过探索代码库回答的问题AI 自己去查不问废话术语冲突时立刻指出“你的 CONTEXT.md 定义 ‘cancellation’ 为 X但你刚才说的是 Y——到底是哪个”当术语不够精确时主动提建议“你说 ‘account’是指 Customer 还是 User这是两个不同的概念”每确定一个术语就实时更新 CONTEXT.md这个过程同时完成了两件事统一语言和对齐需求。被这玩意拷问过之后后面的对话都会建立在精确术语之上AI 生成代码的准确率会明显上升。/tdd——测试驱动开发。这个 Skill 不光是让 AI “先写测试再写代码”它还强调一个关键的方法论垂直切片。坏的做法是批量写一堆测试然后批量实现这样测试是盲写根本不了解实现的细节。好的做法是写一个测试RED→ 立刻实现它让它通过GREEN→ 重构REFACTOR→ 再写下一个测试。一发一中的追踪弹每次实现都能从之前写的东西里学到东西。/triage-issue——自动分析 bug 根因提交带 TDD 修复计划的 GitHub Issue。/improve-codebase-architecture——基于你的 CONTEXT.md 和 ADR 文档寻找架构改进点。下班之前跑一次AI 会把你代码库里那些不该长在一起的模块揪出来。/git-guardrails-claude-code——如果你让 AI 跑大型重构这个技能必须装。AI 可能想执行git push、git reset --hard、git clean这类危险命令这个技能会在 hook 层拦截所有危险操作执行前必须经你确认。如果不想一次性装全套可以单独装某一个npx skillslatestaddmattpocock/skills/tdd npx skillslatestaddmattpocock/skills/diagnose建议先从 tdd 和 grill-with-docs 这两个最有感的技能开始慢慢加别一口气把全部流程都塞进去容易消化不良。在 Cursor 中加载并调用 SkillCursor 从 2.4 版本开始支持 Agent Skills在 Agent 对话模式下Cursor 会自动发现可用的技能你也可以通过斜杠命令手动调用一个技能。技能目录的结构很直接.cursor/ └── skills/ ├── tdd/ │ └── SKILL.md ├── grill-with-docs/ │ └── SKILL.md └── diagnose/ └── SKILL.mdSKILL.md 文件的格式是由 Anthropic 和 Claude Code 原生支持的规范最上面是 YAML frontmatter描述技能用途和触发条件后面跟着 Markdown 格式的操作指南和步骤流程。创建一个文件夹名字用小写字母里面放一个 SKILL.md 文件然后把 Matt Pocock 仓库里的内容复制进去或者自己写一套流程说明。配置好之后可以在 Cursor 的 Agent 对话框中直接输入斜杠命令/tdd或/grill-with-docs来使用这些技能。需要注意Cursor 上调用可能需要先启用特定模式比如 cmd shift j具体得看你用的 Cursor 版本。实战演练让 AI 自动执行 TDD写个简单的例子演示一下 TDD 技能是怎么跑的。假设你要在现有的 Cursor 工程里写一个用户注册的功能。与其直接跟 AI 说帮我写注册功能你可以先在对话里输入/tddAI 收到这个命令之后不会马上开始写代码。它会的执行逻辑是这样的第一步红阶段AI 先写一个失败的测试。比如它可能创建一个test_auth.py或对应的测试文件写一个test_register_new_user断言注册函数应该返回 successTrue。这时候运行测试肯定是红色的——因为那个函数还不存在。第二步绿阶段AI 只写让这个测试通过的代码。只实现register_user(email, password)最基本的功能不会多写任何东西。运行测试变绿。第三步重构AI 在这个绿灯基础上整理代码提取重复逻辑优化命名和结构。在整个过程中测试始终保持绿色。第四步下一个测试然后 AI 写第二个测试比如test_register_with_existing_email断言不能重复注册。RED → 实现 → GREEN → REFACTOR如此往复。这就是垂直切片的精髓。每次只写一个测试立刻让 AI 实现它AI 可以从之前实现过的代码中获得经验指导下一步。Matt Pocock 自己说过水平切片的坏处是批量写测试时你还不了解实现的细节测试很可能测的是自己以为的行为而不是实际会发生的行为。Skill 链式调用还能更进一步。比如说先跑/grill-with-docs把需求和术语定下来然后跑/tdd用 TDD 方式写代码写完跑/improve-codebase-architecture做架构审查最后跑/git-guardrails-claude-code确保 git 操作的安全性一套流程跑下来AI 就不会一开始就蒙头写出一堆无法维护的代码。进阶玩法把团队规范沉淀为 Skill我见过不少团队踩过这个坑用上 AI 编程工具之后每个人写的代码风格差异越来越大架构越来越乱最后 AI 生成的代码和人手写的代码混在一起谁也看不懂谁。一个很直接的解决思路是把你们的团队规范直接写进 Skill。举个例子你们团队可能要求所有 API 都遵循某种 RESTful 规范或者要求所有 React 组件都必须包含 PropTypes 定义。与其每次跟 AI 解释一遍不如把这些规范写成一份 SKILL.md放在项目根目录的.cursor/skills/team-standard/下面。这样你调 AI 干活的时候直接/team-standardAI 就按你们的规范来生成代码不需要你反复教。Matt Pocock 的 Skills 遵循小而可组合的设计哲学。每个 Skill 只做一件事做好它然后通过组合形成完整的工作流。你可以从仓库里直接取那些现成的技能来用也可以基于它们改造成适合你项目的版本。项目采用 MIT 许可证改起来没有任何限制。常见问题与排坑Cursor 上技能不生效。检查一下技能文件是不是放在~/.cursor/skills/下面全局或者项目里的.cursor/skills/项目级这两个目录 Cursor 都会扫描。还有一种可能是技能没有被自动发现可以尝试在 Agent 对话中手动输入斜杠命令触发。在 Cursor 里还有一个查看已安装技能的快捷操作具体的快捷键取决于你用的版本。安装时卡在某个步骤。执行npx skillslatest add mattpocock/skills的时候如果出现交互式选择按上下箭头选按空格勾选确认无误后回车。如果是网络问题导致的超时可以换个时间再跑一次。Skill 执行过程中卡住不动。检查一下 AI Agent 是否需要额外的工具权限——比如有些技能需要读写文件、运行终端命令、访问 GitHub API。在 Cursor 的设置里确认相关的权限开关是打开的。Skill 自动不触发必须手动斜杠才调用。这是正常行为。Skill 按需加载不是常驻全局的。如果你想把某个 Skill 设为默认行为可以考虑把它的一些核心规则写进项目根目录的CLAUDE.md或AGENTS.md里这样 AI 在处理相关任务时会自然地遵从这些约定。Skill 和常驻规则的区别在于Skill 是过程式的操作指南适合按需调用而 CLAUDE.md 里的内容是声明式的背景知识始终存在于上下文里。最后说几句看到这里你应该已经有了大概的概念——Matt Pocock Skills 这套东西并不复杂本质上是把你本来就会做的那些工程实践——需求对齐、TDD、架构审查——写成了 AI 也能照着执行的脚本。难的不是用这个技能库而是养成不让 AI 蒙头写代码的习惯。如果你团队正在用 AI 编程工具又觉得生成的代码质量不太稳定可以从/tdd这个技能开始试。一行命令装上去让 AI 先写测试再写代码很快就能看到效果。Matt Pocock 在 GitHub 上持续更新这个项目我写这篇文章的时候最新的技能数量还在增加。可以时不时拉一下更新看看他又加了哪些好用的东西。毕竟一个靠写 TypeScript 教程为生的人他脑子里觉得有用的技能大概率对你也一样有用。