
最近在折腾 AI 编程的时候我一直在琢磨一个问题同样的模型为什么有些人用起来像开了外挂有些人用起来就是个高级问答机器后来我逐渐意识到差距往往不在模型本身而在于你会不会给 AI“上 buff”。今天要说的superpowers就是一套给编程助手追加“技能”的能力增强方案它不是某个单一插件而是一个按场景拆好的技能仓库把代码审查、重构、日志分析、依赖升级这类高频任务封装成 AI 能直接理解并执行的技能。装上它之后AI 的行为模式会肉眼可见地变聪明很多原本要来回掰扯好几轮的活一句话就能跑完。这篇文章我会从设计思路、技能清单、安装流程、实际使用到我踩过的坑完整过一遍适合两类人看一是觉得 AI 写代码不够懂你、想让它更“听话”的开发者二是团队里想沉淀一套统一 AI 工作流、减少重复劳动的人。看完你应该能自己装好、用起来并且知道怎么把团队自己的规范也固化成技能。1. 内容整体设计与思路拆解1.1 从“通用对话”到“按需技能”superpowers 的核心理念先说清楚 superpowers 解决的是什么问题。大模型本身确实什么都会一点但“会一点”意味着它在具体场景里往往不够深入。你让它“审查这段代码”它会很泛地跟你聊代码风格、命名规范、有没有明显 bug却不一定能按你们团队的规范去查也不会主动去验权限漏洞、查依赖安全问题、核对日志输出格式。问题不是模型不够聪明而是它没有一套“岗位说明书”不知道在特定任务里到底该按什么标准干活。superpowers 的思路很简单把 AI 在某个任务上应该具备的知识、步骤、操作方式固化成一个独立、结构化的“技能文件”。每个技能就是一份目录里面有说明文档、检查清单、可执行的脚本AI 在读到你发出的请求之后会先找到匹配的技能再按技能里的步骤去工作。这就像你雇了个实习生不给他任何培训他就只能凭感觉做事但你给了他一沓标准作业流程他就能干得又快又稳。superpowers 干的就是这沓流程的事。这个设计最聪明的地方在于它不试图让 AI 学会“编程”而是让它学会“按规范执行任务”。编程能力和规范执行是两回事。前者靠模型本身的训练后者靠外部知识的注入。superpowers 把大量工程实践中的隐性经验——比如怎么排查线上问题、怎么做一次完整 code review、怎么安全地升级依赖——显性化成 AI 可以直接调用的技能模块这恰恰是通用模型最缺的东西。1.2 为什么用技能包而不是继续堆提示词可能有人会问我自己在 prompt 里把规则写清楚不就行了为什么非要装一套技能包我一开始也是这么想的后来发现堆提示词的方案有硬伤。第一上下文窗口有限。你不可能在每个 prompt 里都塞进几十条规范、几百行示例写上几次对话就爆了。而技能文件是外置的AI 只在匹配到对应任务时才加载相关的内容平时不占上下文。第二提示词是一次性的技能是可复用的。你在 prompt 里写一套审查规范用完就没了下次还得重新写就算存在备忘录里复制粘贴也很容易漏。superpowers 里的技能是独立文件一次安装、处处可用而且可以跨项目共享。第三提示词的质量参差不齐。我自己早期写 prompt 就是东一句西一句想到哪写到哪AI 的执行效果很飘。技能包则有一套相对严谨的结构——目标、步骤、检查项、输出要求——这本身就是“工程化”的产物比个人随手写的提示词稳定得多。所以我的结论是提示词适合描述“一次性的临时需求”技能包适合沉淀“重复发生的固定任务”。如果某个任务你一个月要做八次它就值得被固化成技能。1.3 哪些场景收益最大给技能包排个优先级装 superpowers 之前先想清楚你最需要哪些技能。根据我的实际体验下面四类场景是我装了之后感觉性价比最高的代码审查让 AI 按规范逐项查代码不只是看出明显 bug还包括安全漏洞、边界条件、性能隐患、可维护性输出结构化评审意见。重构辅助AI 不只帮你改代码还会先分析现状、生成重构计划、分步执行最后跑测试验证避免“改完就炸”。调试和日志排查让 AI 学会从堆栈信息、日志文件中定位根因而不是只盯着报错那一行。文档和注释生成按项目风格补齐文档说明不啰嗦也不遗漏关键 API。简单说凡是需要“多步骤 固定规范 可预期输出”的任务都值得优先上技能包。那些“帮我写个函数”这种一句话的事反而不需要技能化直接对话就行别把简单事情搞复杂了。2. 核心细节解析与实操要点2.1 superpowers 里到底有哪些 skills我装上 superpowers 之后做的第一件事就是把技能包里的目录翻了一遍看看它到底给我准备了哪些能力。以我目前环境中实际生效的技能清单为例大体可以分成以下几类技能类别典型技能示例适用场景代码质量code-review, refactor, test-writing, dead-code-detection代码审查、重构、补测试、清理无用代码调试排查bug-diagnosis, log-analysis, crash-debugging线上问题排查、日志分析、崩溃定位工程化dependency-audit, dockerfile-review, ci-workflow依赖安全检查、Docker 配置审查、CI 流程优化文档协作readme-generator, api-docs, changelog-writer生成 README、API 文档、更新日志数据与脚本>skills/ code-review/ SKILL.md review-checklist.md scripts/ scan_review_scope.pySKILL.md是这个技能的主文件AI 会优先读取它。里面写明了技能的触发条件、工作步骤、输出格式要求相当于“岗位说明书”。review-checklist.md是配套的检查清单AI 在执行审查时会逐条对照。scripts/目录下放着辅助脚本比如自动扫描代码改动范围、拉取 git diff 之类的工作。我建议你自己也动手拆一个技能目录看看重点观察两个细节。第一个细节是SKILL.md 的写法非常具体。它不会写一句“请审查代码质量”而是会写“检查是否有 SQL 注入风险”“确认异常被捕获且不会吞掉根因”“验证异步链路是否有超时控制”。这种具体性是技能包有效的核心原因——模型对模糊指令会自由发挥对精确检查项则会逐条执行。第二个细节是技能支持嵌套依赖。一个技能可以引用另一个技能比如 refactor 技能可能会在重构前调用 code-review 来确认基线质量。这种复用设计让技能包可以做得很大而不显得杂乱而你在配置的时候不需要管它内部怎么嵌套只要装好就行。2.3 引入技能的原理先装仓库再告诉 AI 去哪找搞明白技能文件长什么样之后下一个问题是AI 怎么知道有这些技能又怎么在合适的时机调起来这里就涉及 superpowers 的引入原理了说穿了就三步把技能仓库放到本地告诉 AI 技能目录的路径AI 在收到任务时自己去目录里匹配。这个过程很像给编辑器配置代码补全。代码补全工具不是把几千个函数都塞进内存而是维护了一个索引在你输入前缀的时候去索引里匹配候选。superpowers 也一样AI 不会把所有技能读进上下文它只会在收到一个任务时根据任务描述去技能目录里检索最匹配的那个技能然后加载对应的SKILL.md来指导自己执行。这一步有个关键词叫“加载规则”不同的集成方式有不同的加载方式但大体逻辑一致。我自己的理解是你不需要了解特别底层的实现只需要掌握两个配置点——技能仓库放哪、AI 助手能不能读到这个路径。接下来第三部分我会给你一套可以直接复制的完整安装流程。3. 实操过程与核心环节实现3.1 安装 superpowers三步完成最小可用配置我在新机器上装 superpowers 已经装过好几遍现在基本能做到五分钟内从零到一跑通。下面这套流程是我实测稳定可用的方式核心就三步获取技能包本体、放到约定位置、让 AI 助手识别。第一步获取技能包。打开终端在你想存放技能仓库的目录下执行git clone https://github.com/your-superpowers-repo.git superpowers cd superpowers执行完ls看一下确认目录里能看到skills/子目录。到这里你已经拿到了技能包的“源码”。第二步确认目录结构。用下面的命令看一下当前路径记下它后面配置要用pwd我一般会把技能仓库放在~/Development/superpowers这种地方而不是放在某个项目目录里。原因是技能包是跨项目使用的全局能力不应该绑定在单个项目内部。第三步在 AI 助手的配置里声明技能目录。绝大多数的编程助手都有配置文件有的是图形界面设置有的是项目根目录下的.json或.md格式的配置文件。你要做的就是在配置里把技能目录路径填进去告诉 AI “遇到任务可以去这里找对应技能”。填好之后可以先用一句话验证“列出你当前可用的 superpowers 技能清单”看看 AI 能不能正确报出那串技能名字。能报出来说明引入成功报不出来直接跳转到第四部分排查。3.2 把技能真正“用”进项目全局安装与按项目启用装好技能包之后还有一个常见的困惑我开了技能但在具体项目里没感觉 AI 变聪明。这里的关键在于很多技能的启用不是全局的而是按项目来的。我在实际工作中会做一个很简单的区分全局技能负责那些跨项目都适用的能力比如代码审查、日志分析、文档生成项目级技能负责跟当前项目强相关的东西比如你们项目特有的目录规范、框架约束、命名约定。如果你想按项目启用技能通常的做法是在项目根目录下建一个.superpowers文件夹里面放两个东西一是软链接指向你全局技能目录里要启用的技能二是一个项目说明文件里面写明这个项目的技术栈、关键路径、特殊规范。举个例子。我维护的一个后端服务项目里项目说明文件里写了一句话“本项目严禁在事务块内调用外部 HTTP 接口所有 Redis 操作必须走缓存代理层。”在启用了 code-review 技能之后AI 做代码审查时会先读取这份项目说明再结合技能步骤执行输出里就会包含项目规范的专项检查项。这比单独在 prompt 里强调规则可靠得多因为技能机制保证了它每次审查都会主动加载这份说明。3.3 验证技能是否生效拿一个真实场景跑一遍配置做完别急着开始大规模使用先花两分钟做一个端到端验证。我这有个验证方法屡试不爽。找一段历史代码故意在里面埋两个问题。比如一个常见的坑是在循环里拼接字符串另一个是捕获了异常但是只打日志不抛错。然后向 AI 发起一次需求比如使用 code-review 技能审查 src/services/user_service.py重点关注错误处理和性能隐患。注意这里的写法把“code-review 技能”这几个字明确交给 AI。虽然理论上 AI 可以通过路由自动匹配技能但我会建议在前几次使用中主动点名技能名称一是测试技能是否真的被加载二是帮 AI 减少匹配成本。如果技能生效AI 的输出会明显不一样。它不会给你一句“整体代码质量不错”而是会按结构输出问题分级列表逐条说明问题位置、影响面、修改建议。而且你埋的那两个问题应该会被准确捕获——循环拼接字符串它会指出来建议用列表收集再join异常吞掉它会标记为“严重”级别并说明会掩盖真实故障。跑完这个验证基本可以放心使用了。如果输出仍然是那种空泛的泛泛而谈说明技能没有被实际调用回第四部分排查。4. 常见问题与排查技巧实录4.1 现象一装完技能没生效AI 还是老样子这个问题我遇到过好几次也是最容易让新手泄气的问题。先说结论90% 的情况不是因为技能包本身有问题而是 AI 助手没有正确读到技能目录。我的排查顺序是固定的。第一步检查路径。确认你在配置里填的技能目录路径和实际仓库路径完全一致注意有没有拼写错误、多一个/少一个/之类的问题。第二步检查权限。如果你用的是 Docker 容器或远程开发环境确认本地目录已经挂载进容器AI 能读到容器内的技能文件。第三步检查索引缓存。有些编程助手会缓存技能列表新增技能后需要重启会话刷新一次。还要特别提醒一个容易忽略的点技能文件是区分大小写的目录名写Superpowers还是superpowers会影响匹配结果。这种细节错误比你想的常见。4.2 现象二多个技能名字相近AI 调错了技能superpowers 里的技能数量上去了之后必然会碰到技能名相近、AI 路由匹配不准的情况。比如我遇到过refactor和code-review撞车AI 在需要重构的时候跑去做了代码审查输出自然不对劲。这个问题解决起来有两条路。一条是在请求里明确点名技能就像我前面说的“使用 refactor 技能帮我做 XXX”AI 就不会走错。另一条是修改技能文件里的触发条件描述写得更明确一些比如在refactor技能的SKILL.md里注明“当用户要求修改代码结构但不涉及行为变更时优先使用本技能”。坦白说即便有了技能包AI 的路由能力也不是完美的尤其面对模糊请求时还是可能会选错。我的原则是重要任务不偷懒明确把技能名写进请求里省得来回复盘。4.3 现象三技能不符合自己的口味怎么改superpowers 预置的技能写得很全面但“全面”不等于“符合你的团队规范”。比如预置的 code-review 技能里没有你们团队“禁止直接在 controller 里写业务逻辑”这条规矩。这个问题的解法很简单不要想着去改预置技能的内部文件而是叠一层“项目规范层”。在项目说明文件里写清团队自己的规矩AI 在执行任何技能时都会额外参考这一层。这样你既能享受预置技能的成熟流程又能把团队自己的约束注入进去。还有更进一步的做法当你发现某个任务经常做、但没有现成技能时就自己写一个。写技能的套路并不复杂仿照现有的SKILL.md写一份就行核心是写清楚触发条件、执行步骤、输出格式这三个要素。我自己写的第一个自定义技能是“服务上线前检查清单”把环境变量核对、依赖版本确认、数据库迁移检查、监控告警配置等项目全部列进了步骤里。有了它之后每次上线前让 AI 跑一遍清单比人工逐项核对省心得多。4.4 再补两个机制层面的大坑有两个坑是我用了很久才真正理解的这里也一并说了。第一个是关于“技能加载不等于技能执行”。AI 可能加载了技能文件但输出时没有严格按技能步骤来这在长任务里偶尔会出现。解决办法是在请求末尾加一句“严格按照 SKILL.md 中的步骤执行并在输出中标注当前执行到第几步”。这一步对压制模型“自由发挥”的效果非常明显。第二个是“技能的版本管理”。技能包在持续迭代你升级之后以前验证过的行为可能会变化。我会在关键项目里锁定技能包版本不追新。具体做法就是把技能仓库固定到某个 tag 或 commit升级前先在测试项目里跑一遍核心流程确认没问题再全面切换。最后说点实在的装了这么久的 superpowers我最大的体会不是“多了几十个技能”而是“AI 的工作方式从碰运气变成了可预期”。没装之前同一个需求反复对话三五次很常见装了之后只要技能匹配得准AI 第一轮输出的完成度就很高。尤其是代码审查和重构这两件事省下来的时间远超我安装这个工具投入的时间。如果你想试我的建议是别一上来就装全家桶。挑三四个你最常用的场景先把最小闭环跑通用顺手了再慢慢加。等跑顺了之后再试着把你们团队自己的规范也写成技能——到那时候你就知道superpowers 的真正价值不是给你一堆现成技能而是给了你一套沉淀和复用经验的框架。