Superpowers 框架:让 Claude Code 和 Codex CLI 真正按软件工程流程干活
1. 从“superpowers”说起一套让 AI 编程助手真正长出“工程肌肉”的方法论第一次看到 “superpowers” 这个词是在几个做 AI 辅助开发的群里。有人甩出一张截图说自己的 Claude Code 突然像换了个人——不再是一问一答的“代码生成器”而是会主动拆任务、写测试、跑验证、回头改 bug整个流程跟一个靠谱的中级工程师没什么两样。底下有人回了一句“你装 superpowers 了吧”那一刻我才意识到这不是某个新模型而是一套挂在 AI 编程助手外面的agentic skills framework一套把“随手写代码”升级成“按软件工程流程干活”的software development methodology。说白了superpowers 解决的是一个很具体的痛点Claude Code、Codex CLI 这类工具本身很强但默认状态下它们太“听话”了。你说“帮我写个登录接口”它就直接吐一段代码不问你用什么框架、要不要加校验、测试怎么写、边界情况怎么处理。结果就是代码能跑但离“能进仓库”还差得远。superpowers 的思路是给这些助手装上一套“技能包”和“工作流约束”让它们在动手之前先想清楚这个任务属于哪一类该调用哪些技能先写测试还是先写实现改完之后怎么验证这套东西对独立开发者、小团队、甚至只是想把 AI 用得更顺手的普通程序员都有直接价值。接下来我会把这套框架的来龙去脉、安装配置、核心机制、实操流程和踩坑经验按我自己的理解完整拆一遍。2. superpowers 到底是什么核心概念与设计思路拆解2.1 它不是一个模型而是挂在助手外面的“技能层”很多人第一次接触会误以为 superpowers 是某个更强的模型或者某个 Claude Code 的替代品。实际上它更像是一层技能框架skills framework运行在你的 AI 编程助手之上。Claude Code 和 Codex CLI 本身提供了“读文件、写文件、跑命令”这些基础能力但它们默认不知道“遇到一个功能需求应该先做什么、后做什么”。superpowers 做的事情就是把这些工程实践固化成一个个可被调用的skill再通过一套调度逻辑让助手在合适的时机自动或半自动地调用它们。我自己的理解是模型是发动机助手是车superpowers 是驾驶手册加导航。发动机再强没有手册和导航新手司机还是容易乱开。superpowers 把“先规划、再写测试、再实现、再验证”这套流程写进了助手的决策路径里让它不至于一上来就猛踩油门。2.2 为什么需要“agentic skills”而不是简单提示词有人会问我直接在提示词里写“请先写测试再写实现”不就行了短期可以长期不行。原因有三个。第一提示词是易失的对话一长、上下文一压缩早期约束就丢了。第二提示词没有结构化你没法让助手“在特定阶段自动加载特定技能”。第三提示词无法复用每个项目、每个任务都要重写一遍成本极高。superpowers 把技能做成独立文件放在固定目录里助手在需要时按需加载。这就像把“口头交代”变成了“公司规范文档”。规范文档的好处是新人新会话来了直接照着做不用每次重新讲。这也是它被称为agentic skills framework的根本原因——它管理的是“代理在什么情况下用什么技能”而不是单纯给模型喂一段话。2.3 核心设计原则约束先行、技能可插拔、验证闭环拆开看superpowers 的设计原则其实很朴素但每一条都打在痛点上。约束先行在助手开始写代码之前先强制它进入“规划模式”。这一步会产出任务拆解、影响范围、验收标准。没有这一步后面全是盲写。技能可插拔每个 skill 是一个独立单元比如“写单元测试”“做代码审查”“处理数据库迁移”。你可以只装需要的也可以自己写。这种可插拔设计让它能适配不同技术栈从 Java 后端到前端组件都能覆盖。验证闭环写完不是结束必须跑测试、看输出、根据结果回头改。superpowers 会把“验证”作为流程的必经环节而不是可选项。这三条合在一起才让 AI 助手从“代码生成器”变成“能交付的工程代理”。我实测下来最大的感受是它逼着助手慢下来但整体反而更快。因为返工少了来回改提示词的次数也少了。3. 安装与配置实操Claude Code 和 Codex CLI 两条路线3.1 前置准备先把基础助手装好superpowers 依赖底层助手所以第一步是确保 Claude Code 或 Codex CLI 能正常跑。这里我按两条路线分别说因为它们的安装方式和常见问题差别挺大。Claude Code 路线官方提供了安装脚本macOS 和 Linux 下通常一条命令搞定。Windows 用户建议走 WSL原生 Windows 支持一直不太稳定。安装完成后用claude --version验证。如果你在 Ubuntu 上装注意 Node 版本别太低我遇到过 Node 16 下装完启动报错升到 20 就正常了。另外网上常有人问“claude code 桌面版”“claude code 存储位置”桌面版目前并不是所有平台都有配置文件一般在用户目录下的隐藏文件夹里具体路径可以用claude config list查。Codex CLI 路线Codex CLI 的安装相对直接npm 全局安装即可。但有一个高频报错必须提前说unable to locate the codex cli binary or required runtime components. check。这个报错九成是因为全局 bin 目录没进 PATH或者安装时权限不够导致二进制没写进去。解决办法是先确认 npm 全局前缀路径再把这个路径加到环境变量里。Windows 下还要注意 PowerShell 的执行策略有时候脚本被拦了也会报类似的错。提示不管你走哪条路线装完先跑一个最简单的“读文件”任务验证链路别急着上 superpowers。底层不通上层全是白搭。3.2 superpowers 安装目录结构与加载方式superpowers 的安装本质上是把技能文件放到助手能读到的位置并让助手在启动时加载调度逻辑。常见做法是在项目根目录或用户配置目录下建一个 skills 文件夹把技能定义放进去。Claude Code 这边通常通过配置文件指定技能目录Codex CLI 则可能通过启动参数或配置文件加载。我自己的习惯是按项目隔离每个项目单独放一份 skills而不是全局共享。原因是不同项目的技术栈和规范不一样全局共享容易串味。比如 Java 项目需要“Maven 依赖检查”技能前端项目需要“组件快照测试”技能混在一起反而干扰助手判断。安装完成后验证方式是让助手列出当前可用技能。如果它能正确列出你放进去的技能名说明加载成功。这一步如果失败优先检查文件路径和格式技能文件通常是结构化文本格式错了助手会静默忽略不会报错这点很坑。3.3 配置中的常见坑与排查配置阶段我踩过的坑主要有三类。第一类是路径问题尤其是 Windows 下反斜杠和正斜杠混用导致助手找不到技能目录。第二类是权限问题技能文件如果放在系统保护目录助手读不到。第三类是版本不匹配superpowers 的某些技能依赖助手的新特性老版本助手加载后会报“未知指令”。排查思路很简单先确认助手能读到文件再确认文件格式正确最后确认助手版本支持。这三步走完基本能定位九成问题。网上有人问“claude code 怎么手动装 github 上的 skills”其实核心就是这三步只是技能来源换成了 GitHub 仓库下载后放到正确目录即可。4. 核心机制深度解析技能调度与工作流约束4.1 技能是怎么被触发的superpowers 最核心的机制是技能触发。它不是让助手随机调用技能而是根据当前任务类型和阶段匹配对应的技能。比如你给一个“新增用户注册接口”的任务助手会先进入规划阶段规划阶段可能触发“任务拆解”技能拆解完成后进入实现阶段触发“测试先行”技能实现完成后触发“验证”技能。这个触发逻辑通常写在调度配置里条件可以是关键词匹配也可以是阶段状态匹配。我实测下来阶段状态匹配比关键词匹配稳得多。因为关键词容易被自然语言干扰而阶段状态是明确的流程节点不容易误触发。4.2 工作流约束为什么“先测试后实现”这么难自动化“先写测试再写实现”这个原则人人都懂但让 AI 助手稳定执行非常难。原因是模型天生倾向于“直接给答案”你让它先写测试它可能写两行测试就急着写实现。superpowers 的解法是把测试和实现拆成两个独立阶段中间加一道门禁。只有测试阶段产出被确认后才允许进入实现阶段。这道门禁是 superpowers 区别于普通提示词的关键。普通提示词是“建议”门禁是“约束”。约束的好处是稳定坏处是灵活性下降。所以实际使用时我会根据任务复杂度调整门禁强度简单任务放宽复杂任务收紧。4.3 与 Claude Code、Codex CLI 的协作边界superpowers 不替代助手它只负责“流程和技能”具体读写文件、跑命令还是助手在做。这个边界很重要因为这意味着 superpowers 的能力上限受助手限制。如果助手本身不支持某个操作superpowers 再强也调不动。理解这个边界后选型就清晰了Claude Code 在长上下文和复杂推理上更稳Codex CLI 在命令行集成和脚本化上更顺。我自己的组合是复杂功能开发用 Claude Code 加 superpowers日常脚本和批量操作用 Codex CLI 加轻量技能。两者不冲突可以共存。5. 完整实操流程从零跑通一个功能开发任务5.1 任务定义与规划阶段假设我要做一个“用户积分查询接口”。第一步不是写代码而是让助手进入规划。我会给它一段明确的任务描述包括技术栈、输入输出、边界条件。superpowers 会触发规划技能产出任务拆解需要哪些文件、哪些依赖、哪些测试用例。这一步的产出我会仔细看因为规划错了后面全错。我通常会检查三点任务拆解是否覆盖了边界情况、依赖是否明确、验收标准是否可测。如果这三点有缺失我会让助手重新规划而不是带着模糊规划往下走。5.2 测试先行与实现阶段规划确认后进入测试阶段。superpowers 会引导助手先写测试用例覆盖正常路径和异常路径。测试写完先跑一遍确认测试本身能跑哪怕失败再进入实现。这一步的意图是确保测试是有效的而不是写完实现再补一个永远通过的测试。实现阶段助手会根据测试用例写代码写完自动跑测试。如果测试失败它会根据失败信息回头改。这个循环通常跑两到三轮就能稳定。我实测下来带 superpowers 的实现阶段返工率明显低于裸用助手因为测试提前暴露了接口设计和边界问题。5.3 验证、审查与收尾实现通过测试后进入验证和审查阶段。验证包括跑完整测试套件、检查代码风格、确认没有遗留调试代码。审查阶段会触发代码审查技能检查潜在问题比如空指针、并发问题、资源泄漏。收尾阶段我会让助手生成一份变更摘要包括改了哪些文件、为什么改、测试结果如何。这份摘要对后续 review 和回溯非常有用。整个流程跑下来一个中等复杂度的接口大概需要十几轮交互但产出的代码质量接近手写水平。6. 常见问题与排查技巧实录6.1 安装与加载类问题速查问题现象可能原因排查方向助手列不出技能技能目录路径错误检查配置中的路径Windows 注意斜杠技能加载后不触发触发条件不匹配检查阶段状态定义放宽关键词启动报未知指令助手版本过低升级助手到支持该技能的版本Codex CLI 报 binary 找不到PATH 未配置确认全局 bin 目录并加入环境变量6.2 流程执行类问题与避坑经验流程执行中最常见的问题是助手跳过规划直接写代码。这通常是因为任务描述太具体助手认为不需要规划。解决办法是在任务描述里明确要求“先规划再实现”或者调高规划阶段的门禁强度。另一个坑是测试写得太虚。助手有时会写“断言结果为真”这种没有实际意义的测试。我的经验是在测试阶段明确要求覆盖具体边界值比如空输入、超长输入、并发调用。要求越具体测试越有效。注意不要一次性给助手太大的任务。任务越大规划和测试越容易糊弄。我通常把任务拆到“一个接口”或“一个组件”的粒度效果最好。6.3 与国内环境的适配经验国内使用这类工具网络和账号是绕不开的话题。我的建议是优先走官方支持的渠道遇到“might not be available in your country”这类提示时先确认账号和区域设置而不是急着找替代方案。另外把模型接入其他后端比如通过兼容接口接 DeepSeek也是一种思路但要注意技能框架和模型能力的匹配度不是所有模型都能稳定执行多阶段流程。7. 我的实操心得与后续扩展方向用了一段时间 superpowers 之后我最大的体会是它改变的不是助手的能力上限而是助手的行为下限。裸用助手时产出质量波动很大有时候惊艳有时候离谱。加上这套框架后波动明显收窄最差也能到“可 review”的水平。对独立开发者来说这个下限提升比上限提升更有价值因为下限决定你能不能放心把任务交出去。后续我打算往两个方向扩展。一是自定义技能把团队内部的代码规范、部署流程写成技能让助手直接按内部标准干活。二是跨助手复用同一套技能定义在 Claude Code 和 Codex CLI 之间共享减少重复配置。这两个方向都需要对技能格式和调度逻辑有更深理解但一旦跑通收益很直接。最后分享一个小技巧技能文件不要写太长。我一开始把很多规则塞进一个技能结果助手加载后反而抓不住重点。后来拆成多个小技能每个只做一件事触发准确率和执行质量都上来了。这个经验跟写函数一样——单一职责永远是对的。