Skill 实例:用 Superpowers 给编码 Agent 加一套工作流
介绍 obra/superpowers 这个面向编码 Agent 的 Skill / Plugin 项目,说明它如何把需求澄清、规格设计、实现计划和 TDD 流程变成可复用的 AI 工作流。
Skill 实例:用 Superpowers 给编码 Agent 加一套工作流
一、为什么要看 Superpowers
最近我在看 Claude Skill、Codex Skill、MCP 和 Agent 工作流时,发现一个很有意思的项目:obra/superpowers。
它不是单纯的提示词合集,也不是一个普通脚手架,而是把一套软件开发方法论包装成 Agent 可以自动调用的 Skill / Plugin。它的核心思路是:不要让编码 Agent 一上来就写代码,而是先澄清目标、整理规格、制定实现计划,再进入更可控的开发流程。
这点很值得参考。因为很多人用 Claude Code、Codex 或 Cursor 时,最大的问题不是模型不会写代码,而是模型太容易“直接开干”。需求还没说清楚,边界还没定,测试也没准备,代码就已经改了一大片。
Superpowers 试图解决的,正是这个问题。
二、它大概是什么
按照项目 README 的说法,Superpowers 是一套面向编码 Agent 的软件开发方法论,建立在一组可组合的 Skills 和初始化指令之上,用来确保 Agent 在合适的时候使用这些流程。
可理解为:它给 AI 编程助手加了一套“工程纪律”。
它支持的场景不只限于 Claude Code。公开资料显示,它也面向 Codex CLI、Codex App、Gemini CLI、OpenCode、Cursor、GitHub Copilot CLI 等编码 Agent 或开发工具提供安装方式。
也就是说,它关注的不是某一个模型,而是“Agent 写代码时应该怎么工作”。
三、Skill 在这里扮演什么角色
Anthropic 对 Agent Skills 的定义是:Skill 是一种模块化能力,可以扩展 Claude 的功能;每个 Skill 会打包说明、元数据,以及可选的脚本、模板等资源,Claude 会在相关任务中自动使用。
OpenAI 对 Skills 的说法也类似:Skill 是可复用、可分享的工作流,可以告诉 ChatGPT 或 Codex 如何更稳定地完成某类任务;它可以包含说明、示例和代码。
所以我理解的 Skill,不只是“更长的提示词”。
更准确地说,它像一个小型工作流包:
my-skill/
├── SKILL.md
├── scripts/
├── references/
└── assets/其中:
SKILL.md通常是入口文件,包含 Skill 的说明、触发条件和执行规则;scripts/可以放可执行脚本,用来处理重复、精确或程序化任务;references/可以放参考文档、规范、知识库;assets/可以放模板、示例、资源文件。
不同平台对目录细节会有差异,但大体思路一致:把“怎么做事”从单次对话里抽出来,变成可以复用、可以安装、可以组合的工作单元。
Superpowers 的价值就在这里。它不是只告诉模型“请认真写代码”,而是把“先澄清、再设计、再计划、再实现、再验证”这种流程写成 Agent 能反复遵守的结构。
四、它的工作流特点
从 README 的描述看,Superpowers 的工作流大致可以分成几步。
1. 先问清楚目标
当 Agent 发现用户要构建东西时,它不会马上动手写代码,而是先退一步,追问用户真正想做什么。
这一步看起来简单,但非常关键。
很多 AI 编程事故,都是因为需求没有定清楚。模型根据自己的猜测补全了业务逻辑,最后写出来的代码看似完整,实际上偏离了用户真正想要的东西。
2. 形成可阅读的规格
在澄清需求之后,Agent 会把规格分块展示给用户,让用户能真正读完并确认。
这比一次性生成一大段需求文档更实用。因为规格太长时,用户往往不会认真看;规格太短时,又容易遗漏边界条件。
3. 制定实现计划
用户确认设计后,Agent 会整理一份实现计划。项目 README 里强调,这份计划要足够清楚,清楚到一个缺乏上下文的初级工程师也能照着执行。
这个标准很有启发。
因为真正好的 AI 工作流,不是让模型“凭感觉完成任务”,而是让任务可以被拆解、检查、交接和复盘。
4. 强调 TDD、YAGNI 和 DRY
Superpowers 明确强调测试驱动开发(TDD)、YAGNI 和 DRY。
这几个词背后的意思是:
TDD:先写测试,再实现功能,至少要有可验证的反馈循环;YAGNI:不要提前实现暂时不需要的功能;DRY:不要重复写同一套逻辑。
这对 Agent 编程尤其重要。因为模型很擅长“补很多东西”,但未必擅长判断哪些东西现在根本不该写。
五、它对我写 Skill 的启发
我觉得 Superpowers 最值得学的地方,不是某一条具体命令,而是它对 Skill 的定位。
很多人写 Skill,容易写成:
你是一个资深工程师,请认真分析需求,写出高质量代码。这当然有用,但还不够。
更好的 Skill 应该告诉 Agent:
什么时候启动这个流程;
先收集哪些信息;
什么情况下必须暂停确认;
如何形成规格;
如何拆分任务;
如何验证结果;
哪些事情不要做。也就是说,Skill 不只是“角色设定”,而是“行动规范”。
对我的 AI 工作流来说,这一点很重要。比如我做网站文章生成、姓名学案例采集、命理文本整理、AI 资讯抓取时,其实都可以拆成类似结构:
输入约束 → 信息核验 → 结构整理 → 生成内容 → 自查规则 → 输出文件如果这些规则每次都写在 prompt 里,就会很长,也很容易漏。把它们沉淀成 Skill,才更接近可复用的生产流程。
六、Skill 和 MCP 的区别
这里也顺便区分一下 Skill 和 MCP。
MCP,即 Model Context Protocol,官方文档将它描述为一种连接 AI 应用与外部系统的开放标准。通过 MCP,Claude、ChatGPT 等 AI 应用可以连接本地文件、数据库、搜索工具、计算器或其他工作流。
简单说:
Skill 更像“怎么做事”;
MCP 更像“能连接什么工具和数据”。二者可以配合使用。
例如,一个“文章发布 Skill”可以规定文章检查、frontmatter、SEO 描述、参考来源格式;而 MCP 可以让 Agent 访问 GitHub、文件系统、数据库或搜索服务。Skill 管流程,MCP 管连接能力。
这也是我现在越来越重视 Skill 的原因:MCP 解决的是工具入口问题,Skill 解决的是工作方法问题。只有工具,没有方法,Agent 还是容易乱跑;只有方法,没有工具,Agent 又很难真正落地执行。
七、适合借鉴,不必神化
Superpowers 很适合拿来学习,但也不需要神化。
它更像一个成熟开发者把自己的工作习惯、工程判断和协作流程,打包成 Agent 可以执行的规范。对个人项目来说,它的价值在于提醒我们:AI 编程不是“让模型尽快写代码”,而是“让模型按可靠流程推进任务”。
如果只是写一个很小的脚本,也许不需要这么重的流程。但如果是长期维护的网站、自动化系统、内容生成管线、数据库项目,类似的 Skill 思路就很有价值。
我后面如果继续写自己的 Skill,会更倾向于这种方向:少写空泛口号,多写触发条件、输入输出、检查清单、目录结构、命令约束和失败处理。
这才是 Skill 真正有用的地方。
参考来源
Share