1. 从“superpowers”这个热词说起它到底是什么最近“superpowers”这个词在技术社区和效率工具圈子里被反复提起很多人第一次看到它是在某个开源项目的讨论区或者是在朋友分享的终端截图里。简单来说superpowers 是一套面向 AI 编程助手的能力扩展框架它本身不是一个独立的软件而是以“技能包”的形式挂载到已有的 AI 编码工具上让原本只会聊天、补全代码的助手突然具备了一整套结构化的工程能力。你可以把它理解成给一个刚入职的聪明实习生配上了一本写满“这家公司怎么做需求分析、怎么写测试、怎么做代码审查”的内部操作手册。它解决的问题非常具体大部分人在用 AI 写代码时最大的痛点不是“它不会写”而是“它写得太随意”。你让它加一个功能它直接给你一段代码没有需求澄清、没有边界条件分析、没有测试、没有文档甚至没有考虑你项目里已有的代码风格。superpowers 做的事情就是把这些“工程纪律”变成 AI 可以自动调用的技能模块让它在动手之前先想清楚动手之后有验证交付之前有检查。这套东西适合谁如果你只是偶尔让 AI 帮你写个正则表达式、解释一段报错那暂时用不上。但如果你已经把 AI 编码助手当成日常开发的主力工具每天要它帮你完成真实项目里的功能开发、重构、调试、写测试那 superpowers 带来的改变是质变级别的。它让 AI 从“代码生成器”变成了“能按工程规范协作的伙伴”。这也是为什么最近“想要安装 superpowers”的搜索量明显上升——大家用了一段时间的 AI 编码工具之后都开始意识到“光会生成代码不够还得会按规矩干活”。2. 核心设计思路拆解为什么是“技能包”而不是“新工具”2.1 不重复造轮子而是给现有工具加装“能力模块”superpowers 最聪明的地方在于它的定位。它没有去重新做一个 AI 编码工具因为那个赛道已经足够拥挤而且用户迁移成本极高。它选择的是寄生式增强——你原来用什么 AI 编码助手它就在那个助手上叠加一层技能系统。这个选择背后的逻辑很清晰用户的痛点不是“没有 AI 工具”而是“已有的 AI 工具不够专业”。重新做一个工具用户要重新适应界面、重新配置环境、重新建立信任而技能包的方式用户只需要安装一次原有的工作流完全不变但 AI 的行为模式会发生明显变化。从技术实现角度看superpowers 的核心是一套技能定义规范。每个技能本质上是一个结构化的提示词模板加上执行逻辑它规定了 AI 在特定场景下应该按什么步骤思考、按什么格式输出、在哪些节点需要向用户确认。这些技能被组织成一个可检索的库AI 在接到任务时会先判断“这个任务属于哪个技能范畴”然后调用对应的技能流程来执行。这就像给 AI 装了一个“工程决策树”而不是让它每次从零开始自由发挥。2.2 技能的分层结构从“元技能”到“具体任务技能”superpowers 的技能体系不是平铺的而是有明确的分层。最上层是元技能比如“如何分析一个需求”“如何拆解一个复杂任务”“如何做代码审查”这些技能不针对具体编程语言或框架而是通用的工程思维方法。中间层是领域技能比如“前端组件开发流程”“API 接口设计规范”“数据库迁移操作步骤”这些技能开始涉及具体的技术领域。最下层是任务技能比如“用 React 写一个带分页的表格”“给 Express 路由加参数校验”这些是直接可执行的具体操作。这种分层的好处是复用性极高。当你安装了一个新的领域技能包它会自动继承元技能的行为规范不需要每个技能都重新定义“要先问清楚需求再动手”。我在实际使用中感受最深的是元技能的存在让 AI 的行为一致性大幅提升——不管你在做什么类型的任务它都会先确认边界条件、再给出方案、最后做自检这种稳定性是裸用 AI 助手很难达到的。2.3 为什么选择“显式技能调用”而不是“隐式自动触发”superpowers 的另一个关键设计是技能调用是显式的。也就是说AI 不会偷偷摸摸地自己决定用哪个技能而是会在对话中明确告诉你“我现在要调用‘需求分析’技能来梳理你的需求”。这个设计初看有点啰嗦但实际用下来会发现非常必要。因为 AI 编码最大的风险是“它以为它懂了其实它没懂”显式调用技能相当于强制 AI 把它的思考过程暴露出来你可以在它跑偏之前及时纠正。我踩过的一个坑是早期版本里有些技能是自动触发的结果 AI 在我不需要的时候突然开始做完整的代码审查流程浪费了大量 token 和时间。后来改成显式调用之后控制权完全回到用户手里你可以说“这次跳过审查直接写”也可以说“只做需求分析先不写代码”。这种灵活性在实际开发中非常重要因为不是每个任务都值得走完整流程。3. 安装前的环境准备与核心依赖梳理3.1 确认你的 AI 编码助手是否在支持列表内superpowers 不是万能适配的它目前主要支持几类主流的 AI 编码环境。在安装之前你需要先确认自己日常使用的工具是否在支持范围内。根据社区反馈和官方文档的说明支持情况大致如下工具类型支持状态备注终端类 AI 编码助手完全支持技能调用和文件操作集成度最高编辑器插件类 AI 助手部分支持需要插件版本在特定版本以上网页版 AI 对话工具有限支持只能使用纯对话类技能无法操作文件自建 API 调用方案需要手动配置技能库需要手动挂载到系统提示词中如果你用的是终端类工具那体验是最完整的因为 superpowers 的很多技能需要读写项目文件、执行命令、查看目录结构这些在终端环境里最自然。编辑器插件类也能用但部分涉及文件系统操作的技能可能会受限。网页版基本只能用到“需求分析”“方案设计”这类纯思考技能实操类技能用不了。注意在安装之前先把你当前 AI 助手的版本号记下来。superpowers 的某些技能包对宿主工具有最低版本要求版本太低会导致技能加载失败而且报错信息往往不明显容易误以为是安装步骤出了问题。3.2 技能库的获取与目录结构说明superpowers 的技能库通常以两种形式分发一种是打包好的技能集合适合新手一次性安装全套另一种是按需选择的技能模块适合有经验的用户只装自己需要的部分。我建议第一次安装时先用完整包跑通流程之后再根据实际使用情况做裁剪。安装完成后你的项目目录或用户配置目录下会出现一个技能库文件夹典型结构是这样的superpowers/ skills/ meta/ requirement-analysis.md task-decomposition.md code-review.md domain/ frontend/ backend/ database/ tasks/ react/ express/ testing/ config/ settings.json registry.jsonregistry.json是技能注册表记录了所有可用技能的元信息包括技能名称、触发关键词、依赖关系、适用场景。settings.json是你的个人配置可以设置默认启用哪些技能、哪些技能需要手动确认、技能执行的详细程度等。我建议安装后先打开registry.json扫一眼了解你手上有哪些技能可用这比遇到问题再翻文档效率高得多。3.3 与现有项目配置的兼容性检查在正式启用 superpowers 之前有一个容易被忽略但非常重要的步骤检查它和你现有项目配置的兼容性。具体来说你需要关注几个点项目的代码规范配置文件如果你的项目里有.eslintrc、.prettierrc、pyproject.toml等规范文件superpowers 的技能会尝试读取并遵循这些规范。如果规范文件里有自定义规则建议先确认技能是否能正确解析。项目的目录结构约定有些技能会默认按特定目录结构存放文件比如测试文件放在__tests__还是test目录。如果你的项目结构比较特殊可能需要在配置里手动指定。项目的依赖管理方式技能在执行安装依赖、运行脚本等操作时需要知道你的项目用的是 npm、yarn、pnpm 还是其他工具。这个信息通常在项目根目录的锁文件里能自动识别但如果你用的是比较小众的方案最好手动配置一下。我遇到过一次因为项目用了自定义的 monorepo 结构导致技能在错误的目录下执行了命令。后来在settings.json里显式指定了工作目录才解决。所以如果你的项目结构不是标准的单包结构这一步千万别跳过。4. 安装实操从零到跑通第一个技能4.1 获取安装脚本与执行安装命令superpowers 的安装方式通常是通过命令行完成的。根据你使用的宿主工具不同安装命令会有差异但核心逻辑是一样的把技能库下载到本地注册到宿主工具的配置中然后重启宿主工具让配置生效。以终端类 AI 编码助手为例典型的安装流程是这样的# 第一步进入你的项目根目录 cd /path/to/your/project # 第二步执行安装命令具体命令以官方文档为准 # 通常是类似这样的形式 npx superpowers-install --registryofficial # 或者如果你已经全局安装了 CLI 工具 superpowers install --full安装过程中脚本会做几件事检查宿主工具版本、下载技能库文件、写入注册表、备份原有配置。我建议在安装前先手动备份一下宿主工具的配置文件虽然脚本通常会做备份但自己留一份更安心。安装完成后你会看到类似这样的输出[superpowers] Checking host tool version... OK [superpowers] Downloading skill registry... OK (142 skills) [superpowers] Writing configuration... OK [superpowers] Backup created at ~/.config/host-tool/backup-20250101 [superpowers] Installation complete. Please restart your AI assistant.看到Installation complete之后一定要重启你的 AI 助手。很多技能注册信息是在启动时加载的不重启的话新技能不会生效。我见过有人安装完直接开始用结果发现技能列表是空的折腾了半天才发现是没重启。4.2 验证安装结果与技能列表检查重启之后第一件事是验证安装是否成功。通常你可以通过一个特定的命令或对话指令来查看已加载的技能列表。比如在终端助手里你可以输入/skills list或者直接用自然语言问它你现在有哪些可用的 superpowers 技能如果安装成功AI 会返回一个技能列表按类别分组展示。你应该能看到元技能、领域技能和任务技能都有内容。如果列表为空或者只有部分技能说明注册表没有正确加载需要检查安装路径和配置文件。我建议在这个阶段做一个简单的冒烟测试选一个最简单的元技能比如“需求分析”然后给它一个模糊的需求描述看它是否能正确调用技能并给出结构化的分析。比如你可以说帮我分析一下这个需求用户想要一个能导出数据的功能。如果 superpowers 正常工作AI 不会直接开始写代码而是会先调用需求分析技能问你一系列澄清问题导出什么数据、什么格式、数据量多大、有没有权限要求、导出频率如何等等。这个行为变化就是安装成功的标志。4.3 第一个完整技能调用从需求到代码的完整流程为了让你更直观地感受 superpowers 的工作方式我完整记录一次从需求到代码的实操过程。假设我们要给一个已有的 Node.js 项目加一个“用户列表分页查询”的接口。第一步需求分析技能我输入“帮我加一个用户列表分页查询的接口。”AI 的响应不是直接写代码而是调用需求分析技能输出了一份结构化的需求澄清清单[调用技能需求分析] 在开始实现之前我需要确认以下信息 1. 分页参数页码从 1 开始还是从 0 开始每页默认多少条最大允许多少条 2. 排序规则默认按什么字段排序是否允许客户端指定排序字段 3. 过滤条件除了分页是否支持按用户名、状态等条件过滤 4. 返回格式返回的数据结构是什么是否需要包含总条数、总页数 5. 性能要求用户表大概多少数据量是否需要考虑索引优化 6. 权限控制这个接口是否需要登录是否需要特定角色权限我回答了这些问题之后它才进入下一步。第二步方案设计技能AI 调用方案设计技能给出了两种实现方案[调用技能方案设计] 方案 A使用 ORM 的 skip/take 分页 - 优点实现简单代码量少 - 缺点数据量大时 offset 分页性能下降明显 方案 B使用基于游标的分页cursor-based - 优点性能稳定适合大数据量 - 缺点实现复杂度高客户端需要处理游标 考虑到你的用户表预计在 10 万条以内方案 A 的性能足够 建议先用方案 A后续数据量增长再迁移到方案 B。第三步代码实现技能确认方案后AI 调用代码实现技能按照项目已有的代码风格生成代码并且自动检查了项目里的 ESLint 配置确保生成的代码符合规范。第四步测试生成技能代码写完后AI 自动调用测试生成技能为这个接口生成了单元测试和集成测试包括正常分页、边界条件第一页、最后一页、超出范围、参数校验等场景。第五步代码审查技能最后AI 调用代码审查技能对自己刚生成的代码做了一次自检指出了两个潜在问题一个是缺少对每页条数上限的校验另一个是排序字段没有做白名单过滤存在注入风险。然后它自动修复了这两个问题。整个流程走下来我只需要在需求分析阶段回答几个问题在方案设计阶段做一个选择剩下的全部由技能自动完成。最终交付的代码质量比我直接让 AI 写要高出一个档次因为每个环节都有检查不会出现“写完了才发现需求理解错了”的情况。5. 技能配置与个性化调优5.1 技能启用策略全开还是按需启用安装完 superpowers 之后你会面临一个选择是启用所有技能还是只启用你需要的部分。我的建议是分阶段启用。刚开始的时候启用元技能和与你当前项目技术栈相关的领域技能就够了。任务技能可以等你熟悉了工作流程之后再逐步开启。原因很简单技能太多会导致 AI 在判断“该用哪个技能”时消耗更多 token而且有些技能之间可能存在触发条件重叠导致 AI 反复确认。我在早期全开的时候一个简单的“改个变量名”的任务AI 都要先走一遍需求分析流程虽然可以手动跳过但体验很割裂。配置技能启用状态通常在settings.json里操作典型配置长这样{ skills: { meta: { requirement-analysis: { enabled: true, autoConfirm: false }, task-decomposition: { enabled: true, autoConfirm: false }, code-review: { enabled: true, autoConfirm: true } }, domain: { frontend: { enabled: false }, backend: { enabled: true }, database: { enabled: true } }, tasks: { react: { enabled: false }, express: { enabled: true }, testing: { enabled: true } } } }autoConfirm这个参数值得说一下。设为true时技能执行到需要确认的节点会自动继续不会停下来问你设为false时每个关键决策点都会等你确认。对于你信任的技能比如代码审查可以设为true提高效率对于需求分析这种需要你输入信息的技能必须设为false。5.2 自定义技能把你的团队规范写进技能库superpowers 最强大的地方在于它支持自定义技能。你可以把团队内部的代码规范、部署流程、审查清单写成技能文件让 AI 在对应场景下自动遵循。这相当于把你的团队知识沉淀成了 AI 可执行的指令。自定义技能的格式通常是一个 Markdown 文件包含元信息头和技能正文。比如你要定义一个“团队 API 设计规范”技能可以这样写--- name: team-api-design description: 团队内部 API 设计规范所有新建接口必须遵循 trigger: 当任务涉及新建或修改 API 接口时 category: domain/backend --- # 团队 API 设计规范 ## 必须遵守的规则 1. 所有接口路径必须以 /api/v1/ 开头 2. 请求和响应必须使用 JSON 格式 3. 错误响应必须包含 code、message、details 三个字段 4. 分页接口必须返回 total、page、pageSize、items 四个字段 5. 所有涉及用户输入的字段必须做长度和格式校验 ## 命名约定 - 资源名使用复数形式如 /users 而不是 /user - 动作类接口使用动词开头如 /users/search - 路径中使用连字符而不是下划线 ## 检查清单 在完成 API 相关任务后逐项确认 - [ ] 路径是否符合规范 - [ ] 错误格式是否统一 - [ ] 分页字段是否完整 - [ ] 输入校验是否覆盖把这个文件放到技能库的domain/backend/目录下然后在registry.json里注册AI 在涉及 API 开发的任务中就会自动加载并遵循这些规范。我实际用下来这个功能对团队协作效率的提升非常明显尤其是新成员加入时AI 会自动按照团队规范引导他写代码减少了大量“这个写法不符合我们规范”的返工。5.3 技能执行详细程度的调节不同场景下你对技能输出的详细程度需求是不同的。探索性开发时你可能希望 AI 多给一些方案对比和解释紧急修复 bug 时你只想要它直接给答案。superpowers 通常提供一个“详细程度”配置项可以全局设置也可以在单次对话中临时调整。我常用的配置策略是场景详细程度说明新功能开发高需要完整的需求分析和方案对比Bug 修复低直接定位问题并修复不需要长篇分析代码重构中需要说明重构理由但不需要完整需求分析学习新技术高需要详细解释每个步骤的原理紧急上线低只做必要检查快速交付在对话中临时调整的方式通常是在指令里加一个修饰词比如“快速修复这个 bug跳过详细分析”或者“详细解释这个方案的取舍”。AI 会根据你的指令调整技能执行的深度。6. 常见问题与排查技巧实录6.1 技能不生效或加载失败的排查思路这是安装后最常见的问题。你明明按照文档装了但 AI 的行为没有任何变化还是直接写代码不调用技能。排查思路可以按以下顺序进行第一确认宿主工具是否重启。这是最容易被忽略的技能注册信息通常在启动时加载不重启不生效。第二检查技能库路径是否正确。打开宿主工具的配置文件找到技能库路径设置确认它指向的目录确实存在且包含技能文件。有时候安装脚本会把技能装到用户目录但宿主工具配置里写的是项目目录导致找不到。第三查看注册表是否完整。打开registry.json确认里面注册的技能数量和你预期的一致。如果数量明显偏少可能是下载过程中网络中断导致部分技能文件缺失。第四检查版本兼容性。宿主工具版本太低会导致部分技能无法加载。查看宿主工具的版本号对照 superpowers 文档里的最低版本要求。第五看日志。大多数宿主工具在启动时会输出技能加载日志如果某个技能加载失败日志里通常会有提示。日志位置一般在用户配置目录的logs文件夹下。我遇到过一次技能不生效的情况排查了半天发现是registry.json的文件权限不对宿主工具没有读取权限。所以如果你在 Linux 或 macOS 上安装记得检查一下文件权限。6.2 技能调用过于频繁或干扰正常对话的处理有些用户反馈说安装 superpowers 之后AI 变得“太啰嗦”了每做一个小操作都要走一遍技能流程反而降低了效率。这个问题通常是因为启用了过多技能或者技能的触发条件设置得太宽泛。解决办法有几个一是关闭不常用的技能只保留你日常真正需要的二是调整技能的触发阈值有些技能支持配置“只在任务复杂度超过某个级别时才触发”三是在对话中显式跳过比如直接说“这次不用走需求分析直接改代码”。我个人的做法是保留元技能中的“代码审查”和“测试生成”但把“需求分析”设为手动触发。这样日常小改动不会被频繁打断遇到复杂需求时我再手动调用需求分析技能。6.3 技能输出与项目实际规范冲突的解决superpowers 的技能库是通用的但每个项目都有自己的特殊规范。当技能输出的代码风格、目录结构、命名约定和你的项目不一致时你有几种处理方式修改技能配置在settings.json里覆盖技能的默认行为比如指定使用项目自己的 ESLint 配置而不是技能内置的规范。编写项目级技能覆盖在项目根目录下创建一个.superpowers文件夹里面放针对这个项目的技能覆盖文件优先级高于全局技能库。反馈给技能库维护者如果发现某个技能的默认行为和主流实践不符可以向技能库提交改进建议。我通常会在每个项目的.superpowers目录下放一个overrides.md里面写明这个项目的特殊约定比如“本项目使用 4 空格缩进”“测试文件放在spec目录而不是test目录”。AI 在加载技能时会优先读取这个文件确保输出符合项目实际。6.4 性能与 token 消耗的平衡技巧superpowers 的技能调用会消耗额外的 token因为技能本身有提示词开销而且技能执行过程中的多轮确认也会增加对话轮次。如果你用的是按 token 计费的服务成本会明显上升。控制成本的方法有精简技能库只保留真正需要的技能减少注册表大小和技能检索开销。合并简单任务把多个小任务合并成一个指令让 AI 在一次技能调用中完成而不是每个小任务都走一遍流程。调整技能详细程度在不需要详细解释的场景下把详细程度调低减少输出 token。使用缓存部分宿主工具支持技能提示词缓存重复调用同一技能时不会重复计费确认你的工具是否开启了这个功能。我实测下来合理配置之后superpowers 带来的额外 token 消耗大约在 20% 到 40% 之间但换来的代码质量和一次通过率提升远远超过这个成本。尤其是减少了“写错了再改”的返工总体效率是提升的。7. 技能组合实战一个完整功能从零到交付7.1 场景设定与初始指令为了让你看到 superpowers 在真实项目中的完整表现我记录一个最近实际完成的功能开发过程。项目背景是一个内容管理系统需要新增一个“文章批量导入”功能支持从 CSV 文件导入文章数据。我的初始指令很简短“帮我加一个文章批量导入功能从 CSV 文件导入。”如果没有 superpowersAI 大概率会直接给我一段读取 CSV 并插入数据库的代码然后我运行发现各种边界情况没处理来回改很多次。有了 superpowers流程完全不一样。7.2 需求分析阶段的技能调用实录AI 首先调用需求分析技能输出了一份详细的问题清单[调用技能需求分析] 关于文章批量导入功能需要确认以下细节 1. CSV 文件的格式列名是什么是否有表头编码格式是 UTF-8 还是 GBK 2. 数据量级单次导入大概多少条是否需要支持大文件分片上传 3. 错误处理如果某一行数据格式错误是跳过继续还是整体回滚 4. 重复数据如果导入的文章标题已存在是覆盖、跳过还是报错 5. 字段映射CSV 列和数据库字段的对应关系是固定的还是可配置的 6. 权限控制哪些角色可以执行导入操作 7. 异步还是同步导入过程是同步等待还是异步后台处理 8. 进度反馈用户是否需要看到导入进度通过什么方式反馈我逐一回答后AI 整理出了一份需求确认文档让我最终确认。这个阶段大概花了 3 分钟但避免了后面可能出现的多次返工。7.3 方案设计与技术选型讨论需求确认后AI 调用方案设计技能给出了技术选型建议[调用技能方案设计] 基于确认的需求建议方案如下 CSV 解析使用 csv-parse 库支持流式解析适合大文件 异步处理使用 Bull 队列导入任务放入队列后台执行 进度反馈通过 WebSocket 推送导入进度 错误处理逐行处理错误行记录到日志不影响其他行 重复处理标题重复时跳过并记录不覆盖已有数据 备选方案对比 - 同步导入实现简单但大文件会阻塞请求不推荐 - 数据库原生 LOAD DATA性能最好但格式要求严格灵活性差我选择了推荐方案并确认了队列服务的配置细节。7.4 代码实现与自动测试生成方案确认后AI 依次调用代码实现技能和测试生成技能产出了以下内容CSV 解析服务含编码检测和列映射导入任务队列处理器WebSocket 进度推送模块导入结果统计和错误日志记录单元测试覆盖解析逻辑和错误处理集成测试模拟完整导入流程代码生成过程中AI 自动读取了项目的 ESLint 配置和 TypeScript 配置确保代码风格一致。测试文件也按照项目已有的测试目录结构存放。7.5 代码审查与最终交付检查最后AI 调用代码审查技能对自己生成的代码做了全面检查发现了三个问题并自动修复CSV 解析时没有限制单行最大长度存在内存溢出风险WebSocket 推送没有做频率限制大量数据时可能刷屏错误日志没有脱敏可能记录用户敏感信息修复完成后AI 输出了一份交付清单列出了所有新增文件、修改文件、需要执行的数据库迁移命令、需要配置的环境变量。我按照清单操作一次跑通。整个功能从开始到交付我实际投入的时间大约 25 分钟其中大部分时间是在回答需求分析的问题和确认方案。如果不用 superpowers同样的功能我估计需要 2 到 3 小时而且代码质量大概率不如这个。8. 关于 superpowers 的一些个人体会用了一段时间 superpowers 之后我最大的感受是它改变的不是 AI 的能力上限而是 AI 的行为下限。裸用 AI 编码助手时它的上限很高有时候能写出非常漂亮的代码但下限也很低经常犯一些低级错误。superpowers 通过技能系统把那些“工程常识”固化成了 AI 的默认行为让它的输出质量变得稳定可预期。另一个体会是技能库的维护比安装更重要。安装只是一次性动作但技能库需要随着项目演进不断调整。团队规范变了、技术栈升级了、新的最佳实践出现了这些都需要反映到技能配置里。我现在的做法是每个季度 review 一次技能库把不再适用的技能关掉把新的团队约定写成自定义技能加进去。还有一个容易被忽略的价值superpowers 的技能文件本身就是很好的团队文档。以前团队规范写在 Wiki 里没人看现在写成技能文件AI 每次执行任务时都会遵循相当于规范被强制执行了。新成员加入时看技能文件就能了解团队的工程实践比读文档直观得多。如果你还在犹豫要不要装我的建议是先在一个小项目上试选三到五个核心技能启用跑通一个完整功能开发流程。感受到行为差异之后再逐步扩展到日常工作中。不要一上来就全开那样反而会被过多的流程打断产生“这东西不好用”的错觉。
阅读完成 · 觉得有帮助?