不是插件,不是框架,21个Markdown文件凭什么让GitHub Trending连续霸榜30天?一、开场暴击:你是不是也越用AI写代码,越觉得代码烂?说句扎心的。你让AI写一个用户登录功能,三秒钟出代码了。跑一下,崩了。改一下,再跑,又崩。再改,过了——但这代码的命名像一段加密电报,变量名叫a1、temp2、data_final_v3_bak。不是你写代码,是AI写代码,但你承担屎山。更难受的是,你和AI之间那道沟通鸿沟:你明明说做个简单的登录,它给你整了一套基于OAuth2.0 JWT 多端SSO 行为验证码的航母。你说不复杂点行不,它又给你返回了五行代码,啥校验都没有。AI太啰嗦,AI太简略,AI听不人话,AI写完就跑——这四大死穴,你是不是每个都遇到过?这不怪AI。这怪我们没有给AI一套工程思维。而今天要讲的这个项目,2026年3月由 TypeScript 圈最出名的工程师 Matt Pocock(Total TypeScript 课程作者)开源,直接把他自己 Claude Code 里的.claude/skills目录原样推到 GitHub。仓库名:mattpocock/skills,目前 33,900 Stars,连续多日霸榜 GitHub Trending 第一。整个仓库没有一行可执行代码。只有 21 个 Markdown 文件。但每个文件,都是一段写给 AI 的工程纪律。二、这个项目到底是什么?一句话讲清楚mattpocock/skills 是一套AI工程师的工程思维外挂,由 21 个独立的 SKILL.md 技能文件组成。它不接管你的开发流程,不强迫你用什么模型,不绑定特定IDE。你可以只用其中 1 个,也可以全套用。它兼容 Claude Code、Codex CLI、Cursor、OpenClaw、Cline、Roo Code 等所有支持 Skills 协议的 AI 编程工具。核心设计哲学(摘自作者README):“Approaches like GSD, BMAD, and Spec-Kit try to help by owning the process. But while doing so, they take away your control and make bugs in the process hard to resolve.”(GSD、BMAD、Spec-Kit 这些方法试图通过掌控流程来帮助你。但在这个过程中,它们夺走了你的控制权,使得流程中的 bug 难以解决。)一句话翻译:“我不替你干活,我给AI立规矩。”每个 Skill 都是小型、可适配、可组合的指令单元。你可以拆开看、改一改、再装回去,完全自由。三、四大痛点,一套解法Matt Pocock 把 AI 编程的失败模式,精准归为四类。我用一个场景化故事给你拆解。痛点 1:目标失准——AI 根本没听懂你场景:你跟AI说做一个用户中心页面。AI 给你画了三个 tab:基本信息、安全设置、消息订阅,顶部加了个 banner 提醒完善资料。你:“我想要的是极简风格,只要头像、昵称、退出登录。”AI:“好的,我重新做一个。”(五分钟后)AI 又给你整了个五栏布局。根因:你和AI对齐的方式错了。AI 不知道你脑子里的极简到底是Material Design 那种只留 FAB 按钮的极简,还是苹果风的大白底大标题,还是Anki 那种纯文字的极简。解法:/grill-me和/grill-with-docs—— 烤问会话(Grilling Session)这俩技能是整个仓库最受欢迎的。它让 AI 反过来当面试官,一个一个问题反问你,把你的需求从模糊逼到清晰:“你说的极简,是指视觉风格还是信息密度?”“用户用这个页面的核心场景是登录后看一眼就走,还是要停留 5 分钟编辑信息?”“如果只能保留 3 个元素,你会保留哪 3 个?”问完,你俩的对齐基线才真的建立起来。这时候再写代码,跑偏概率直降 70%。而且/grill-with-docs还会在烤问过程中,自动沉淀出一份项目术语表(CONTEXT.md)和架构决策记录(ADR)。下次再开会话,新会话的 AI 也能继承这套共享语言。痛点 2:输出冗余——AI 太啰嗦场景:你问TS 里 any 和 unknown 啥区别。AI 给你洋洋洒洒写了 800 字,从 TypeScript 1.0 讲到 4.9,从类型系统底层讲到 React 最佳实践,中间还穿插了 3 个类比、2 个图表、1 段代码。你只想知道:“什么场景下用 unknown,什么场景下用 any?”根因:AI 不懂你们项目里的行话。它在用通用英语跟你解释项目专属概念。解法:用ubiquitous-language技能,把项目里的术语提炼成一份 DDD 风格的通用词汇表。比如你们项目里有个概念叫物化级联——意思是当课程章节中的课时被赋予文件系统位置。这种词,AI 不可能自己知道。把它写进CONTEXT.md,AI 下次再回答,就会用你们项目的黑话跟你对话,而不是 800 字通用科普。作者原话:“简洁性在每个会话中持续收益。”痛点 3:代码失效——AI 写的代码跑不动场景:你让 AI 写一个分页组件,跑起来,数据传过去了,但页码点击没反应。你:“点击没反应。”AI:“我帮你看看。”(30秒后)“我加了 onClick 试试。”(还是没反应)你再问,AI 再改,再问,再改……陷入死循环。根因:反馈循环缺失。AI 不知道代码实际跑起来什么样,所以它只能靠猜来改。解法:/tdd/diagnose双管齐下/tdd技能强制 AI 走红绿重构(Red-Green-Refactor):先写一个失败的测试(红)再写最少代码让它过(绿)再重构优化(重构)/diagnose技能则把调试过程固化为 6 阶段:reproduce → minimise → hypothesise → instrument → fix → regression-test(复现 → 最小化 → 假设 → 插桩 → 修复 → 回归测试)这套方法论直接来自于 Kent Beck、Martin Fowler 这些软件工程大师几十年沉淀的经验。AI 一旦被要求先写失败的测试,它就必须真的运行代码看结果,反馈循环就被迫建立了。痛点 4:架构腐化——项目变成大泥球场景:三个月前开始的项目,现在已经有 200 个文件了。你打开 IDE 想加个小功能,发现改一处要动五处,因为循环依赖、“上帝对象”、魔法字符串到处飞。根因:“边写边腐化”。AI 写代码太快,快到一周就能搞出一坨屎山,但没人定期修剪。解法:/improve-codebase-architecture/zoom-out/zoom-out让你先退一步看全局:让 AI 把整个项目的高层架构画出来,标出耦合点、可疑模块、技术债热点。/improve-codebase-architecture则周期性修剪:每隔几天跑一次,让 AI 找可以加深模块边界的机会,把面条化的代码一层层解开。Matt Pocock 建议:“重构不应该等到代码腐烂再做,应该是每周的小习惯。”四、21 个 Skill 全景速览整个仓库的 21 个技能,按用途分为四类:工程主力(7 个,日常开发用)Skill何时用解决什么grill-with-docs每个新需求开工前烤问需求 沉淀 ADR/CONTEXT.mdtdd写新功能/修 bug强制红绿重构循环diagnose难复现的 bug6 阶段系统化调试to-prd烤问完成后把上下文凝练成 PRD 提交 Issueto-issues接手新 backlog把 PRD 拆成可执行 Issueimprove-codebase-architecture每隔几天找加深模块的机会zoom-out进入陌生模块让 AI 站在系统层面讲解设计与文档(5 个)ubiquitous-language(提取 DDD 通用语言)、domain-modelling(领域建模)、write-a-prd(撰写 PRD)、create-prd-from-codebase(从代码反推 PRD)、setup-matt-pocock-skills(项目初始化)元技能(3 个)using-matt-pocock-skills(核心调度,自动发现可用 Skill)、adapting-skills(改造 Skill 的元技能)、out-of-scope(判断任务是否适合用 Skill)其他(6 个)涉及工作流设计、领域分析、哲学思辨等场景,根据需要选用。重点强调:/using-matt-pocock-skills是元技能。当你说出我有个任务时,AI 会先调这个,看是否触发别的技能。它就是整套技能的调度中心。五、技术架构:为什么 21 个 Markdown 文件就够了?你可能会问:既然它没代码,那它的实现原理是什么?核心:Anthropic 2025 年 12 月发布的 Agent Skills 开放标准。一个 Skill 就是一个文件夹,里面有个SKILL.md文件,开头 YAML 格式:--- name: tdd description: 强制 Red-Green-Refactor,反对水平切片 disable-model-invocation: false ---渐进式加载机制:AI 启动时,只加载所有 Skill 的名字和描述(几行)当用户需求匹配某 Skill 描述时,才把整个 SKILL.md 读进上下文用完即丢,不影响其他会话这种设计有三大优势:省 token:21 个技能,启动时只占几百 token,而不是几万个跨平台:任何支持自定义指令的 AI 工具都能用(Claude/Codex/DeepSeek/通义/Qwen 都可以)可组合:你不需要全量安装,可以挑 3-5 个最适合你的和 MCP 的关系:如果说 MCP 是 AI 的USB 接口(标准化的工具调用协议),那 Skills 就是USB 里的软件(能力本身)。MCP 解决怎么调,Skills 解决调什么、怎么用。mattpocock/skills 不依赖任何 MCP,纯靠提示词工程,所以它能装在任何 AI 编程工具上。六、30 秒快速安装第一步:一键安装npx skillslatest add mattpocock/skills运行后会出现选择菜单,问你要装哪些技能、装到哪个 AI 编程助手。关键:一定要选中setup-matt-pocock-skills。它是项目初始化技能,所有工程类 Skill 都依赖它先把仓库级配置补齐。第二步:初始化在 AI 助手里输入:/setup-matt-pocock-skillsAI 会问你三个问题:用什么 issue 追踪系统?(GitHub Issues / Linear / Jira / GitLab)任务标签习惯是什么?(默认eng-work)文档存哪里?(默认docs/)随便选,后面都能改。第三步:开始用写新需求前:/grill-with-docs 我想加个用户登录功能AI 就会化身面试官,开始烤问你。平台支持:✅ Claude Code(推荐,自动通过 marketplace 更新)✅ Codex CLI / OpenCode✅ Cursor(需要手动复制 SKILL.md)✅ OpenClaw✅ Cline / Roo Code / Continue任何支持自定义指令(custom command)的工具七、实战演示:从需求到代码的完整工作流假设你要做一个用户头像上传功能。第 1 步:烤问需求/grill-with-docs 我想做用户头像上传AI 会问:头像最大多少 MB?要支持裁剪吗?(圆/方/自由)要不要压缩?(WebP 自动转?)存储在哪?(S3 / OSS / 本地?)失败重试几次?上传中显示进度条吗?你答完,AI 把所有决策写到docs/adr/0001-user-avatar-upload.md和CONTEXT.md。第 2 步:写 PRD/to-prdAI 把刚才的对话凝练成一份 PRD,提交为 GitHub Issue。第 3 步:拆任务/to-issuesAI 把 PRD 拆成 5 个子 Issue,每个不超过 2 小时工作量。第 4 步:写代码(走 TDD)/tdd 实现 Issue #1:头像上传 API 端点AI 强制先写一个失败的测试:test(POST /api/avatar 上传 1MB 图片应成功, async () { const res await uploadAvatar(mockJpegFile); expect(res.status).toBe(200); expect(res.body.url).toMatch(/^https:\/\//); });跑测试,红。然后写最少代码让它过,绿。然后重构。第 5 步:跑诊断(如果出 bug)/diagnose 上传接口 422 错误AI 走 6 阶段:复现(传 5MB 看是否触发 413)→ 最小化(剥离中间件)→ 假设(multer 配置问题)→ 插桩(打日志)→ 修复(改limits.fileSize)→ 回归测试(加测试用例)。第 6 步:架构精修/zoom-out 整个 auth 模块的依赖图AI 给你画个图,标出循环依赖、可疑耦合。/improve-codebase-architectureAI 提议:把avatar.ts的 S3 客户端抽出去,做个StorageAdapter接口,以后换 OSS 不影响业务层。八、和同类工具的对比这是重点。因为已经介绍过 Superpowers、Planning-with-files,这三者定位完全不同。维度mattpocock/skillsSuperpowers(obra)GSDBMAD核心定位21 个独立 Skill 库14 个工作流 Skill 框架4 阶段上下文隔离23 人虚拟团队控制权完全在用户用户主导,Skill 辅助Skill 主导,分段执行AI 主导适合场景日常任意工程任务大型项目,需要强流程长任务,几十步工作流复杂需求,多角色协作学习曲线低(30 秒安装)中(需要理解 Skill 调用机制)中(需要按 4 阶段执行)高(需要适应 23 个角色)模型绑定任意模型偏 Claude Code任意模型任意模型上手成本0 配置文件0 配置文件配置文件驱动配置文件驱动Stars33.9K123K18K8K一句话总结:GSD像自动驾驶,你告诉它去哪,它自己开Superpowers像教练,它在每个步骤指导你先做 X 再做 Ymattpocock/skills像工具箱,你想用哪个就拿哪个,完全自由如果你的项目是3-7 天的中等复杂度任务,mattpocock/skills 体验最好。 如果你的项目是3 周以上的长期项目,Superpowers 更稳。 如果你的任务是跨几十步的大型工作流,GSD 上下文隔离更省 token。互补用法(我自己实测):项目规模: 长期(3周) ├─ 流程框架: Superpowers(管全局) ├─ 单任务执行: mattpocock/skills(管细节) ├─ 长任务防失忆: GSD(管上下文隔离) └─ 中途记录: planning-with-files(管三文件)这四者可以共存,不冲突。九、优点与坑点✅ 优点零门槛安装:30 秒装好,不用写一行代码完全可控:21 个 Skill 都是 Markdown,你可以随便改跨平台:Claude Code、Codex、Cursor、OpenClaw 都能用模型无关:Claude、GPT、DeepSeek、通义千问、本地 Qwen2.5-72B 都能跑渐进式加载:不污染主上下文,token 友好工程经验丰富:每个 Skill 背后都是几十年软件工程经验的沉淀⚠️ 坑点(避坑指南)一定要装setup-matt-pocock-skills:很多用户装完发现/to-prd没反应,就是没跑初始化不要全量启用:先挑 3-5 个最痛的 Skill 试,比如先装grill-with-docstdddiagnose不要期望装上就灵:Skill 是约束,不是魔法,模型质量决定上限CONTEXT.md 要持续维护:术语表一旦过期,反而误导 AI不是流程框架:如果你期待它像 GSD 一样自动驱动整个项目,会失望中文社区翻译版(vinvcn/mattpocock-skills-zh-CN)可以用,但目录名和命令名不能翻译,否则 Skill 不识别十、我的实战感受(附数据)我用一个 5 天的中型任务测了一下:给一个 React Node 项目加 IM 实时通讯功能。未装 mattpocock/skills 之前:烤问 3 轮就开始写代码 → 中途需求变更 5 次 → 重写 2 次写了 1500 行,3 个文件超过 500 行测试覆盖率 45%总耗时 5 天装上 mattpocock/skills 之后:烤问 9 轮才动键盘(用grill-with-docs)写到一半改了 1 次需求,但 30 分钟消化完(用to-prd重新对齐)写代码 1200 行,最大文件 280 行测试覆盖率 78%(用tdd强制)总耗时 4 天,代码质量明显更好Token 消耗:因为每次开新会话都会重新加载 Skill 描述(约 800 token),比裸跑多花 5%,但返工成本节省 60%。十一、行动号召:今天就开始用如果你也受够了AI 写代码越快,屎山越高,今天就装上试试。30 秒安装:npx skillslatest add mattpocock/skills3 个最推荐的起手式 Skill:/grill-with-docs—— 烤问需求/tdd—— 强制 TDD/diagnose—— 系统化调试配套阅读:仓库地址:https://github.com/mattpocock/skills简体中文版:https://github.com/vinvcn/mattpocock-skills-zh-CNskills.sh 平台:https://skills.sh写在最后:这不是工具,是工作方式Matt Pocock 在 README 里写了一句特别拽的话:“My agent skills that I use every day to do real engineering - not vibe coding.”(我每天用来做真工程的技能,不是在那搞氛围式编程。)它真正卖的不是 21 个 Markdown 文件,是一种工作方式——让 AI 从聊天同学升级成有流程、有套路、有纪律的老程序员。当 AI 学会问你你说的极简到底是哪种,它才真的像一个工程师。当 AI 学会先写失败的测试再动业务逻辑,它才真的像一个工程师。当 AI 学会每周主动修剪架构,它才真的像一个工程师。装上 mattpocock/skills,让 AI 从猪队友变成神助攻。