← 返回文章

OpenSpec 与 Superpowers

OpenSpec 负责规格的沉淀与归档(做什么、为什么做),Superpowers 负责 AI 编码的执行纪律(TDD、调试、review、验证);两者互补,在 Claude Code 中组合使用时需在 `CLAUDE.md` 里划清职责,避免一个需求产生两份文档。

·9 分钟阅读

title: "OpenSpec 与 Superpowers:Claude Code 里的两套 AI 开发工作流,怎么选、怎么用" date: 2026-10-13 tags: [Claude Code, OpenSpec, Superpowers, Spec-Driven Development, AI Coding] description: 一篇讲清 OpenSpec 与 Superpowers 的定位差异、适用场景、在 Claude Code 中的安装与使用,以及组合使用和常见踩坑。

OpenSpec 与 Superpowers:Claude Code 里的两套 AI 开发工作流,怎么选、怎么用

用 AI 写代码,最常见的两类问题是:​需求没对齐就开始写​,以及​写的过程中不讲纪律​(跳过测试、不查根因、说"完成了"却没验证)。

OpenSpec 和 Superpowers 就是分别针对这两类问题的工具。社区里经常把它们放在一起比较,但它们其实是互补关系,不是二选一。本文整理了它们的定位、适用场景,以及在 Claude Code 里的具体用法和踩坑记录。

本文基于 2026 年 10 月的资料整理,命令名和默认行为在不同版本之间可能有调整,请以官方文档为准。

一、先搞清楚:它们分别管什么

一句话概括:

  • OpenSpec 管"​产物层​":要做什么、为什么做,以及规格(spec)怎么沉淀、变更、归档。它是文档优先的。
  • Superpowers 管"​行为层​":AI 在讨论、规划、编码时按什么纪律做事。它是对话优先的。
对比项 OpenSpec Superpowers
解决的问题 需求和规格不清、变更无记录 AI 编码缺乏纪律
核心产物 proposal / specs / design / tasks 设计文档、实施计划
工作方式 文档驱动,规格落在仓库里 对话驱动,skills 自动触发
形态 CLI + 生成的 skills / commands Claude Code 插件(一套 skills)
强项 可 review、可版本化、可归档 TDD、系统化调试、子 agent、code review

二、分别适合什么场景

OpenSpec 适合

  • ​团队协作​:规格需要被 review、被版本化,让多人对"要做什么"有共识。
  • ​需求变更要留痕​:它覆盖 proposal、spec 生命周期和归档。
  • ​长周期、跨会话的功能​:规格落在仓库里,会话中断后 AI 能接着读,不用重新猜进度。
  • ​单仓库项目​:规格放在被描述的仓库内部,单仓库体验很好;跨仓库协作则比较吃力。

Superpowers 适合

  • ​个人开发或一次性任务​:上手顺手,但产出的 spec 不是为团队复用设计的。
  • ​需求模糊,想先理清思路​:brainstorming 会通过追问把规格"聊"出来。
  • ​AI 总是跳过测试、乱改代码​:想用 TDD 约束代码质量。
  • ​任务可拆分、适合并行​:可以用子 agent 并行执行。

快速选择表

场景 建议
小改动、bug 修复、个人小项目 都不用,或只用 Superpowers 的 TDD
个人做中等功能,想要纪律 Superpowers
团队协作,需求要评审和归档 OpenSpec
团队协作,且对代码质量要求高 OpenSpec 管规划 + Superpowers 管编码
多仓库协作 单靠 OpenSpec 不够,需要额外的编排方案

三、OpenSpec 在 Claude Code 中怎么用

安装与初始化

OpenSpec 对 Claude Code 是官方内置支持的,不需要另外找 skill 来装:

npm install -g @fission-ai/openspec@latest
cd your-project
openspec init            # 可用 --tools claude 指定只为 Claude Code 生成

这里要分清两类命令:

  • openspec ... 在终端里运行(如 openspec init、openspec update)。
  • /opsx:... 在 AI 助手的对话框里运行。

openspec init 的作用,就是把后者安装到你的 AI 工具里。

生成了哪些文件

在 Claude Code 里,OpenSpec 会生成 skills 和 commands 两种形式:

  • skills:.claude/skills/openspec-*/SKILL.md
  • commands:.claude/commands/opsx/<id>.md

这些文件在项目目录里,打开该项目的 Claude Code 就能直接用。

为什么输入 / 后看到"重复"的指令

初始化完成后,输入 /opsx 或 /openspec 会看到两套名字不同但功能相同的指令。这并不是装重复了,而是同一功能的 command 版和 skill 版:

command 版 skill 版 作用
/opsx:explore /openspec-explore 探索想法、调研问题,不要求固定结构
/opsx:propose /openspec-propose 提出新变更,一次生成规划文档
/opsx:update /openspec-update-change 修改已有变更的规划文档
/opsx:apply /openspec-apply-change 按任务清单实现代码
/opsx:sync /openspec-sync-specs 把变更里的 delta specs 合并到主 specs
/opsx:archive /openspec-archive-change 归档已完成的变更

两者功能等价,一般用更短的 /opsx: 形式即可。

典型流程

/opsx:explore(可选)→ /opsx:propose → /opsx:apply → /opsx:archive
                           ↑              │
                           └ /opsx:update ←┘(中途改方案时)
  • ​explore​:开工前先想清楚,想法成型后再转到 propose。
  • ​propose​:例如 /opsx:propose add-dark-mode,一次生成 proposal、specs、design、tasks 等规划产物。
  • ​update​:实现中发现设计有问题时用。如果变更已经实现过,它会建议接着跑 apply,让代码跟上修改后的计划;如果修改改变了需求的本意,应该另开新变更。
  • ​apply​:实现 tasks,并按需更新文档。
  • ​sync​:把 delta specs 合并进主 specs,通常在 archive 时自动完成,一般不用单独跑。
  • ​archive​:把变更移到 openspec/changes/archive/日期-名称/,需要时会提示先同步 specs。

默认的 core 配置只包含上述几个命令。想用扩展命令(new、continue、ff、verify、bulk-archive、onboard),先运行 openspec config profile 选择,再运行 openspec update 应用。

升级 CLI 后,记得在项目里再跑一次 openspec update,让生成的 skills 和 commands 同步到最新版。

四、Superpowers 在 Claude Code 中怎么用

安装

Superpowers 是一个 Claude Code 插件,在 Claude Code 里运行:

/plugin install superpowers@claude-plugins-official

它现在已进入 Anthropic 官方插件市场。也可以使用作者自己的市场:

/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

装完新开一个会话,用 /help 验证。

使用方式:自动触发

和 OpenSpec 需要手动敲命令不同,Superpowers 的 skills 会​自动触发​。你只需要描述想做什么,它就会引导 Claude 走完整流程。装好之后,写代码之前应该先触发 brainstorming。

完整流程

  1. ​brainstorming​:以苏格拉底式追问打磨想法,保存设计文档(默认在 docs/superpowers/specs/)。
  2. ​using-git-worktrees​:建立隔离的工作区。
  3. ​writing-plans​:把设计拆成约 2–5 分钟一个的小任务,带文件路径和验证步骤(默认在 docs/superpowers/plans/)。
  4. ​subagent-driven-development / executing-plans​:按计划执行。
  5. ​test-driven-development​:强制 red-green-refactor,先写代码后补测试会被要求删掉重来。
  6. ​requesting-code-review​:派 reviewer 检查,并按严重程度分级。
  7. ​finishing-a-development-branch​:收尾分支。

14 个 skills 速查

设计与规划

  • brainstorming:追问式打磨想法,保存设计文档,在写代码之前触发。
  • using-git-worktrees:用隔离分支做并行开发,通常在设计获批后触发。
  • writing-plans:把设计拆成小而可验证的任务。

执行

  • executing-plans:按计划逐项执行。
  • subagent-driven-development:为每个任务派子 agent,完成后做两阶段 review,先查规格符合度,再查代码质量。
  • dispatching-parallel-agents:同时启动多个 agent 处理相互独立的任务,例如让 3 个 agent 分别调查三个各自失败的测试。
  • test-driven-development:强制 red-green-refactor 循环。

质量把关

  • systematic-debugging:没找到根因,不许直接修。
  • requesting-code-review:提交 review 前的检查清单和结构化请求。
  • receiving-code-review:处理 review 反馈并据此修改代码。
  • verification-before-completion:宣称"修好了""做完了"之前,必须用证据确认,比如实际跑测试。

收尾

  • finishing-a-development-branch:收尾分支,完成流程的最后一步。

框架本身

  • using-superpowers:路由器,初始化框架并把任务引到合适的 skill。
  • writing-skills:按最佳实践创建新 skill,想自己扩展流程时才用得到。

手动指定 skill 的场景

自动触发不稳定,或只想单独用某个能力时,可以手动调用,比较常用的有:

  • 修 bug:/superpowers:systematic-debugging
  • 不想让它急着说"完成了":/superpowers:verification-before-completion
  • 多个独立任务想并行:/superpowers:dispatching-parallel-agents
  • 代码写完想审一遍:/superpowers:requesting-code-review

升级

/plugin update superpowers

skills 会随插件一起更新,更新完新开一个会话让新版本生效。

五、两者组合使用:避免"一个需求两份文档"

最常见的搭配是:​OpenSpec 管规格沉淀,Superpowers 管执行纪律​。

但要注意,它们不会自动衔接。同时装上之后,Superpowers 的 brainstorming 会自动触发并写一份设计文档,你再跑 OpenSpec 的 propose 又会得到第二份 spec,一个需求出现两份文档。

解决办法是在项目的 CLAUDE.md 里写明路由规则:

  • 规划阶段只由 OpenSpec 负责,不运行 Superpowers 的 brainstorming 和 writing-plans。
  • OpenSpec 生成规划产物,Superpowers 只负责编码阶段(TDD、子 agent、code review、验证)。

另外,Superpowers 的约束密度对日常小改动偏重,完整流程 token 消耗也大。小任务直接让 Claude 做,不必触发整套流程。

六、踩坑记录

坑 1:openspec init 成功了,输入 /opsx 却没有命令

Claude Code 是在会话启动时才扫描 .claude/commands 和 .claude/skills 的。如果 openspec init 是在 Claude Code 已经打开之后运行的,新文件不会被加载。排查顺序:

  1. ​刷新会话​:新开一个对话,或用 Ctrl+Shift+P 运行 Developer: Reload Window。
  2. ​确认工作区目录​:Claude Code 只读取当前工作区根目录下的 .claude/,要确认 VS Code 打开的就是运行 openspec init 的那个文件夹。
  3. ​确认文件存在​:检查是否有 .claude/commands/opsx/*.md 和 .claude/skills/openspec-*/SKILL.md。
  4. ​换个关键词​:skills 可能以 /openspec-propose 这类名字出现,commands 才是 /opsx:propose。
  5. ​用终端版对比​:在项目目录里直接运行 claude,输入 / 看列表。终端版能用而扩展里不能,通常是扩展版本问题,更新扩展再试。

坑 2:VS Code 扩展里运行 /plugin 提示 "isn't available in this environment"

这不是 Superpowers 的问题,而是 VS Code 里的 Claude Code 扩展不支持 /plugin 命令。终端版 Claude Code 里这个命令是可用的。扩展里的替代方案:

  • ​图形界面​:输入 /,在菜单底部 Customize 区域点 ​Manage plugins​,在界面里查看版本并更新。
  • ​终端命令​:在 VS Code 的终端里(不是对话框里)运行 claude plugin update superpowers,不确定子命令时先运行 claude plugin --help。
  • 更新后运行 /reload-plugins,或新开会话,让新版本生效。

坑 3:升级后命令对不上

命令名和 skill 行为会随版本调整。升级后用 /help 看一下当前可用的命令,并检查 CLAUDE.md 里针对旧版 skill 名写的路由规则是否仍然匹配。

七、总结

  • OpenSpec 解决"做什么、为什么做",把规格变成可 review、可版本化、可归档的文档,适合团队协作和长周期变更。
  • Superpowers 解决"怎么做",用一套自动触发的 skills 约束 AI 的编码纪律,适合个人开发和对代码质量有要求的场景。
  • 两者互补,组合使用时务必在 CLAUDE.md 里划清职责,避免一个需求出现两份文档。
  • 小改动不要上完整流程,先在一个中等大小的功能上试跑一轮,再决定要不要全面采用。

参考资料


© 2026 Carreyda