AI Skills字数 2096阅读时长6 分钟

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

分享这篇文章