
最近被朋友问得最多的一个词就是“superpowers”。一开始我以为他说的是某部电影里的设定后来发现技术圈里真正在讨论的是一套把 AI 编程助手从“会聊天”变成“能干活”的技能扩展方案。很多人一听名字觉得玄乎其实它本质上就是一组高度结构化的skills技能包通过统一的引入机制让你手里的 AI 工具拥有可复用、可组合、跨项目生效的“肌肉记忆”。这篇文章我打算把自己实际折腾“superpowers”的完整过程分享出来不绕弯子直接讲清楚它解决了什么问题、有哪些常用的 skills、怎么安装、怎么把技能真正引入到你自己的项目里以及我踩过的那些坑。无论你是刚接触 AI 辅助编程的小白还是已经被 Prompt 工程折磨过一阵的老手看完应该都能快速上手照着做就能用起来。1. Superpowers 是什么解决什么问题1.1 一个容易被误解的名字先说结论在开发工具语境下“superpowers”是一个技能包集合的名字它不是什么云服务、也没有什么认证体系更不需要你额外部署一台服务器。它的核心形态就是一个可以被你的 AI 编程助手读取的目录结构里面包含了一系列写好的、带明确触发条件和执行步骤的“技能说明”。我最初见到这个项目名称的时候也犯了职业病下意识觉得这应该是某种框架或者 CLI 工具。但真正把它跑起来之后我才意识到它更接近“给 AI 换一套操作系统”——把那种每次都要重新啰嗦一遍的长 Prompt变成一套按需加载的技能文件。给你的 AI 装上这些技能后它面对需求时的反应不再是“好的我可以帮你”而是“按照已加载技能规则先收集信息再拟方案然后执行”。这种差异听起来很小真正用起来区别非常大。以前我让 AI 帮忙做一个代码重构它上来就给你改改完你还要花大量时间去 review 它到底动过哪些文件。而引入 superpowers 之后AI 会先按照技能里定义的工作流帮我先生成变更计划列出风险点然后逐文件执行整个过程像多了一个有工作规范的实习生而不是一个热情但莽撞的新同事。1.2 它的核心思路先定义流程再让 AI 干活这里需要解释一下它的设计逻辑。我们平时用 AI 编程本质上是在和模型“对话”每轮对话都是一次从零开始的上下文。模型没有记忆也没有职业习惯你不知道它下次遇到同样需求时会给出什么风格的代码。Superpowers 做的事就是把“遇到 XX 任务时应该怎么思考、怎么拆解、怎么执行、怎么验证”这套方法论固化下来写成一个一个 markdown 文件。每个文件就是一个 skill里面包含了触发词、推荐时机、执行步骤、检查清单、常见错误规避方式。当 AI 助手加载了这套技能库后它会在处理用户请求时先去查询这些技能文件命中对应技能就按技能中的流程执行而不是直接去生成代码。这个思路看起来不复杂但意义很关键。以前我们把经验写在人的脑子里、写在团队的 wiki 里、写在文档库里AI 每次都视而不见。现在等于把这些经验拆成了 AI 可以直接读取的指令手册让 AI 按你认可的方式干活。你可以把自己的最佳实践、代码规范、测试策略全部沉淀为技能然后用 superpowers 的方式统一管理起来比单纯改 system prompt 要灵活得多。1.3 它适合谁不适合谁从我自己的使用经验来看以下几类人最适合折腾 superpowers团队里负责推广 AI 编码的人你不再需要给每个人写长篇大论的“AI 使用规范”直接分发技能包就行。重度使用 AI 辅助编程的独立开发者你需要跨项目复用一套工作方式比如每次开发新模块都要先写测试、再写实现把它固化成技能之后就不用重复嘱咐。方案型工程师经常要做技术调研、方案对比、风险分析把一套结构化的分析框架配给 AI产出质量会稳定很多。反过来如果只是偶尔让 AI 帮你写个一两百行的小函数或者你并不关心 AI 产出的代码风格是否一致那 superpowers 对你来说确实有点重。它强在“稳定”和“可复用”而不是“一次性的灵光一闪”。在你对 AI 的使用频率还没上来之前先别急着上这套体系否则配置的成本会比收益高。2. 有哪些可用的 Skills2.1 按工作流类型划分Superpowers 的技能不是随便堆在一起的文本集合它们基本都围绕实际开发流程来组织。我自己整理了一下常见的 skills 大概可以分成这么几类代码生成类例如“创建新模块”“编写单元测试”“实现接口”“生成数据库迁移脚本”。这类技能的核心是规定了模型在生成代码前需要做哪些确认、输出要遵循什么格式、哪些场景下必须停下来问一下用户。代码分析类例如“阅读并解释项目”“定位 Bug”“性能分析”“依赖关系梳理”。这类技能强调先建立代码地图、再缩小搜索范围最后给出定位结论而不是一上来就漫天猜。重构与维护类例如“小步重构”“重命名变量并同步引用”“拆分大文件”“升级依赖包”。这类技能的关键点是约束 AI 的行为比如一次只改一个逻辑、永远不把重构和功能调整混杂在同一个 commit 里。研究与方案类例如“技术选型对比”“写设计方案”“做代码评审”“复盘线上问题”。这类技能会引导 AI 输出结构化的分析包括背景、现状、选项、优缺点、推荐结论、实施计划。这一整套分类方式其实很像传统软件工程里的“过程资产库”只不过以前是人看文档照着做现在是 AI 读技能文件照着执行。理解了这一层你就不会再用“它能帮我写代码吗”这种思路去理解它。2.2 我常用的几个技能详解在 superpowers 项目里有一些 skill 是我每次配置环境后必装的今天挑几个最有代表性的说说。Plan 与 Execute 这对技能组合可能是核心中的核心。它要求 AI 在处理稍微复杂的任务时先把用户的大需求拆分成一个个小任务输出一份“执行计划”包括每一步要改哪些文件、涉及什么风险、如何验证。用户确认计划之后AI 才进入执行模式并且每完成一步都会做一次轻量自测。这个技能最大的价值就是解决了 AI 最让人头疼的问题不打招呼就开干干了一半就停。有了 plan 机制之后上下文再长也能保持思路清晰。TDD 技能也很被高频使用。它把“先写测试再写实现每轮只让一个测试通过”的流程嵌入到 AI 的开发习惯里。以前我需要手动给 AI 下达类似“请你先写单测再写函数”的指令而且往往说完第一遍它写着写着就跑偏了。用了这个技能后只要任务描述里包含新功能AI 会自动识别该场景并按 TDD 流程执行最终交付的代码质量和可回归性都提升了不止一个档次。Code Review 技能同样值得称道。我经常把自己刚写完的 diff 丢给它做 review它会按照技能里定义的标准去检查包括业务逻辑是否完整、边界条件是否覆盖、异常分支是否处理、命名是否清晰、有没有明显性能问题。这比我以前叫它“帮我看看这段代码有没有问题”要专业得多至少它不会只说一句“看起来不错”而是能给出有具体行号和建议的评审记录。2.3 技能之间怎么组合单独的 skill 只是规范了某一类场景的行为但你实际干活的时候往往需要多个技能协同。比如你接到一个“给项目新增一个导出功能”的需求真正跑起来可能会依次触发分析现有代码结构的技能、设计接口方案的技能、TDD 开发技能、编写变更说明的技能。Superpowers 的实现里技能文件支持引用其他技能。这样你可以在一个 entry skill 里声明它依赖哪些子技能AI 在识别到入口技能后再层层触发相关子技能的内容。这种组合机制相当于把“一条 workflow”拆成了“一组原子技能”每个技能只做好一件事组合起来就可以应对非常复杂的任务。我后来在做团队内训的时候就是按照这个思路把团队的所有开发规范改造成了一堆独立的 skills。比如“日志规范”“API 错误处理规范”“数据库表结构设计规范”彼此独立遇到对应场景就自动加载效果比写一份十几页的规范文档要实用得多。3. 安装与引入技能3.1 安装前的准备在你安装 superpowers 之前先确认你的 AI 编码助手支持“读取本地技能目录”这个能力。一般来说现在主流的 AI 编程工具基本都支持通过配置文件指定额外的技能路径有的叫 workspace 指令有的叫 agent 规则本质上都是在对话时让模型多读取一些背景文档。我自己习惯先把技能目录放到用户主目录下比如~/.superpowers/skills这样我所有的新项目都能共享同一套技能。如果你只想在单个项目里使用也可以把技能目录放在项目根目录下配合.gitignore做了版本管理然后只同步给队友也是完全可行的。另外建议你提前想好一个问题你到底需要一个覆盖很广的全能技能包还是一个只围绕你日常最常用场景的精简技能包这个问题决定了后续所有配置的复杂度。我个人的经验是刚开始别贪多只挑最核心的 5 到 8 个技能先跑顺流程再逐步扩充。你一上来就把几百个技能塞进工具里AI 反而会因为选择过多而不知道用哪个。3.2 标准安装流程下面以我常用的安装方式为例说下完整的操作步骤。假设你已经把 superpowers 仓库 clone 到了本地或者自己整理了一份技能目录。第一步确认技能目录结构。一个技能通常就是一个子目录里面至少要有一个主文件skills/ ├── plan/ │ ├── SKILL.md # 主技能说明 │ └── examples/ # 可选示例参考 ├── execute/ │ ├── SKILL.md ├── tdd/ │ ├── SKILL.md └── code-review/ ├── SKILL.md每个SKILL.md里有几个关键区段技能名称、触发场景、执行步骤、输出格式、注意事项。下面是简化后的示例# Skill: Code Review ## 触发场景 当用户要求 review 代码、检查 PR、或分析已修改的文件时触发。 ## 执行步骤 1. 确认需要 review 的文件范围。 2. 逐一读取文件标注修改了哪些逻辑。 3. 从正确性、边界条件、性能、可读性四个维度输出评审意见。 4. 对每个问题标注所在文件和行号并说明理由。 5. 给出修改建议但不直接改动代码。 ## 注意事项 - 如果存在严重的正确性问题立即停止并优先汇报。 - 禁止对风格类问题吹毛求疵。第二步把技能目录路径告诉你的 AI 助手。不同工具配置方式略有差异但大多是通过配置文件指定额外的读取目录。我通常在项目根目录放一个配置文件在里面添加一行指向全局技能目录的路径保证本地项目能自动发现技能。# ai.config.yaml 示例 skills_directories: - ~/.superpowers/skills第三步验证技能是否被正确加载。这一步很多人会跳过我强烈建议别偷懒。你可以直接问你的 AI 助手一句请列出你当前可用的技能。如果它能准确说出几个技能名称并简要描述用途说明导入成功。如果它回答得很模糊甚至说不知道那就赶紧回去检查路径和目录结构不要带着坏配置开始干活。3.3 使用包管理器安装核心技能如果你不想手动从 GitHub 复制文件更推荐用包管理器直接安装。现在社区里已经有一些集成了常用 superpowers 技能的发布包你可以通过一行命令快速拉取# 安装核心技能包示例命令 superpowers install core # 查看已安装技能列表 superpowers listlist命令非常实用它会打印出所有已安装技能的目录路径和技能描述方便你在需要的时候快速确认技能是否存在。命令输出的信息会比较紧凑每一行一个技能包含名称和一句触发条件描述完全足够让人浏览。在执行安装之前注意检查包管理器是否配置了正确的 registry 地址。曾经我因为本地镜像源没走对安装时报了一串 404当时还以为是包名写错了折腾了小半天。建议装之前先在终端里跑一条superpowers registry check确保能正常连接远端仓库再执行安装命令。这个步骤虽然不起眼但确实能避免大量时间浪费在错误的方向上。4. 怎么把这些技能用起来4.1 让技能“按需触发”而不是“常驻脑海”技能安装好了并不等于万事大吉。很多人的误区是以为把技能目录配给 AI 之后AI 就自带全部技能光环了。实际跑起来你会发现AI 每次仍然需要先“读”到技能内容才知道该怎么干活。所以真正的好习惯是在对话里显式地让 AI 加载对应技能。比如你可以这样写请使用 Code Review 技能review 一下本地未提交的改动。或者更自然一点我要新增一个用户注册接口请使用 TDD 技能完成。这样 AI 就会定向去寻找对应的CODE_REVIEW或TDD技能文件按照里面的步骤来执行。如果你不说很多时候它默认只会用反复训练出来的泛化能力去响应你技能库形同虚设。4.2 项目级技能与全局技能的取舍我在第一部分提过技能目录可以放在全局也可以放在项目里。实际使用下来两者都有自己的使用场景很难互相替代。全局技能目录适合放那些与项目无关的通用工作流比如 TDD、代码评审、方案设计、Bug 定位。这些技能无论你做什么项目都会用到放在全局一次配好就可以长期复用。缺点是因为技能太多AI 在每轮对话里都可能会去扫一遍目录选择成本略高。项目级技能目录则适合放那些与当前代码库强相关的东西。比如你所在的团队有一条铁律所有新增 API 必须写 OpenAPI 文档还有一条所有对外返回的错误结构必须统一。这种项目专属规则写成技能放在项目里AI 在处理本项目任务时命中率非常高而且不会对其他项目造成污染。一个比较稳的策略是全局放“怎么做”项目放“做什么”。我自己的目录结构大概是这样的~/.superpowers/skills/ # 全局通用工作流 plan/execute/tdd/code-review /path/to/my-project/.superpowers/skills/ # 项目专属约束 api-doc-standard error-code-style database-design-principles这样配置好后AI 既知道怎么样干活也知道在你这个项目里要遵循什么规矩。4.3 一个完整的实操演示纸上谈兵不如直接跑一遍下面我用一个实际例子展现技能组合的效果。假设我需要在某个项目里新增一个“批量导入用户”接口我会在对话框里输入请分析现有用户模块的代码结构然后规划并实现批量导入用户接口使用 TDD 技能。AI 识别到“分析代码结构”和“TDD”对应技能后会分阶段执行。第一阶段它会读取用户模块相关文件输出一个简明的模块地图告诉我大致的代码组织方式。第二阶段它会按照 TDD 技能的要求先写一个失败的测试文件覆盖“导入成功后返回成功数量”“部分数据非法时给出详细错误信息”“重复数据跳过并统计”这几个场景。第三阶段它才开始写具体实现代码并且每写完一小段就运行测试直到所有测试通过。最后它还会主动用 Code Review 技能检查自己刚刚写完的代码并给我一份自检报告。这一整套动作如果不用 superpowers我可能需要在多条消息里反复指挥它“先不要写代码”“先看下 XX 文件”“测试跑一下看看”。现在一次就位虽然前期配置折腾了一点但真正使用时的省心程度确实物有所值。4.4 如何自定义一个自己的技能如果你觉得现成的技能不够贴合自己的场景完全可以自己写一个。定义一个技能的核心要素有几个触发条件要写清楚不然 AI 不知道什么时候该用它执行步骤要足够具体AI 才不会自由发挥输出格式尽量固定这样你接收结果的时候不用每次重新适应。我分享一下自己写的一个“线上问题排查”技能骨架# Skill: 线上问题排查 ## 触发场景 当用户报告线上异常、服务报警、或某个功能在特定条件下失效时触发。 ## 执行步骤 1. 请用户提供时间点、现象描述、涉及模块、日志入口。 2. 主动分析代码中可能导致问题的区域按照“输入校验 - 逻辑处理 - 外部依赖 - 数据存储”的顺序排查。 3. 输出排查结论至少包含最可能原因、次要可能原因、验证方式、临时规避方案、修复建议。 4. 不要直接修改线上代码先输出方案供用户确认。 ## 输出格式 - 问题定位... - 验证方式... - 临时方案... - 修复建议...写完之后把它放进技能目录就完成了技能的一次更新。重点提醒一下写技能文件时一定要用具体的、没有歧义的语言避免出现“分析一下”“看看怎么回事”这类模糊指令否则 AI 会把你认为的规矩自动打折处理。5. 常见问题与排查思路5.1 技能加载失败这是大家碰到最多的一个问题现象是安装目录配好了但 AI 对话时完全不受技能约束。排查的时候我建议按照下面的顺序一步步来排查点检查方法目录路径是否存在打开终端用ls ~/.superpowers/skills确认目录真实存在目录结构是否正确技能目录下必须有一个包含 SKILL.md 的子目录不能直接平铺配置文件是否生效查看你的 AI 工具配置确认技能路径没有被重复覆盖技能名是否与触发词一致对话里提到的技能名称需要与 SKILL.md 里面的名称字段保持一致工具版本是否支持部分 AI 编程工具的老版本不识别本地技能目录更新到最新版即可这五个检查点覆盖了我遇到的 90% 以上的加载失败场景。如果都查完了还是不行你还可以打开工具的日志文件查看启动时读取了哪些目录日志里通常有明确线索。5.2 技能之间互相冲突会出现这种情况的场景一般是某个任务同时命中两个技能而且两个技能定义的执行步骤有冲突。比如“TDD 技能”要求先写测试但“快速原型技能”要求先追求速度做个最小实现。AI 会犹豫到底听谁的表现出来就是一会儿按这个思路、一会儿又偏向另一个思路。解决冲突最好的方法是给技能定义明确的优先级。你可以在 SKILL.md 开头加一个“优先级”字段或者在触发场景里强调“当与快速实现类请求冲突时本技能优先”。另一种做法是把两个技能合并成一个更上层的技能约定好它们之间的执行顺序而不是让它们平行存在。5.3 技能内容过时导致的错误行为技能文件不是一劳永逸的。项目重构之后技能里写的旧路径、旧命名可能已经失效团队规范更新后技能里的老建议也会误导 AI。我的做法是每个月做一次技能体检重点检查和当前项目结构、当前团队规范是否一致。另外当你发现 AI 因为技能产生了误导性行为时不要先在对话里纠正它而是先修改技能文件本身。你在对话里的临时纠正只能影响当前会话技能文件才是长期起效的规则源。千万记得把两者的修改机制分开。5.4 什么时候该放弃某个技能有些技能你装了之后会发现根本没有触发过或者每次触发得到的结果都没有实际参考价值。遇到这种情况就不要硬撑。技能不在多而在精保留一套每次使用都有高确定的技能比存放几十个吃灰的模板要健康得多。我自己的淘汰标准有三条三个月没用过、输出格式没有真实场景用得上、维护成本超过收益。命中其中任意两条直接删掉不用心疼。一个精简的技能库才能让你的 AI 助手反应更快、执行更果断。6. 一些值得长期坚持的习惯最后聊点方法论层面的体会。虽然 superpowers 安装简单、目录结构一看就懂但它真正有价值的部分是“持续迭代”。你把技能库当成一个活的项目来维护而不是一次配置永久使用才能获得长期回报。快捷键技能和包管理工具的技能虽然不同但底层逻辑类似把常用的、验证过的、稳定的操作模式沉淀下来。你不需要把所有流程数字化只需要挑出频率高、有明确好处的场景来设计技能。每周花一点时间翻翻技能列表看看哪条还符合现状哪条已经不再适用日积月累你的技能库会比任何固定的系统提示词都更有生命力。还有一个比较反直觉的经验是技能文件写得好不好不看它长不长而看它能不能让 AI 在最短的上下文内做出正确的决策。所以措辞要短、步骤要清晰、判定条件要明确。我以前犯过一个错误把团队规范原封不动贴进技能文件后果是 AI 读起来费力执行出来的效果也糊里糊涂。后来我把它重新拆成带判定标准的小步骤效果瞬间好了很多。当然也别指望技能库能处理所有事情。真正复杂的、充满歧义的、需要人脑判断的决策还是得自己做。技能库能帮你做的是把那些有明确规则的活儿变得稳定高效把那些重复繁琐的流程交给 AI让你有更多精力去处理真正有创造性的事。这也是我在折腾 superpowers 一段时间后最大的感受。