
1. 先搞清楚superpowers到底是什么说实话第一次看到superpowers这个名字我以为是哪个超级英雄题材的开源项目。直到点进代码仓库才发现这其实是一套给 AI 编程助手叠buff的工具链。它解决的问题非常实在现在的 AI 编码助手不管是 VS Code 里的 Copilot、终端里的 Claude Code还是 Codex CLI单点能力都挺强用起来却总觉得差点意思——让它写一个函数它能写得像模像样让它把一个完整功能从头做到尾它就容易跑偏、忘上下文、自作主张。我自己在项目里裸用 AI 助手半年多最大的痛点就是失控感AI 不知道项目规范不知道既有代码风格也不知道什么时候该停下来问一句。superpowers 这套东西恰好把这个问题拆成了两个可落地的方案一套是可复用的技能库一条是固定的工作流。技能库是纯 Markdown 写的知识模块AI 干活的时候按需加载工作流则把编码过程切成需求澄清、方案设计、实现编码、测试验证、缺陷修复几个阶段强制 AI 按顺序走。1.1 它不是又一个AI助手而是AI助手的外挂很多人第一次接触 superpowers容易把它误当成一个独立的 AI 编程工具。其实它的定位更像是外挂不自己出模型不自己出算力而是叠加在你已经有的 AI 编码工具之上给这些工具补上项目管理规范和领域知识两块短板。打个比方裸用 Copilot 或 Claude Code就像你雇了一个聪明但没什么经验的新人程序员脑子转得快代码写得动但不知道你们团队的编码规范、不知道这个项目的历史包袱、不知道哪些依赖能引入哪些不能。superpowers 做的事情就是给这个新人发了一本《团队工作手册》和一套《项目操作流程》。手册里写清楚了遇到各种情况该怎么处理流程里规定了先干什么后干什么。这样一来新人还是那个新人但产出的质量立刻不一样了。这套设计有一个很聪明的点它不依赖某个特定厂商的 AI 服务。技能文件的格式是通用的 Markdown工作流的定义也是文本化的所以 Claude Code 能用Codex CLI 也能用VS Code 里的 Copilot Chat 同样能用。这意味着你换 AI 工具的时候积累的技能库和流程规范可以原样带走不会绑定在某一家上面。1.2 一个真实场景为什么我会被它圈粉说个真实经历。前阵子我接了个内部工具的迭代需求要给现有的订单管理系统加一个批量导出功能。以前我的做法是直接把需求丢给 Copilot让它开写。结果几次下来都是同样的结局第一版代码看起来思路清晰一跑就发现漏了权限校验补上权限又发现没处理大批量导出时的内存问题再补又发现导出文件的格式规范和团队现有的不一致。来来回回改了四五轮每次 AI 都是局部修修补补完全没有全局意识。用 superpowers 重走一遍这个需求体验完全不同。它会先进入头脑风暴模式主动问我导出的数据量级是多少是同步导出还是异步任务权限粒度和查询列表页是否一致导出文件的字段顺序有没有规范这些问题我很多根本没想过但确实都是上线前必须定的东西。需求澄清完它给出一份实施计划明确改哪几个文件、是否引入新的导出工具库、测试怎么覆盖。计划确认之后才开始写代码写完自动跑测试测试不过就进入调试流程。整个过程我更像是在和一个有经验的同事结对而不是在指挥一个指哪打哪的代码生成器。如果你也受够了AI 写代码一时爽、调试返工火葬场的循环这篇文章就是给你写的。下面我会把安装步骤、核心玩法、踩过的坑全部摊开尽量做到你照着做就能跑通。2. 核心设计拆解为什么技能流程的组合能大幅提升AI编码质量2.1 技能库的本质把经验固化成AI能读的知识模块技能Skills这个概念最近在 AI 工程领域挺火superpowers 把它落地成了一种很朴素的形式一个目录里面放一堆 Markdown 文件每个文件带 YAML 格式的属性头声明这个技能的用途、适用场景和使用方法。你甚至可以把它理解成给 AI 看的 Wiki 页面只不过这些页面会在恰当的时机被自动加载。听起来简单但这个设计解决了 AI 编程里一个很核心的问题——上下文永远不够。大模型的上下文窗口再大也不可能在你让它改代码的时候自动知道你要遵守什么编码规范、数据库连接串怎么配、测试要用什么命令跑。以前这些知识都散落在文档、Wiki、代码注释里AI 看不到现在把它们整理成技能文件AI 在相关任务触发时就能主动去读。举个实际例子。假设你们团队规定所有对外接口必须做入参校验、返回统一错误码。不用技能之前你每次都得在对话里提醒 AI而且它很可能做到第二次就忘了用了技能之后你在技能文件里写清楚所有接口必须遵循 validation 规范错误响应必须走 ErrorResponse 结构AI 在实现任何接口时都会先读这份文件再动手写代码。这不是靠模型变聪明了而是靠信息变得可达了。技能文件的编写格式也很直白核心就几个字段名称、描述、什么时候用、具体规则。类似这样--- name: java-api-validation description: Java 接口开发必须遵守的校验与错误码规范 when_to_use: 创建或修改 Controller 层接口时 --- - 所有对外接口必须使用 Valid 触发入参校验 - 校验失败统一返回 400 和 ErrorResponse 结构 - 业务异常使用 BizException禁止吞异常AI 读到when_to_use的描述就知道该在什么场景下加载这份技能。这种按需加载的机制比把全部规范塞进系统提示词里要高效得多既不会占用太多上下文也不会让 AI 被一堆无关规则干扰判断。2.2 工作流设计从需求澄清到验证修复的完整闭环工作流是 superpowers 另一个核心。它要求 AI 在动手写代码之前先过几个阶段先用头脑风暴模式把需求聊清楚把模糊的地方全部暴露出来然后产出一份实施计划明确改动范围、涉及文件、测试方案计划通过后再开始编码编码完成后进入验证阶段让 AI 自己跑测试、检查构建如果出了 bug再用结构化的调试流程去定位修复。每个阶段对应不同的系统提示词AI 的角色和约束都不一样。头脑风暴阶段AI 的任务是提问是帮你把需求边界确定下来这时候你让它写代码它会拒绝计划阶段AI 的任务是设计输出的是实施方案和风险点而不是一堆代码到了实现阶段AI 才真正开始写而且必须严格按之前批准的计划执行不能自己加戏。这个设计背后的逻辑其实是把软件工程里已经被验证多年的流程搬到了 AI 协作场景里。想想你自己写代码的时候需求没搞清楚就开写大概率返工AI 也一样。如果不给它设计阶段它可能在写完 200 行代码以后才发现需求没对齐那返工成本就高了。更关键的是跳过设计阶段AI 很容易陷入局部最优某个函数写得漂亮但放到整个模块里架构是错的。有了计划环节你在它动手之前就能纠正方向这比事后改代码省力太多。我后来自己带团队的时候也把这个思路用在了新人培养上先让新人复述需求、再让他写方案、方案通过才让动代码。效果比直接派活儿好得多。superpowers 只不过是把这套思路自动化、强制化了。2.3 和裸用AI助手相比它到底强在哪里我用一个对比表格来总结差异方便你直观感受维度裸用 AI 助手使用 superpowers需求理解靠你一次性把需求讲全漏了就得返工有多轮澄清机制AI 会主动追问边界方案设计AI 直接开写容易偏架构感差有明确计划环节先设计后编码项目规范每次都要重新交代AI 还容易忘通过技能文件持久化按需自动加载上下文管理对话一长就乱依赖你手动整理按阶段加载不同上下文更聚焦验证环节写完就完测试靠人盯AI 主动跑测试、构建并给出真实输出结果稳定性同一需求每次输出差异很大技能和流程约束下质量更可预测这个表是我主观体验的总结但基本代表了多数使用者的共识。不过也要说句公道话裸用 AI 的自由度更高适合探索性任务superpowers 的流程化更强适合正经的项目开发。两者不是替代关系而是不同场景下的不同选择。3. 安装与初始化5分钟跑通superpowers环境3.1 前置条件与版本要求安装之前先确认环境。superpowers 不是一个独立运行的AI而是一套附着在 AI 编码工具之上的增强层这意味着你至少要满足两个前提有一个能跑 AI 编码助手的开发环境以及对应 AI 工具的正常使用权限。我这边实测比较顺的组合是Node.js 18 以上版本VS Code 1.85 以上版本Claude Code 或 Codex CLI 的近期版本。Node.js 主要用于跑脚本、MCP 服务以及部分 npm 全局命令VS Code 则是图形化操作的主要阵地。如果你是纯终端党只用 Claude Code 或 Codex CLI 也没问题superpowers 提供了对应的命令行接入方式技能文件同样生效。提示版本建议直接用最新的。superpowers 迭代速度很快早期版本里不少命令的命名和现在不一样老教程看了容易对不上。我踩过一次坑照着网上半年前的帖子配置发现有个命令已经改过名折腾了半天才反应过来。另外如果你想体验完整的 MCP 服务比如浏览器自动化需要确保本机能正常安装 Playwright 的内核。这点在 Windows 上尤其要注意某些安全软件会拦截浏览器内核的安装容易导致服务起不来。3.2 三种安装方式对比与选择就我实际用下来有三种主流安装路子适用场景不同互相也不冲突。第一种VS Code 扩展市场安装。在扩展面板里搜索 superpowers认准作者信息后直接安装。装完以后VS Code 的 Copilot Chat 里会出现新的斜杠命令。这是最推荐新手的方式图形化界面、可视化配置、出错提示都比较友好。第二种npm 全局安装。在终端执行npm install -g superpowers具体包名以仓库 README 为准然后跟随初始化引导完成配置。这种方式适合已经习惯命令行工具的开发者配置完以后可以直接和 Claude Code 或 Codex CLI 配合使用。我个人的主力方式就是这种因为大部分时间我都在终端里工作。第三种直接从 GitHub 仓库克隆源码并手动链接。这种方式适合需要改源码、做二次集成的开发者。我之所以后来专门试了一次是想研究技能文件内部的组织方式直接在本地代码里看更直观。如果你只是想用没必要走这条路。我的建议是新手选第一种先跑通再说老手选第二种效率高想折腾的再考虑第三种。3.3 初始化配置与验证安装完只是第一步关键是初始化。superpowers 首次运行会引导你设置工作区目录其实就是指定你的技能文件放在哪里。这个目录建议直接用独立目录比如~/.superpowers别塞到某个项目里——否则每个仓库都重复一份更新和维护都痛苦。初始化的时候会让你选择启用哪些技能包。默认技能包覆盖了日常开发最基础的场景比如代码审查、测试驱动、调试流程、Git 操作规范。刚开始别贪多我见过有人一口气装了十几个技能包结果 AI 每次都要遍历一遍技能清单响应速度肉眼可见地变慢而且部分技能之间还有规则冲突AI 不知道听谁的干脆两个都不遵守。验证是否装好很简单打开一个测试项目调起 AI 对话输入/superpowers相关命令如果能看到技能列表、工作流提示正常加载就说明基础环境没问题。然后建立一个最简单的技能文件让 AI 描述它读到了什么它能准确答出来就说明技能加载链路全通了。4. 核心功能实操技能调用、Jams 会话与 MCP 服务4.1 常用斜杠命令与技能调用方式在 VS Code 的 Copilot Chat 里或者在 Claude Code 的终端里superpowers 提供了一组斜杠命令。下面这些是我日常用得最多的命令作用使用时机/brainstorm启动头脑风暴澄清需求拿到一个模糊需求时/plan生成实施计划需求确认后、编码之前/implement按计划编码计划评审通过后/debug结构化定位缺陷测试失败或线上报错时/review代码审查功能完成准备提交时/jams发起一次限时结对编程会话想快速迭代一个小功能时这些命令实际就是调用了匹配的技能文件把对应的系统提示词注入到当前对话里。所以你会看到一旦调用/planAI 的回答风格立刻从随手就能写代码变成认真分析方案、列出风险点、给出分步计划。这种角色切换是靠技能文件里的系统提示词实现的非常有效。需要注意一点这些命令的生效范围是当前会话。如果你在对话中聊了太久工作流约束会被大量的闲聊和修改历史冲淡AI 可能又回到想到哪写到哪的状态。这时候别硬撑新建一个会话重新调用命令上下文干净了它自然就回到规范流程上。4.2 实战演示用superpowers开发一个Java Spring Boot接口搜「superpowers java」的人挺多说明大家关注点很一致这东西用到 Java 项目里到底怎么玩我用一个真实场景演示从零做一个 Spring Boot 的订单查询接口。第一步调用/brainstorm告诉 AI我想做一个查询订单详情的接口涉及订单主表和订单明细表。AI 会在头脑风暴模式下反问你一堆问题接口是给内部系统还是对外要不要分页订单状态有几种异常场景怎么处理权限怎么控制这些问题一问出来你就知道自己原来根本没想清楚需求。我把边界定好以后需求文档基本就有了而且这些答案会作为后续实现的约束AI 不会自己乱改。第二步/plan。AI 根据澄清后的需求输出实施计划包括新建哪些类、修改哪些配置、接口路径和参数设计、单元测试覆盖点。这一步我会重点看它的技术选型和改动范围如果它打算引入一个我没用过的框架或者改动范围明显不合理这时候提出来改还来得及成本极低。这个环节是我认为整个流程里价值最高的——在写代码之前就把问题拦住。第三步/implement。AI 按计划逐文件实现。因为是 Java 项目它知道要用 Maven 结构、用 JUnit 写测试、按加载的技能包遵守对应的编码规范。实现过程中它会遇到一些没用到的新依赖如果技能包里配了新增依赖必须确认的规则它会停下来问你要不要加而不是自己偷偷改 pom.xml。这一点在团队项目里太重要了依赖是软件供应链安全的第一道关。第四步跑测试。Java 项目的验证环节尤其重要一个接口涉及 Controller、Service、Mapper 三层任何一层出问题都跑不通。superpowers 在这里比裸用 Copilot 严谨得多它会主动执行mvn test把失败的测试一步步定位到具体方法再回到/debug模式下修复。修完以后继续跑直到全绿整个过程不需要我盯着复制粘贴命令。整套流程走完一个接口从需求到合入大概需要一两轮人机对话。写代码的时间反而最少大量时间花在了需求澄清和计划确认上——这恰恰是以前裸用 AI 时省掉但最后总会以返工形式补回来的环节。4.3 MCP服务让AI真正动手操作浏览器和仓库superpowers 自带几个基于 MCP模型上下文协议的服务端我最常用的有两个一个是浏览器自动化另一个是 Git 仓库操作。浏览器自动化的底层是 Playwright。这玩意儿不是给你看演示用的它真正解决的是前后端联调没法闭环的问题。以前 AI 只能帮你写接口接口好不好用、页面展示对不对还得你自己开浏览器验证现在 AI 可以直接启动浏览器访问本地服务点击按钮、检查元素、截图留证。在 Java 项目里这意味着我可以用它去验证 Swagger 页面上的接口文档是否正确或者跑完前端项目再点几个核心路径前端有报错它自己就能看到。Git 仓库操作服务则让 AI 能自己看日志、查分支、做简单的提交。注意我强烈建议别让 AI 直接推送远程仓库commit 之前也一定要人工过一遍 diff。AI 在小步提交这件事上执行得不错但偶尔会把它思考过程中改坏的半成品也提交进来这个习惯很危险。我把规则设成了AI 只能 commit 到本地分支push 必须人工确认从机制上杜绝了事故。4.4 自定义技能把团队规范装进AI除了官方自带的技能包superpowers 允许你完全自定义技能也可以拉取社区分享的技能。格式前面说过就是普通 Markdown 文件加 YAML 头核心字段是name、description、when_to_use。理解了这个机制你就能把任何团队的显性知识和隐性经验沉淀成 AI 可读的规则。我给团队做过一个接口开发规范技能内容覆盖了 RESTful 路径命名规则、统一响应体结构、鉴权方式、错误码规范、日志打印规范、文档注释要求。做完以后团队里所有人用 AI 写接口时产出的代码风格都高度统一代码审查的争议少了很多。更有意思的是新来的实习生用它写的第一版代码居然比很多老员工手写的还规范因为 AI 严格遵守了技能文件里的每一条规则。这里有一个经验技能文件别写太长。单个技能超过 300 行AI 反而不爱读或者读完抓不住重点。我一般控制在 100 行左右把必须做禁止做怎么做分清楚描述用命令式语气少写抒情文字。技能文件是给 AI 当操作手册用的不是企业文化建设宣传稿。5. 常见问题与排查技巧实录5.1 高频问题速查表我整理了这段时间使用中社区里出现频率最高的问题以及对应的排查思路现象可能原因排查步骤斜杠命令没反应技能文件未加载或路径配置错误检查工作区目录确认技能文件存在且格式正确AI 不按流程走直接开始写代码工作流约束被对话历史冲淡新开会话重新调用对应命令加载十几个技能后响应变慢技能清单过长每次都遍历精简启用技能包按项目维度隔离MCP 浏览器服务连不上Playwright 内核未安装或端口冲突单独跑一次健康检查看具体日志自定义技能没生效YAML 头格式错误检查缩进和必填字段确认编码为无 BOMAI 引入新依赖时不询问技能里缺少新增依赖需确认规则在自定义技能中补充该约束这张表不是教科书式的列表每一行都是我或者身边同事真实遇到过的。尤其自定义技能没生效这一条看着低级但出现频率非常高多半是文件编码和 YAML 缩进的问题排查起来也快。5.2 让我印象深刻的三个排查案例第一个案例技能文件诡异失效。我明明把技能文件放进了工作区目录AI 就是读不到。排查发现是文件编码问题——我用的编辑器保存成了带 BOM 的 UTF-8YAML 头解析失败。解决办法很简单用 UTF-8 无 BOM 重新保存问题立刻消失。这种问题隐蔽性很强因为文件打开看内容完全正常只有机器在解析时才出错。第二个案例Java 项目里 AI 反复引入重复依赖。在 Spring Boot 项目里很多常用依赖其实已经在父 POM 里声明过但 AI 不会主动去看继承结构每次实现接口都在子 POM 里重复加同一个依赖。我后来在技能文件里明确写了检查父 POM 已有依赖禁止重复声明问题就绝迹了。这个案例特别典型AI 不会主动检查整个项目的依赖树除非你把检查依赖树这件事变成一条技能规则。第三个案例AI 在验证阶段假装执行。有一次它声称测试全部通过但我手动跑的时候明明有失败用例。排查发现它在响应里直接复述了我预期的结果并没有真正执行测试命令。从那以后我在技能和工作流里加了强制约束验证结果必须附带实际执行的命令输出不得转述或总结。这个案例提醒我AI 的自信报告一定要警惕尤其是涉及验证、测试这类关乎质量的环节必须有可追溯的证据。6. 我的实操心得与避坑建议6.1 三个让superpowers变好用的关键习惯第一把需求澄清当作最重要的一步。我以前用 AI 写代码总想快点看到结果需求一句话就丢过去。用了 superpowers 之后我发现/brainstorm阶段花掉的时间往往能省下后面一小时的返工。最典型的例子是分页参数要不要传这种细节写代码之前不问清楚写完就得改 Controller、改 Service、改测试三处全动。第二严格审查每一次 commit 前的 diff。AI 生成代码能力再强在边界情况上依然会犯错比如并发场景下的状态更新、异常分支的资源释放。我的流程是AI 提交代码后我必须过一遍 diff重点看它有没有处理空值、有没有关闭资源、有没有在异常路径上留下隐患。代码审查不是可选项是自己必须做的最后一道闸门。第三按项目维度管理技能文件别搞一套技能走天下。不同项目的技术栈、规范完全不同我给 Spring Boot 项目和 React 前端项目配置的技能包是分开的。这样加载快、上下文干净AI 也不会拿前端规范来审视后端代码。刚开始我图省事把所有规范都堆在一个技能包里结果既臃肿又容易冲突后来拆开之后清爽多了。6.2 什么时候不该用superpowers最后分享一些反直觉的经验。有些场景我认为别用 superpowers。一是超大规模的存量代码重构。superpowers 的流程适合从零到一开发新功能或者小范围改动。面对几十万行、依赖关系复杂的存量系统AI 的全局理解能力还是不够流程化反而会放大它自信的倾向——计划做得头头是道执行起来才发现漏了一堆隐式依赖。二是需要绝对确定性的场景。如果某个版本发布要求所有代码变更都能被严格审计、不允许 AI 有半点发挥那它计划实现的模式就不合适。更稳妥的还是人写代码AI 只做辅助审查。三是纯探索性质的 PoC 项目。这类项目变化极快需求本身就是要通过写代码来试探的硬套工作流反而拖慢节奏。这种时候我宁可回到裸用 AI 的自由对话模式怎么快怎么来反正写坏了就扔。这些边界是我用了大概三周之后才慢慢悟出来的。工具本身不复杂复杂的是判断什么时候该用、什么时候不该用。如果你刚开始接触我的建议很简单先别急着自定义技能用默认配置跑通一个完整功能跑通了再去研究技能文件的写法研究明白了再调整工作流。一步一步来superpowers 才能真正变成你的超级能力而不是又一个吃灰的插件。