这一周我们把 agent-skills 拆开讲了一轮。今天是系列里的”周六轻文”——不深挖单条技能,把镜头拉远,对比另外两个常被一起提到的项目:Superpowers(obra/Jesse Vincent)和 Matt Pocock 的 skills。三个项目名字经常出现在同一份”AI 编码技能库”清单里,但它们解决的问题、背后的方法论、要养成的习惯完全不同。

一句话讲清三个项目

如果你只想记三句话:

  • agent-skills:把完整 SDLC 生命周期(Define → Plan → Build → Verify → Review → Ship)写成 24 个技能,配 8 个 slash 命令和多 Agent 支持,仓库里自带三层评估框架。
  • Superpowers:一套自治式长链路开发方法论,核心是 Socratic brainstorming → writing-plans → subagent-driven-development 的线性流水线,配 git worktree 隔离。
  • Matt Pocock skills:单兵 Claude Code 工具箱,30 个左右技能以”grilling 一次一问”为核心,专门治”AI 凭感觉写代码”。

三者起点不同、节奏不同、适配的工作规模也不同。下面我们慢慢拆开。

三维度对比

先放一张横向表,让你一眼看到三个项目的”形状”差异:

维度 agent-skills Superpowers Matt Pocock skills
核心机制 完整生命周期 + 阶段门控 + 评估框架 自治式方法论 + subagent 流水线 + worktree 隔离 单兵工具箱 + grilling 循环 + 强 TDD 风格
覆盖范围 24 个技能,跨 Define/Plan/Build/Verify/Review/Ship 全阶段 约 14 个技能,深耕内循环(构建/调试/评审/技能写作) 约 30 个技能,重 Define 与 Build,运维/上线轻覆盖
特色机制 Anti-Rationalization 表、Red Flags、并行 persona fan-out、三层评估(Tier 1 结构 / Tier 2 路由 / Tier 3 行为) Socratic brainstorming、writing-plans、subagent 任务评审器、writing-skills(对文档也用 TDD) grilling 一次一问 + 推荐答案、设计树游走、显式 user-invoked vs model-invoked 区分
典型调用 /spec /plan /build /test /review /ship,以及 /build auto 技能链:brainstorming → writing-plans → subagent-driven-development /grill-me /tdd /to-prd /diagnosing-bugs /grill-with-docs
适配工具 Claude Code / Cursor / Gemini CLI / Antigravity / OpenCode / Windsurf / Copilot / Codex 等 70+ Claude Code / Codex / Cursor / Copilot CLI / OpenCode / Kimi / Factory Droid 等,覆盖广 Claude Code 优先;其他工具支持但”毛边”多一些
质量门控 仓库内三层评估,CI 可跑 自带 pressure-testing 哲学,评估套件独立成仓 无 in-repo 评估
治理风格 活跃合社区 PR,每个技能附评估 大部分 solo 作者,社区 PR 积压较多 solo 作者、自我合并、公开开发
适配场景 长链路项目、团队采纳、需要全流程门控 长时间自治、推理密集、想”丢给 AI 一夜” 个人 Claude Code 日常、最强需求澄清、轻量小改

这张表不是排名,是形状对比。它们各自擅长的是不同形状的工作。

我们再看一张”典型工作流”图,把三个项目的调用节奏放在一起看:

flowchart LR
    subgraph sg_agent["agent-skills"]
        A1["/spec
先写规约"] --> A2["/plan
拆原子任务"] A2 --> A3["/build
增量切片"] A3 --> A4["/test
验证"] A4 --> A5["/review
代码评审"] A5 --> A6["/ship
上线"] end subgraph sg_super["Superpowers"] B1["brainstorming
苏格拉底式提问"] --> B2["writing-plans
写到初级工程师能执行"] B2 --> B3["subagent-driven
每个任务一个 subagent"] B3 --> B4["task-reviewer
spec 合规 + 代码质量"] B4 --> B5["branch-review
最终模型评审"] end subgraph sg_matt["Matt Pocock"] C1["/grill-me
一次一问"] --> C2["/to-prd
写成 PRD"] C2 --> C3["/tdd
seam-based TDD"] C3 --> C4["/diagnosing-bugs
分诊式调试"] end

三条路径并列摆出来,区别一目了然:agent-skills 是流水线,Superpowers 是流水线 + 任务评审器闭环,Matt Pocock 是”需求澄清 + TDD”双核心的轻武器库。

agent-skills 的独特机制

我们这一个系列都在讲 agent-skills,所以它的部分简短回顾、点到为止,重点讲另外两个项目。

Anti-Rationalization Tables(反合理化表)。每个技能文件里都有一张”Common Rationalizations”清单,左栏是 AI 想跳步时的借口,右栏是强制反驳。比如”这个需求太小,不用写 SPEC”,右栏写”越小的改动越容易漏边界,SPEC 不重,三句话就够”。它的作用不是给用户看,而是给模型看——当模型产生跳步冲动时,右栏就是当场反驳。

Red Flags(红色信号)。技能文件里明确列出”出现这些迹象就停下”的条件。这是给模型的一套自检 checklist,本质上是把”有经验的工程师鼻子一皱就知道哪里不对”这种感觉显式化。

并行 persona fan-out(多角色并行评审)/ship 阶段会并行启动几个评审角色——code-reviewer、security-auditor、test-engineer、web-performance-auditor——每个角色独立打分,最后合并成 go/no-go。这种”多视角并行”是其他两个项目目前没有的。

三层评估框架。这是 agent-skills 最近最大的差异化点:

  • Tier 1 · 结构评估:检查技能文件的格式、必备字段是否齐全。
  • Tier 2 · 路由评估:检查每个技能的 description 是否覆盖了用户实际会说的词汇,技能之间不会互相抢触发(确定性,跑在 CI 里)。
  • Tier 3 · 行为评估:拿真实执行轨迹,按技能期望打行为分。

这套评估让”技能自己有没有坏”这件事被显式测量,CI 一旦挂掉就能立刻发现哪个技能路由跑偏了。其他两个项目目前都没有同级别的 in-repo 评估。

Superpowers 的独特机制

Superpowers 由 Jesse Vincent(obra)主导,是三个项目里”方法论味”最重的。它不只是一组技能,而是一整套开发哲学。

Socratic brainstorming(苏格拉底式头脑风暴)。不是让你列需求,而是通过连续追问把需求逼出来,最后产出一份带日期的 spec。它要求”精确一次交接”——意思是 brainstorming 阶段只允许交一次棒,下游 plan 阶段必须基于这一份 spec 推下去,不允许再回去追问。这条约束很硬,逼着前端把事情想透。

writing-plans(写可执行计划)。它要求计划必须”写得让一个热情但没品味的初级工程师能照着执行”。听起来像玩笑,背后其实是要把每个判断点都显式写出来,不能依赖”工程师的常识”。这种写法对模型执行尤其友好——上下文一旦完整,模型出错的余地就小。

subagent-driven-development(subagent 流水线)。每个原子任务开一个新的 subagent 去执行,主线程负责调度。这样上下文隔离干净,单个任务的失败不会污染整个会话。

task reviewer(任务评审器)。这是 Superpowers 区别于 agent-skills 的关键。subagent 写完一个任务后,会由一个独立的 task reviewer 检查两项:spec 合规度(是不是按计划写的)+ 代码质量(重构、可读性、命名)。不通过就回到 fix loop 直到通过。最后还有一个 whole-branch review,用最强的模型对整条分支做一次终评。

git worktree 隔离。每个 subagent 在自己的 git worktree 里干活,互不干扰。合并时再回到主分支,避免”一个任务污染另一个任务的中间状态”。

writing-skills(对文档用 TDD)。这是 Superpowers 最哲学化的一条:写技能这件事本身要走 TDD。先写一个失败的测试(即”在某个场景下这个技能应当触发/不触发”),再写技能文档,最后跑测试验证。这样保证技能不是拍脑袋写的,而是被压力测试过的。

Superpowers 最近的演进方向是”降本提速”:把多个任务评审器合并成一个,让流程接近两倍速、token 减半。它的设计目标一直是”长时自治”——把一大块东西丢进去,回来拿到一份已经审过的东西。

Matt Pocock skills 的独特机制

Matt Pocock(TypeScript 布道师,Total TypeScript 作者)把自己的 Claude Code 工作流开源出来,长成了三个项目里”最像一个人”的一个——所有技能背后都是 Matt 一个工程师的判断,没有委员会妥协的痕迹。

grilling(一次一问 + 推荐答案)。这是 Matt 项目的招牌。grilling 不是简单的”多问几个问题”,而是把”探明需求”这件事做成了循环:

  • 一次只问一个问题(避免一次性把用户淹没);
  • 每个问题都附带一个推荐答案(用户改比写容易);
  • 沿着设计树的分支走(dependency 优先,被依赖的先问清楚);
  • 优先读代码而不是问用户(避免打扰);
  • 没有共同理解就不往下走。

/grill-me/grill-with-docs 都是这个原语的不同入口,一个是裸聊,一个是带着文档上下文聊。这种”一次一问 + 推荐答案”的设计是其他两个项目里没有的——agent-skills 的 interview-me 接近但没有”推荐答案”这一层,Superpowers 则更偏向 brainstorming 整体输出。

显式 user-invoked vs model-invoked 区分。Matt 的技能文件里清楚标出”用户主动召请”和”模型自动触发”两类。前者要求严谨(因为用户在场),后者要求简洁(因为吃上下文预算)。这条区分让技能文件本身就在做”上下文预算管理”。

seam-based TDD(接缝测试驱动开发)。Matt 的 TDD 技能异端而有意思:”refactoring 不属于 TDD 循环,重构属于 code review 阶段”。它强调 TDD 只做”红 → 绿”两件事,重构单独留给后续环节。这种边界划分比 agent-skills 的 TDD 技能更窄,也更纯粹。

可见的 in-progress/ 和 deprecated/ 目录。Matt 公开了技能的生命周期:哪些在写、哪些废弃、哪些稳定。这本身是一种纪律示范——让使用的人知道”这个技能目前还在演进”。其他两个项目都没有这种透明的生命周期展示。

issue-tracker 集成 + wayfinder(多会话编排)。Matt 正在往”跨会话规划”方向走,靠 issue tracker 把多个会话串起来。这跟 Superpowers 的 subagent 流水线思路不同——Matt 走的是”session 之间靠 tracker 沟通”,而不是”session 之内靠 subagent 协作”。

Matt 项目最显著的取舍是:它 Claude Code 优先,其他工具支持但有毛边;没有 in-repo 评估,回归靠肉眼。这对个人用户问题不大,对团队采纳就有顾虑。

选型建议

聊完机制,怎么选?我按”工作形状”给三条主线建议,再按”你在意的特质”加几条分支。

按工作形状选

  • 长链路项目(前端 → 后端 → 测试 → 安全 → 上线):选 agent-skills。三个项目里只有它从需求到上线每个阶段都有人工门控,不会让评审或上线前检查悄悄溜过去。
  • **大块、模糊、想”丢给 AI 一晚上”**:选 Superpowers。它的 subagent 流水线 + 任务评审器就是为长时间自治设计的。适合”我今晚丢进去,明早回来审一眼”的工作节奏。
  • 日常小改、最强需求澄清:选 Matt Pocock skills。grilling 循环是三个项目里需求澄清做得最深的,日常 TDD 风格也最干脆。

按你在意的特质选

  • 想要覆盖广(安全、性能、CI/CD、可观测性、上线):agent-skills 胜出,其他两个偏内循环。
  • 想要长时自治:Superpowers。
  • 想要小改轻流程:Matt 最轻;agent-skills 提供”小改可跳过中间环节”的中间档;Superpowers 最重。
  • 想要技能本身可验证(CI 里能跑评估):agent-skills 唯一一家做到 catalog-wide 评估入仓。
  • 想要平台铺得最广:agent-skills 和 Superpowers 都覆盖得不错;Matt 在 Claude Code 上最稳。
  • 想要人在每一步设门 vs 放手让 AI 跑:agent-skills 默认人在每步设门;Superpowers 默认尽量少打扰。

具体场景对照

  • “上线一个新 API 端点,要带鉴权、测试、安全评审”——agent-skills:从 /spec 一路跑到 /ship,安全评审和测试评审并行 fan-out。
  • “重构一个烂子系统,今晚丢进去明天审”——Superpowers:把计划喂进去,让 subagent 流水线 + 任务评审器跑一夜。
  • “需求模糊,AI 老猜错”——Matt 的 /grill-me(或 agent-skills 的 interview-me),先锁定意图再动代码。
  • “修一个明确的小 bug,要 test-first”——三个都能用,挑你手边已经装好的最轻的那个。
  • “给团队定一套标准化的 AI 编码方式”——agent-skills:阶段命令、评审 persona、共享 checklist、评估入 CI,能让五个人(和他们的 AI)收敛到同一套标准。
  • “自研技能,担心触发不准”——agent-skills(评估框架兜底),并借 Superpowers 的 pressure-testing 哲学给关键技能加压。

Solo vs 团队

单人开发,挑跟你工作习惯最贴的那一个,最轻流程往往就是用得最多的那一个。团队采纳,计算公式就变了:共享结构 + 可强制门控(命名阶段、评审 persona、checklist、入 CI 的评估)才是让五个人收敛到同一标准的杠杆。这是 agent-skills 设计上发力的方向——当然,团队完全可以在它里面借 Superpowers 的评审纪律或 Matt 的 grilling 循环。

不吹不黑:三个项目的取舍

最后这一段必须说清楚:没有”最好的”,只有”最适合你的”。

  • agent-skills 的取舍是”广覆盖换深度”——24 个技能铺到全生命周期,单个技能不如 Superpowers 那种深耕的内循环精致;同时它的”人在每步设门”对追求长时自治的人会嫌烦。
  • Superpowers 的取舍是”深内循环换广度”——子流水线设计得很扎实,但生命周期后半段(安全、性能、CI/CD、上线)几乎没有覆盖;它的”尽量不打扰”哲学对喜欢每步确认的人来说太放手了。
  • Matt Pocock skills 的取舍是”单兵锋利换可移植性”——grilling 和 TDD 是三个项目里最利落的,但其他工具上毛边多、没有 in-repo 评估,部分技能绑了个人 setup。

三者都在试图解同一个问题:怎么让 AI 写代码不又快又烂。答案不同,是因为它们相信”不烂”的关键在不同的地方:agent-skills 信流程门控,Superpowers 信前置推理,Matt 信人机对话。

借用一句我很喜欢的话做结尾:用对一个工具最好的方式,是先承认它不是为你所有场景设计的

明天是整个系列最后一天——收官篇。我们把镜头拉回一个问题:在 AI 时代,”能跑”和”可合并”之间的鸿沟到底由谁来填?


参考资料