Matt Pocock开源了自己的.claude目录21个Skill,专治Agent 想当然 - 今日头条.md6.9 KBit/ai/Matt Pocock开源了自己的.claude目录21个Skill,专治Agent 想当然 - 今日头条.md
--- title: "Matt Pocock开源了自己的.claude目录21个Skill,专治Agent\"想当然\" - 今日头条" source_url: "https://www.toutiao.com/article/7660490279241187882/?log_from=7dd1fbcfa034a8_1783671165982&wid=1783671194641" source_site: "www.toutiao.com" clipped_at: "2026-07-10T08:13:22.713339+00:00" clipper: "aiwiki-url-ingest" extractor: "toutiao_rendered" source_strategy: "normal_web_clip" source_strategy_label: "普通网页抓取" --- # Matt Pocock开源了自己的.claude目录21个Skill,专治Agent"想当然" - 今日头条 这个仓库现在星标超过15万、fork超过1\.3万——对一堆说明书性质的Markdown文件来说,这个数字很反常。因为它根本不是一堆孤立的Prompt,而是一整套工程方法论。 Matt Pocock写过Total TypeScript,当过Vercel的开发者布道师,也在Stately做过XState核心团队,现在专职教开发者做AI工程。他把自己每天真在用的.claude目录整个开源了,取名"Skills for Real Engineers"。21个Skill,不是21条"帮我写个函数"的咒语,而是一整套从"有个模糊的想法"走到"代码合并进主干"的工程纪律。 # 它在治的四个病,你大概都中过 Matt Pocock自己把要解决的问题归纳成四条,每条都对应现实里被Agent坑过的场景: Agent自作主张。你以为它懂你要什么,做出来的东西却是另一回事——这是最常见的失配。 Agent话太多。项目里的黑话它每次都要重新猜一遍,于是宁愿啰嗦也不愿精确。 代码跑不起来。没有测试反馈,Agent写代码基本是盲人摸象。 代码库变成一坨泥。Agent写代码越快,项目腐化也越快,几周就成了谁都不敢动的烂摊子。 四个病对应四类药方:先审清楚要什么,建一份项目内部的共同语言,用红绿重构的测试循环保证跑得动,再定期做一次架构体检防止腐化。21个Skill,说到底就是把这四件事拆成了可以重复执行的动作。 这条"共同语言"的药方,repo里给了一个真实例子:他自己项目里原本要说"某节课在某个章节里被落到文件系统上生成实体文件时会出问题",统一黑话之后,这句话直接缩成"物化级联出问题了"——短了不止一半,团队和Agent从此说的是同一个词,不用来回翻译。 # 一条主线,从"有个想法"走到"代码合并" 这套系统的核心是一条主线,官方叫它"idea → ship": 先用 /grill\-with\-docs 把想法过一遍——它像审问一样一条条问你决定,能从代码库里查到的事实自己查,查不到的才问你,直到双方对齐才罢休。 中间有个问题靠聊聊不出答案,比如某个交互到底顺不顺手,就分岔去跑 /prototype——扔一段一次性代码把答案跑出来,验完就扔。 想清楚了,/to\-spec 把对话整理成一份规格文档,/to\-tickets 再把它切成一张张彼此声明"卡点关系"的工单,本地文件或者接入Linear、GitHub Issues都行。 每张工单交给 /implement,它内部驱动 /tdd,一路红灯变绿灯写出功能,最后自动跑一次 /code\-review 才收工——这一步是两条线并行审,一条查代码坏味道(内置了命名混乱、重复代码等12条经典问题),一条查有没有跑题,互不干扰。 主线走完,一个功能从模糊的念头到能合并的代码,中间没有一步是"祈祷Agent自己看着办"。 # 主线之外,还有三个入口 别人扔过来的bug和需求,走 /triage,把粗糙的原始反馈处理成Agent能直接接的工单。 莫名其妙的疑难bug,走 /diagnosing\-bugs——它拒绝瞎猜,必须先找到一个能稳定复现问题的命令,再动手修。 最有意思的是 /wayfinder,专门应对"雾很大"的大工程,大到一次对话装不下。它把整个规划过程比作在迷雾里认路:先把已知和未知分两栏挂在工单系统上,一次次解决雾里的问题,直到看清去往目的地的路,期间只产出决定,不产出代码。 这个名字本身有个小插曲。更新日志写得很直白:这个Skill原来叫"decision\-mapping",后来发现这名字"jargon化又不准确",干脆重新想了一遍隐喻,才改成现在的wayfinder。一个被十几万人在用的开源项目,愿意把自己改名的心路过程写进公开的更新日志——这种自曝其短的坦诚,比任何"千锤百炼"的自我介绍都有说服力。 # 真正的巧思,是分了"谁能喊"和"谁自己会来" 21个Skill不是铺开就完了。repo把它们分成两类:用户唤起——只有你手动打出/grill\-me这种指令它才会跑,负责统筹全局;模型唤起——Agent自己判断场景合适就主动去找,负责具体的纪律动作,比如tdd、code\-review。规则很简单:统筹型可以调用纪律型,但两个统筹型之间不能互相调用。这条分层规则,解释了为什么这套系统用起来不像要背下21条命令——大部分时候你只需要记住几个入口,剩下的Agent自己知道什么时候该伸手去拿哪把工具。 # 文档里一条很值钱的提醒 写Skill这件事本身,repo也留了一份专门的说明书,里面一条建议值得单独讲给所有写Prompt的人听:别用"不要做什么"去约束模型。心理学上有个说法,你让人"别想大象",大象反而在脑子里更清晰了。对模型也一样,一句"不要啰嗦"其实是把"啰嗦"这个词摆到了模型眼前。更好的办法是直接说你要的样子:"每句话只讲一件事",而不是反复强调不要塞进三个从句。这条建议不是什么惊天秘密,但能把它从自己的失败经验里提炼成一条可复用的规则,这才是这套系统真正想传递的东西——工程纪律,不是玄学。 # 想用,三步 命令行敲 npx skills@latest add mattpocock/skills,勾选想要的Skill和要装的Agent,Claude Code、Codex都支持,记得一定勾上 /setup\-matt\-pocock\-skills。装完在Agent里跑一次 /setup\-matt\-pocock\-skills,它会问你用哪个issue tracker、triage时打什么标签、文档存哪——问完这三件事,剩下20个Skill才真正对上你的项目。 一个人的.claude目录,能被十几万个开发者原样搬进自己的项目,这背后不是运气,是四个问题都想得足够具体,连自己走过的弯路都愿意留在更新日志里给人看。这大概才是"开源"这个词,现在还值钱的原因。 **GitHub地址** :https://github.com/mattpocock/skills