ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI编程神器Superpowers:让Claude Code与Codex CLI像工程师一样写代码

AI编程神器Superpowers:让Claude Code与Codex CLI像工程师一样写代码 说实话我从去年就开始重度用AI写代码快是真快但不靠谱的时候也是真让人头大——明明就问它一个小问题它能自信地给出一版完全跑不通的方案还顺手把项目里三个无关文件改了。最近我一直在折腾一套叫superpowers的技能包它原本是给Claude Code准备的后来我花了半天把它也装进了Codex CLI实测下来AI的行为模式变化非常明显写代码前会先规划写之前会先写测试出了bug会按步骤排查而不是直接瞎猜。这篇文章是我完整的使用记录包含superpowers是什么、怎么安装、核心技能怎么用、有哪些坑适合所有正在用AI编程工具、想让AI真正像工程师一样干活的人参考。1. superpowers到底是什么为什么值得装1.1 它本质是一套“经验固化的技能文件”不是玄学superpowers这个名字听起来很中二翻译过来就是“超能力”但它是个正经的开源项目作者是Jesse Vincent最初在Claude Code生态里以插件形式分发。它的核心是一堆按工程场景组织的技能文件调试、测试驱动开发、代码审查、项目规划、需求拆解、子任务协调等等。每个技能不是几行提示词而是一套完整的操作方法包括什么时候该用、具体分几步执行、每一步要满足什么条件、结束前要检查什么。AI在干活的时候读到这些文件就像是拿到了一本老工程师写的操作手册按手册来而不是自由发挥。以TDD技能为例它的SKILL.md大概长这样--- name: tdd description: 当需要实现新功能或修改现有功能时使用 --- # 测试驱动开发 ## 何时使用 - 需求已明确 - 需要编写新代码或修改现有行为 ## 操作步骤 1. 将需求拆分为最小行为单元 2. 为每个单元编写失败测试 3. 运行测试确认失败红 4. 编写最简实现 5. 运行所有测试确认通过绿 6. 在测试保护下重构这种设计跟你平时写“请你先写测试再写代码”有本质区别。你用提示词要求AI它可能这次听下次就忘但把TDD的完整流程写成技能文件挂在项目里AI每次进入相关任务时都能读到而且执行完一步会主动停下来检查结果再决定下一步。我用了之后最直观的感受是它不再像那种“你说一句它动一下”的实习生更像一个手里拿着checklist的靠谱工程师。1.2 它解决了AI编程里几个很真实的痛点先说说AI编程最常被吐槽的三个问题第一个是AI太“自信”。你问它一个API的用法它能把不存在的参数说得头头是道让它改bug它瞄一眼就动手改完你发现别的地方又坏了。这种幻觉问题靠模型升级解决得有限但如果让它按技能要求“先复现、再验证、再修改”出错概率会明显下降。第二个是缺乏工程纪律。AI没有“写代码→跑测试→看结果→重构”这个肌肉记忆经常跳过验证环节。我见过太多次AI直接甩出一大段代码里面包裹着一堆没用的边界处理但关键逻辑反而是错的。superpowers把工程纪律拆成了具体步骤AI每走一步都要确认结果。第三个是不可复现。这次让它用正确方式解决问题下次开个新会话又放飞自我。技能文件是实体文件可以做版本管理可以跟着项目走一次调教长期复用。团队场景更值因为superpowers是文件形态直接放仓库里所有成员的AI工具读同一套技能文件相当于把个人经验变成了团队规范。适合谁也很明确如果你只是偶尔用AI查个资料、写个临时脚本那用不上它但如果你每天在IDE或终端里用AI写业务代码、修bug、做重构尤其是多个项目并行强烈建议试试。2. 安装与配置Claude Code原装、Codex CLI移植的完整步骤2.1 Claude Code原生安装一条命令就能装好Claude Code是superpowers的“原配”装起来最简单。在Claude Code对话里执行插件安装命令/plugin install obra/superpowers装完之后Claude会提示你选择要导入哪些技能到当前项目。这里我的建议是第一次先全选跑几天之后再根据自己项目特点精简。导入之后项目里会出现一个技能目录里面是技能文件副本。从这一步开始Claude在项目里处理任务时会读取这些技能文件并在相应场景调用。要注意Claude Code插件的加载依赖项目级别的配置文件比如CLAUDE.md如果你之前自定义过CLAUDE.md最好检查一下里面有没有跟技能文件冲突的指令。比如你以前写了“改代码前不要问问题直接动手”这就跟Brainstorming技能的精神正好相反AI可能无所适从。我遇到过这种情况最后是把CLAUDE.md里那些跟技能互相矛盾的旧规则清掉了AI的行为才回归正常。验证是否生效有个很土但有效的办法直接问Claude“请复述一下TDD技能的操作步骤”。如果它能把红-绿-重构的流程清晰说出来并且提到要“先写失败测试”说明技能已经被加载。如果它只会泛泛回答那大概率是目录配置问题看后面第4章的排查部分。2.2 Codex CLI移植安装把技能注入AGENTS.mdCodex CLI没有一键安装superpowers的命令但社区已经摸索出了通用做法核心思路是把superpowers的技能目录复制进项目再在AGENTS.md里明确告诉Codex什么时候去读哪个技能文件。我实测的步骤是这样git clone https://github.com/obra/superpowers.git mkdir -p your-project/.superpowers cp -r superpowers/skills your-project/.superpowers/然后在项目根目录创建AGENTS.md写清楚技能读取规则# 项目AI助手使用指南 在开始任何编码任务前请先阅读 .superpowers/skills/ 下与任务类型对应的技能说明。 例如 - 实现新功能前阅读 TDD 技能按红-绿-重构流程执行。 - 排查 bug 时阅读 Debugging 技能按复现-假设-验证的步骤排查。 - 接到复杂需求时阅读 Brainstorming 技能先拆解问题再动手。 执行过程中每完成一步向用户汇报当前结果再继续下一步。Codex CLI默认会读取AGENTS.md作为项目级指令。你在对话里让它实现一个功能它会先想到去读TDD技能文件然后照着里面的流程走。这里要提醒一下Codex对技能文件的读取不是绝对强制的取决于模型对指令的遵循程度但实测下来只要AGENTS.md写得足够具体大部分时候它都会照做。如果想让某个技能全局生效可以把对应SKILL.md的内容精简后合并到用户目录下的AGENTS.md里但我不太建议这么做因为全局文件的权重太高容易让所有项目的行为都变得僵化。比如你全局挂了Debugging技能AI去处理一个压根不需要调试的文档任务也可能先给你列一串排查步骤很啰嗦。2.3 Codex CLI的权限与沙箱设置这一步很多人会漏Codex CLI执行shell命令时有权限控制配置文件一般在这个位置~/.codex/config.toml。TDD流程里最关键的“运行测试”这个动作如果被沙箱或授权策略挡下来整个红-绿循环就断了。所以安装superpowers到Codex之后第二件事就是检查测试命令能不能正常执行。以pytest为例你可以在config.toml里把测试命令加入允许列表或者把授权策略调成更宽松的模式让AI能直接跑测试。我在最开始移植的时候没注意这层配置结果TDD技能生效了但AI每跑一次测试就弹出一次授权请求来回折腾了十几次体验非常糟糕。调好授权之后AI能自己跑测试、看输出、改代码整个流程就顺畅多了。2.4 配置生效前的好习惯三连确认配置加载完之后我习惯做三件事确认没白装。第一检查技能文件路径确实存在AGENTS.md或插件配置里写的是相对路径而不是错路径这一步能排除90%的“没生效”问题。第二开一个新的AI会话再测避免旧会话缓存了没有技能的上下文。第三用任务验证故意丢一个小bug给AI看它会不会先复现、再生成假设、再修。这三步走完基本能确定superpowers是否真的在工作。3. 核心技能实战拆解TDD、Debugging、Brainstorming怎么用3.1 TDD技能让AI先写测试再写代码实测效率不降反升TDD技能是我用下来收益最大的一个。经典流程是红-绿-重构superpowers把它拆成了可执行步骤第一步把需求拆成最小行为单元第二步为这个行为写一个测试运行它预期失败第三步写刚好能通过测试的最简代码第四步运行全部测试确认通过第五步在测试保护下重构去掉重复和坏味道。跟不对AI做任何技术约束时对比差别很明显。没有技能时我让AI写一个工具函数它一上来就写完整实现附带一堆我没要求的边界处理代码看起来很完善但核心逻辑反而可能踩空。有TDD技能后它会先写断言先跑红再补实现。我自己在项目里实测用TDD技能时AI写的代码一次通过的几率明显提高因为测试相当于先把需求定死了。代价就是过程看着麻烦一点多跑几次测试但这种“麻烦”换来的是不用半夜起来修线上bug。有一点需要特别说明AI执行TDD时必须给它运行测试的能力。在Claude Code里要允许工具调用shell命令在Codex CLI里要确保测试执行命令在你的授权允许范围内。否则AI跑不了测试红-绿循环就断了它只能口头上“假装”写了测试这是一个非常常见的坑。3.2 Debugging技能AI排查bug终于不再靠猜Debugging技能解决了我最大的一个痛点AI修bug全靠猜。没装superpowers之前我给AI描述一个报错它经常直接给出一版重构代码改了文件名、改了函数签名最后连问题出在哪都没搞清楚。superpowers的Debugging技能逼着它按顺序做先精确复现问题再列出所有可能原因按可能性排序用最小改动做实验每做一步都收集反馈。举个我实际遇到的例子。有个并发问题只会在特定数据量下出现。以前让AI看它分析半天直接说“加个锁就好”。但按Debugging技能的流程它会先问我要复现脚本然后缩小数据规模确认临界条件检查共享变量的访问路径最后才提加锁方案。这个过程的产物不只是一个修复还有一份“为什么会出现”的记录。即使这次修错了排查路径也是可追踪的后续可以继续往下挖。这个技能还带一个我个人很喜欢的习惯它在操作步骤里要求AI记录“已排除的原因”。好处是防止AI在同一个坑里来回打转你也能随时看到它排除了哪些分支、还剩哪些可能整个排查过程对你是透明的。对于团队协作来说这份记录可以直接丢给同事看比自己脑补“AI怎么修的”强太多了。3.3 Brainstorming技能把模糊需求拆成可执行任务Brainstorming技能特别适合需求还很模糊的时候用。AI最怕的就是用户一句“帮我优化下这个模块”然后直接动手改。这个技能要求AI先提出一组问题这个功能给谁用输入可能有什么边界跟现有模块的交互在哪数据不一致的时候怎么处理先把问题列出来再结合你的回答生成方案最后才进入编码阶段。我自己用过一次印象很深有个老项目的登录逻辑我想让AI帮忙重构但只给了一句“把登录流程理清楚”。没装技能之前AI大概率直接开始重写接口。装技能之后它先列了五个问题比如“现有的session过期策略是什么样的”“第三方登录是否保留”“失败尝试次数限制在哪里配置”。我逐条回答完它给的方案基本一次通过测试。这种体验是普通提示词很难逼出来的因为问题清单本身就是工程经验的体现。superpowers里的writing-plans技能也值得提一下它要求AI把大项目拆成阶段每个阶段有明确的可验收结果。我用于一次项目重构AI按技能模板输出了一份分三步的实施计划每一步都附带测试点和回滚方案。这种结构化的规划能力属于思维方式的差异不是简单堆提示词就能达到的。4. 我踩过的坑与排查技巧一篇避坑速查4.1 装完不生效先查路径再查会话缓存“装了superpowersAI却完全没有技能化行为”是大家问得最多的一个问题我自己也踩过。一次是路径写错了技能目录在.superpowers/skills下面我却在AGENTS.md里直接写了.superpowers/AI找不到具体的SKILL.md文件自然学不会。另一次是上下文缓存老会话还在运行新配置没被加载进去。解决办法就两条第一检查AGENTS.md或插件配置里指向的路径是否精确到技能文件那一层第二关掉旧会话新开一个会话再试。如果还不生效可以在AGENTS.md里加一句“当任务是代码修改时必须先阅读对应技能文件再行动”用更强的指令提示让模型优先走技能流程。还是不行的话直接把某个技能文件的核心步骤贴进对话里当上下文虽然粗暴但管用能帮你确认问题到底出在文件配置还是模型执行上。4.2 多个技能互相干扰明确任务边界和优先级技能之间也会打架。TDD技能强调先写测试Brainstorming强调先提问如果同时触发AI有可能行为漂移。我自己遇到过AI在一个已经明确实现方案的任务里还非要先列一堆“假设性问题”然后又跳到写测试折腾了半天。我的处理原则是在配置里写清楚任务类型和技能之间的映射关系。比如“当用户明确描述需求细节时直接进入TDD流程当需求描述模糊、有多处开放选项时先执行Brainstorming”。如果是团队共用一个技能仓库最好由技术负责人统一维护这份AGENTS.md不要每个人都各写一套否则同一个项目里不同会话的行为可能完全不同别人接手时会很崩溃。4.3 与MCP工具、Agent模式的协同互补关系大于冲突有朋友问superpowers和MCP是不是重复了。我的理解是MCP是给AI接外部工具——数据库、浏览器、文件系统解决的是“AI能碰到什么”的问题superpowers是给AI接工程方法论解决的是“AI应该怎么干活”的问题。两者完全不冲突反而互补。实际用法上我经常让AI先读Debugging技能再通过MCP工具去查日志、查数据库最后综合信息给结论。Agent模式或subagent技能同理复杂任务拆给子Agent并行跑每个子Agent再套用superpowers的TDD或调试技能整体质量更可控。要注意的是子Agent能不能读到技能文件取决于临时上下文内容长度如果子Agent窗口有限可以只给它传对应的单个技能文件而不是全部技能目录。4.4 维护与更新技能文件不是装完就一劳永逸superpowers的技能文件本身会随着项目更新建议定期把远程仓库的最新版拉下来对比看看有没有你需要的增量。更重要的是你完全可以在社区版本基础上增加自己的技能文件——我就在项目里加过一个专门针对“数据库迁移脚本审查”的技能写清楚了迁移脚本必须包含回滚方案、必须经过灰度验证等团队规范。这种技能日常使用频率极高AI每次处理迁移类任务都会自动读到并要求自己遵守比在评审会上反复强调有效得多。写在最后的体会这套东西用了两三周之后我最大的感触是superpowers不是哪项技能特别神而是它把“AI应该先思考再动手”这件事变成了结构化的流程。以前我靠人盯人式地给AI下指令累而且不稳定现在技能文件一挂AI自己知道什么时候该写测试、什么时候该排查、什么时候该停下提问。如果你也在折腾AI编程建议别满足于“能跑就行”先装一套superpowers只开TDD和Debugging两个技能用半个月再对比一下AI写出来的代码质量。到时候你就明白superpowers这个名字不是虚的。
返回列表