惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
T
Threatpost
Scott Helme
Scott Helme
I
Intezer
Cloudbric
Cloudbric
Help Net Security
Help Net Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
罗磊的独立博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
GbyAI
GbyAI
月光博客
月光博客
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
A
Arctic Wolf
Y
Y Combinator Blog
S
SegmentFault 最新的问题
F
Full Disclosure
T
Tenable Blog
C
Cybersecurity and Infrastructure Security Agency CISA
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
L
LangChain Blog
S
Secure Thoughts
Recorded Future
Recorded Future
C
Check Point Blog
Schneier on Security
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
K
Kaspersky official blog
The Register - Security
The Register - Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
Cyberwarzone
Cyberwarzone
P
Palo Alto Networks Blog
Hacker News: Ask HN
Hacker News: Ask HN
The GitHub Blog
The GitHub Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
博客园 - 叶小钗

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
我把 Matt Pocock 的 18 个 Skill 全用了一遍,才发现自己一直在瞎用 AI
码哥字节 · 2026-06-08 · via 博客园_首页

015-matt-pocock-claude-skills-cover

用 Claude Code 写了几个月代码之后,我开始怀疑自己一直在用错误的方式用它。

不是因为出了什么大问题,而是一种隐约的不对劲:agent 跑出来的代码,往往在细节上偏离我的意图;我以为它理解了需求,等看到结果才发现各说各的。于是我开始花大量时间在后期纠偏上,而不是把精力放在真正有价值的事情上。

就在这个时候,Matt Pocock 把自己的 .claude 目录推上了 GitHub。

Matt Pocock 是谁,他为什么会做这件事

如果你在 TypeScript 圈混过,大概率知道他。Total TypeScript 的作者,YouTube 频道超过 10 万订阅,被社区称为"TypeScript 布道者"。他不是那种喜欢蹭热点写博客的人——在这个仓库之前,你几乎找不到他专门写 AI 工具使用技巧的内容。

2026 年 4 月 28 日,他把一个仓库推上了 GitHub,标题只有一句话:

"Skills for Real Engineers. Straight from my .claude directory."

没有博客,没有 YouTube 视频,没有 Hacker News 帖子。就这么推了出去。

24 小时后,22000 星。第六天持续登上 GitHub Trending 全球第二。截止目前,85800+ 星,7400+ 个 fork。这是一个在 AI 工具圈很少见的数字——因为大多数"prompt 技巧仓库"的生命周期通常以周为单位,而这个还在持续增长。

这种有机生长的背后,说明社区踩到了同一个痛点。

他说的"不是 vibe coding"到底是什么意思

Vibe coding 这个词现在有点被滥用了,但 Matt 想说的很具体:让 AI 自由发挥,你只是在验收结果——这不是工程,是赌博

他的仓库 README 里列了四类常见失败模式,我觉得说得相当准:

失败模式一:意图对齐失败。 你心里有一个设计,agent 心里有另一个设计,双方都以为在说同一件事。等代码跑出来才发现南辕北辙。这不是 Claude 的问题,是你没有在开始编码之前把需求逼得足够清晰。

失败模式二:缺乏领域语言,反复解释同一件事。 每次新开一个对话窗口,你都要重新解释"我们的项目里 X 是什么意思"。积少成多,token 浪费是小事,命名不一致才要命。

失败模式三:没有反馈回路,靠直觉走。 没有测试驱动,agent 写代码的方向就像蒙眼走路。它以为过了,你以为过了,上线了才知道没过。

失败模式四:架构腐化是个缓慢的过程,人感受不到。 AI 加速了代码生成,也加速了技术债积累。没有定期的架构审视机制,六个月后回来看自己的仓库会不认识。

这四个失败模式不是 AI 时代的新问题,它们本质上是软件工程里从来没解决好的老问题,只是 AI 让它们的代价来得更快了。

Matt 的 Skill 仓库,就是他用来把这四个问题系统性地塞进日常工作流的方式。

仓库里有什么:18 个 Skill 的全貌

仓库里的 Skill 分三类,我按实用程度排一下:

工程类(10 个):核心中的核心

Skill 一句话说清楚它干嘛
/tdd 强制红绿重构循环,一次只写一个测试
/diagnose 六阶段调试法,从复现到事后复盘
/grill-with-docs 拷问你的设计,同时更新 CONTEXT.md 和 ADR
/grill-me 穷举决策树,开始编码前逼你想清楚
/to-prd 把对话上下文转成带 User Story 的 PRD
/to-issues 把 PRD 拆成可独立执行的竖切 GitHub Issue
/triage 状态机驱动的 Issue 分类
/improve-codebase-architecture 定期识别模块边界腐化,提炼共享语言
/zoom-out 让 agent 在陌生代码里先建立系统级理解
/prototype 快速脏原型,终端应用或 UI 变体

效率类(4 个):省 token + 省脑力

Skill 一句话说清楚它干嘛
/caveman 极度压缩通信,token 减少约 75%
/grill-me 同上,设计审查专用入口
/handoff agent 换窗口时生成紧凑的上下文摘要
/write-a-skill 写新 Skill 的 Skill,元层

杂项(4 个)

git-guardrails(拦截危险 git 操作)、migrate-to-shoehorn(类型断言迁移)、scaffold-exercises(练习脚手架)、setup-pre-commit(Husky + lint-staged 初始化)。

装这整套的命令:

npx skills@latest add mattpocock/skills

然后在项目里跑一次 /setup-matt-pocock-skills,它会问你用 GitHub Issues 还是 Linear,问你文档放哪儿,问你想激活哪几个 Skill——配置完之后你就有了一套相对完整的工程脚手架。

Matt Pocock Skills 四类失败模式与 Skill 映射架构图
图:四类 AI 编程失败模式与对应 Skill 的映射关系

值得反复用的 Skill:拆开来看看

我把其中几个用了一段时间,说说真实感受。

/grill-me:编码前最重要的一步

这是整套里我用得最多的一个。本质上很简单:你把计划告诉 agent,它开始穷举追问你,直到双方对需求达成精确共识。

第一次用的时候,agent 连续问了我 38 个问题。

你可能觉得这听起来很烦,但我第一次真正意识到:那 38 个问题里,有将近一半是我从来没有认真想过的边界情况。错误处理怎么设计、第三方集成失败的回退逻辑、用户数据隔离的粒度——这些我都以为自己"大概想清楚了",实际上完全没有。

/grill-me 把这个"幻觉确认"的过程强制外显。你不得不把模糊的想法变成能被质疑的具体描述。

一个实用的使用姿势:不要在「我想做什么」阶段用它,要在「我已经有了第一版方案」之后再用。带着具体的设计去让它质疑,比带着模糊想法去让它帮你发散效率高得多。

/tdd:一次只前进一步

TDD 这件事大家都知道,但用 AI 做 TDD 和传统 TDD 有个不小的差异:agent 天然倾向于一次性写完所有测试,然后再一次性实现,然后你发现测试验证的是想象中的行为,而不是实际需求。

/tdd 的核心约束只有一条:一次只写一个测试,写完了才能动实现代码

Skill 里还有几个具体规则我觉得很有价值:

  • 测试只通过公共接口验证行为,不验证内部实现细节
  • 重构只发生在所有测试绿了之后,绝对不在红灯状态下重构
  • 代码只写刚好让当前测试过的最少量——不多写一行

这三条规则约束的不只是 Claude,同样在约束你自己。你被迫慢下来,一次处理一件事,而不是用"差不多应该行"的感觉把一大段代码推进去。

/diagnose:你永远不会再靠直觉排查 Bug

这个 Skill 解决的是一个很具体的问题:我们的 Bug 排查往往是跳跃的,"先试试 A,不行再试试 B",既没有可复现的信号,也没有系统化的假设。

/diagnose 强制走六个阶段:

  1. 建立反馈回路:先构造一个快速、确定性的 pass/fail 信号(自动化测试 / HTTP 脚本 / CLI 命令),没有这个信号就不开始排查
  2. 复现:确认失败表现和用户描述一致
  3. 形成假设:列出 3-5 个可证伪的假设,每个假设预测一个具体现象
  4. 工具化:为每个假设打上有唯一 tag 的日志([DEBUG-a4f2] 这种),方便后期清理
  5. 修复 + 回归测试:在正确的架构层写测试,先看它红,修复后看它绿
  6. 清理 + 事后复盘:删掉调试日志,记录哪个架构改动能预防类似问题

这套流程和 Google SRE 的事后分析文化很接近,但压缩成了一个可以随时触发的 Skill。真正按这个流程走一遍之后,你会发现自己之前大量时间浪费在了没有信号的蒙眼猜测上。

/to-issues:竖切而不是横切

这个 Skill 帮你把 PRD 拆解成 GitHub Issue,但它有一个核心观点:一定要竖切,不要横切

横切是这样的:先建一个"设计数据库 Schema"的 Issue,再建"写 API",再建"做前端"——每个 Issue 只覆盖一个技术层,依赖关系是串行的,任何一层卡住全盘停。

竖切是另一种逻辑:一个 Issue 应该穿透所有层(Schema + API + 前端 + 测试),完成后是一个端到端可验证的功能切片——薄,但完整。

/to-issues 还会把每个 Issue 打上标签:

  • HITL(Human In the Loop):需要人来做决定,agent 不能独立完成
  • AFK(Away From Keyboard):可以完全交给 agent 跑,人去喝杯咖啡

这个分类很有意思,它迫使你在规划阶段就想清楚哪些决策不能外包给 AI。

一个工程师的真正收获:是思维框架而不是快捷键

用了一段时间之后,我的感受是:Matt 的 Skill 仓库最有价值的不是那 18 个 /命令,而是它背后的设计哲学。

每个 Skill 的背后都有一个工程原则:

  • /grill-me 来自传统的需求澄清会议,只是把它外包给了 AI
  • /tdd 来自 Kent Beck 的极限编程,只是把约束显式化
  • /diagnose 来自科学方法论,只是适配了软件调试场景
  • /to-issues 来自 John Ousterhout 的"Deep Module"理论,以及敏捷开发的竖切原则

这些都不是新东西。新的是把它们打包成 Skill,让 AI 在每次执行时自动执行这些约束——哪怕你累了、哪怕你在赶 deadline。

还有一件事我觉得被忽视了:CONTEXT.md 这个概念。

每个项目维护一个领域词汇表,把项目里那些"说起来要解释半天"的概念定义清楚。Matt 举的例子是:与其每次说"把一个课程分配到文件系统里的实际位置",不如定义一个词叫 materialization cascade,之后 agent 和人说话都用这个词。

这个思路直接来自 DDD 里的"统一语言"(Ubiquitous Language)。在 AI 协作场景里,它有额外的价值:减少 token 消耗,同时让命名在整个项目里保持一致。

这套方法的局限在哪里

说公道话:这套 Skill 的适用场景是有边界的。

它最适合已经有工程化基础的项目。 如果你在做原型验证,需求每三天变一次,强行套 PRD → Issues → TDD 流程只会让你痛苦。Vibe coding 在这个阶段不是坏事,是合理选择。

它假设你用 GitHub 作为 Issue Tracker。 triage、to-issues 这些 Skill 深度绑定 GitHub Issues 的工作流,用 Linear 或 Jira 的团队需要自己改造。

/grill-me 的成本比你想象的高。 38 个问题不是个玩笑。如果你在一个节奏很快的团队里,每个功能开始前都要做这个流程,会遭到抵触。更实际的做法是:只对高风险、高耦合的功能模块使用,小改动跳过。

Skill 本身不等于能力。 装了 /tdd 不会让你自动变成 TDD 高手。如果你对测试驱动开发没有基本的理解,Skill 只是给你一个形式,填不进去真正的内容。这和学设计模式是一样的道理。

常见问题

Q:这些 Skill 只能用 Claude Code 吗?

不。Skill 文件是标准 Markdown,遵循 Anthropic 的 SKILL.md 规范。Cursor、OpenCode 等支持 SKILL.md 的工具都能用。Matt 自己说,这个规范的好处就是没有厂商锁定。

Q:我需要把这 18 个 Skill 全装上吗?

不需要。你可以单独装某一个:

npx skills@latest add mattpocock/skills/tdd
npx skills@latest add mattpocock/skills/diagnose

建议先装 /grill-me/tdd,用一两周,感受一下工作流的变化。有需要了再加其他的。

Q:/caveman 是什么原理,真的能省 75% 的 token 吗?

它通过极度压缩语言、去掉礼貌用语和冗余修饰词,强制 agent 和你用最短的方式传递信息。理论上是有效的,但 75% 这个数字是 Skill 文件里描述的理想情况,实际效果取决于你原来对话的冗余程度。对于已经很精简的对话,提升有限。

Q:CONTEXT.md 要怎么开始写?

最简单的起点:在项目里创建一个 CONTEXT.md,把你在对话里解释过不止一次的概念写进去。然后用 /grill-with-docs 让 Claude 帮你识别哪些表述不一致、哪些词需要进入词汇表。积累下来,这个文件会成为项目最有价值的文档之一。

Q:这和 Anthropic 官方的 Skill 仓库有什么区别?

Matt 的仓库是他个人的工程工作流,偏向 TypeScript 项目和 GitHub Issues 场景,有强烈的个人风格。Anthropic 官方的 Skill 目录覆盖更广,但相对通用,缺少这种"真实使用后提炼出来"的质感。两者可以同时用,不冲突。

说到底,mattpocock/skills 代表的不是"某个人的 prompt 技巧合集",而是一个更根本的判断:AI 编程的瓶颈从来不在模型能力上,而在你是否愿意给它一个结构良好的工程容器。这个容器越清晰,AI 能做的事情就越可预期,你需要花在纠偏上的时间就越少。

beeaa00ee37c5db0e2fb2c5c5efe4f29