如果你最近在折腾AI编程工具,大概率听过“superpowers”这个词。它不是什么超能力插件,而是一套专门给AI编码助手用的“技能包”(skills),可以装进Codex CLI、Claude Code、WorkBuddy、Trae这类工具里,让AI从“会写代码”变成“会做项目”。
这东西解决的是一个特别具体的问题:你用AI写个函数、查个bug,它很利索;但一旦你说“帮我把这个项目规划一下”,它很容易开始瞎编——方案空洞、步骤跳跃、动不动就自作主张。Superpowers做的事情,就是把软件工程里那些成熟的方法论(头脑风暴、系统设计、TDD、系统化调试、代码审查),编码成一份份AI能照着执行的操作手册。AI读完这些手册,就不再是凭感觉回答,而是按流程走:先问清楚需求,再给方案,再写实现,最后自查。
这篇文章我会从安装、配置、实际玩法到常见坑,完整过一遍。无论你用的是Codex CLI还是WorkBuddy、Trae,都能找到对应的操作路径。
1. Superpowers到底是什么:一套给AI编码助手的“职业素养”技能包
1.1 从一次失败的AI结对编程说起
先讲个我自己的经历。几个月前我想让Codex CLI帮我重构一个老模块,当时的对话大概是这样的:“帮我看看这个服务层的代码,提一下优化建议。”结果它列了七八条泛泛的建议,比如“提取公共接口”“增加错误处理”,听起来都对,但根本没法落地,因为它没问过我业务约束、没看过调用方、也没确认过兼容性要求。
后来我才意识到,问题不在模型能力,而在工作方式。AI被训练成“你问我答”,但它没有一套内化的工程流程——什么时候该问问题、什么时候该做设计、什么时候该写测试、什么时候该停下来让用户确认。它更像一个知识渊博但缺乏经验的实习生,你问什么它答什么,你不说它就不做。
Superpowers就是冲着这个痛点来的。它的核心是把“一位资深工程师接到一个任务后,会按什么顺序做什么事”这条路径,拆成一个个独立的技能文件,每个文件里写清楚:触发条件、执行步骤、输出格式、检查清单。AI只要被引导去读这个文件,它就会老老实实按流程执行,而不是自由发挥。
1.2 skills机制:为什么单独的提示词不够用
你可能想,那我写一段很长的prompt不就行了?比如“你是一位资深架构师,请先问需求,再画架构图,再列计划……”。短期看有效,但问题很明显:
- 提示词太长会占用上下文窗口,影响后续对话质量。
- 每次新开会话都要重新贴一遍,麻烦且容易出错。
- 提示词里的流程是“一次性”的,没有沉淀和迭代。
Superpowers用的是“技能文件”机制,本质上是把工程方法论沉淀成仓库里的一个个Markdown文件,按目录组织、按需加载。AI在工作时不是一次性把整个技能库塞进上下文,而是通过类似AGENTS.md的索引文件,知道“有这些技能可用”,然后在真正需要的时候,才去读取某一个具体技能文件的完整内容。
这就好比一个工具箱。你不用把扳手、螺丝刀、电钻全攥在手里,你只需要知道工具箱里有什么,然后拿当下需要的那个。这个设计让技能包可以做得很厚,又不会拖慢日常对话。
1.3 安装后你到底获得了什么
装好superpowers并正确配置后,你的AI编码助手会额外具备这样几类“岗位能力”:
- 需求澄清:在动手前,像产品经理一样把边界、用户场景、验收标准问清楚。
- 系统设计:产出结构化的技术方案,包含模块划分、数据模型、接口设计、风险点。
- 计划拆解:把一个大目标拆成可执行的小任务,并标注依赖顺序。
- 测试驱动开发:坚持“先写失败测试、再写实现、再重构”的节奏。
- 系统化调试:出现bug时,不再盲目改代码,而是先建立假设、再定位、再修、再验证。
- 代码审查:从正确性、可维护性、性能等维度给出一份有依据的评审意见。
如果你跟AI协作时最头疼的就是“它太着急写代码”,那这套技能包会是一个很好的矫正器。
2. 安装与初始化:让Codex CLI、WorkBuddy、Trae都能跑起来
2.1 安装前的环境准备
虽然不同工具的安装路径略有差异,但有几个前置条件是通用的:
- 本机装了Git,能正常访问GitHub。superpowers本身是开源仓库,需要通过git clone拉到本地。
- 目标AI工具已经跑通。建议先在一个空目录里测试Codex CLI或Claude Code能正常对话,再装技能包,否则出了问题不好排查。
- 确认工具版本别太旧。Codex CLI、WorkBuddy这类工具迭代很快,skills加载机制在不同版本里改过好几次,尽量用最近一两个月的版本。
我的习惯是单独建一个目录做测试,比如~/projects/superpowers-demo,里面放一个最小化的项目文件,再装技能包。这样就算配置出问题,也不会污染正在干活的正式项目。
2.2 拉取并部署superpowers技能包
安装的第一步是把superpowers仓库克隆到本地:
git clone https://github.com/obra/superpowers.git cd superpowers进入仓库后你会看到skills/目录,里面按功能分好了子目录:project-management/、code-review/、writing-plans/、dependency-migration/等等。每个子目录下的Markdown文件,就是一个个具体的技能。
部署方式跟具体工具强相关,但思路是一致的:把skills目录里的内容,复制到你的AI工具能找到的位置。常见的几种放法:
- 项目级位置:把
skills目录直接放到你的项目根目录下,比如.codex/skills/或.claude/skills/,这样只有当前项目能用。 - 用户级位置:放到
~/.codex/skills/或~/.claude/skills/,这样全局的所有项目都能识别。
我在实际使用中更推荐项目级放置。原因有两个:一是不同项目需要的技能不同,全局装了反而增加AI误读文件列表的噪音;二是技能文件偶尔需要针对项目做定制,放在项目里改起来方便。
2.3 在Codex CLI中注册superpowers
Codex CLI(OpenAI的命令行编程工具)是这波AI编程工具里比较早支持skills机制的之一。它的配置核心是项目根目录下的AGENTS.md文件。
如果你打开superpowers仓库的AGENTS.md,会看到里面写了类似这样的索引信息:
# Superpowers This project provides coding skills as markdown files. ## Skills ### Project Management - brainstorming: skills/project-management/01-brainstorm.md - system design: skills/project-management/02-system-design.md - test driven development: skills/project-management/03-test-driven-development.md - systematic debugging: skills/project-management/04-debugging.mdCodex CLI在每次对话开始时,会读取AGENTS.md作为系统上下文。这样AI就知道“这些技能存在于哪些路径”,当你在对话中说“请用brainstorm技能”时,它就能找到对应文件并读取完整内容。
部署到Codex CLI的操作可以这样:
# 在你的项目目录下 mkdir -p .codex cp -r /path/to/superpowers/skills .codex/skills cp /path/to/superpowers/AGENTS.md ./AGENTS.md然后打开AGENTS.md,把里面的sperpowers/skills/...路径改成实际路径.codex/skills/...。路径写错是新手最常见的坑——AI会告诉你“找不到这个技能”,排查半天发现只是路径前缀对不上。
2.4 在WorkBuddy和Trae中的安装差异
WorkBuddy和Trae这类工具更偏向IDE集成,安装方式会更“图形化”一些。
WorkBuddy通常提供了技能管理界面,你可以直接把superpowers的skills目录导入。如果它是CLI工具,记住一个高频命令:workbuddy install skill superpowers。这个命令会自动从仓库拉取技能包并放到正确位置。装好后,你可以在技能列表里看到superpowers的各个子技能,并且能勾选启用哪些。
Trae这边,社区里常见的是通过“导入skill”的方式。你可以把superpowers仓库里某个技能文件的内容复制到Trae的skills配置区,或者如果Trae支持目录导入,直接把整个skills目录拖进去即可。
这里要提醒一点:这些IDE类工具的skills机制和Codex CLI的AGENTS.md加载方式不是完全兼容的,有的工具会自动读取技能文件目录,有的还需要你在配置里手动声明。装完一定要先跑一个最简单的技能(比如让AI读01-brainstorm.md并复述它的步骤),确认能不能正常响应,再进入正式使用。
3. 核心技能逐一拆解:项目管理、系统设计、调试与代码审查
3.1 头脑风暴与项目启动:用结构化提问框住需求
01-brainstorm.md是我用得最多的一个技能,它的价值在于“逼着AI先问问题”。
默认情况下,你跟AI说“帮我设计一个任务管理App”,它通常会直接甩给你一个信息架构、几个核心表、几个接口,看着挺完整,但很多假设是它自己脑补出来的:用户是C端还是B端?需不需要多人协作?数据量级多大?有没有离线场景?
触发brainstorm技能后,AI的行为会明显变化。它会先输出这样一段话:
“在开始设计之前,我需要确认几个关键问题:1. 这个App的核心用户是谁,解决他们什么问题?2. 你期望的最小可用版本包含哪几个功能?3. 用户数据是本地存储还是需要云端同步?……”
它会一个问题一个问题地问,而不是一次性抛出十个问题让用户答。每答完一个,它还会追问一句“还有别的约束吗”。这种方式看起来很慢,但它能极大减少返工。我在实际项目里用下来,一个中等规模功能的需求澄清大概花10-15分钟,但后面设计方案几乎没推倒重来过。
这个技能的使用方式是在对话里输入:
请使用superpowers的brainstorm技能,我们来讨论一下这个新功能的需求。AI会读取文件,然后按流程走。
3.2 系统设计:从一张空白页到可落地的技术方案
需求澄清之后,下一步通常是02-system-design.md。
这个技能的含金量在于它会要求AI输出包含多个固定章节的设计文档,而不是零散的回答。文档结构大致是:
- 背景与目标
- 非目标(明确不做什么)
- 架构选型与理由
- 模块划分与职责
- 数据模型设计
- 接口设计
- 错误处理与边界情况
- 部署与监控要点
- 风险清单
为什么非目标这么重要?因为绝大多数AI生成的设计方案,问题不在“做了什么”,而在“什么都想做”。如果没有明确非目标,AI会把分布式缓存、消息队列、微服务拆分全给你加上,哪怕你只是要一个日活几百的小工具。
我要提醒的是:02-system-design.md这个技能产出的是一份很长的文档,读起来会比较耗时。建议不要让它一口气全写出来,而是分章节输出。你可以说“先写背景与目标,确认没问题再写数据模型”,这样每轮对话更聚焦,你也能在每个关键决策点上及时干预。
3.3 系统化调试:不要再让AI瞎猜bug
04-debugging.md是我认为最值得装的一个技能,没有之一。
你有没有遇到过这种情况:把报错信息丢给AI,它第一反应是“这可能是因为XX,试着改成XX”。这种建议有时候管用,但更多时候是在猜。猜中了算运气,猜不中就是来回试错,浪费大量tokens和时间。
systematic debugging技能要求AI按经典的五步调试法走:
- 复现问题,确认稳定的触发路径。
- 提出假设,列出所有可能原因并排序。
- 用最小实验验证当前假设,缩小排查范围。
- 定位并修复根因,而不是修表面症状。
- 验证修复,然后补充回归测试,防止问题复发。
触发这个技能后,AI拿到一个bug时,会先说“我先尝试复现”,然后让你提供更多上下文,比如完整的调用链、相关日志、最近的代码改动。如果你给的线索不足,它不会随便给建议,而是会明确告诉你“目前信息不足以定位问题,需要补充这些内容”。
这个流程把我日常修bug的时间压缩了大概一半。以前是AI猜方向、我试错;现在是AI也是按假设-验证的流程走,每一步都有依据。
3.4 代码审查与依赖迁移:收尾阶段的底气
代码审查技能(code-review/下的文件)和依赖迁移技能(dependency-migration/下的文件)是我后补的,刚开始觉得用不上,后来发现真香。
代码审查技能会让AI审查代码时输出结构化结论:按严重程度(阻塞/重要/建议)分类,每个问题附带“为什么是问题、怎么改、可能有啥副作用”。它不会像默认模式那样把所有小问题都拉平罗列,而是能分清轻重缓急。
依赖迁移技能则是项目升级老依赖的利器。它会先要求你盘点当前依赖版本、目标版本、Breaking Changes清单,再制定迁移计划,最后才是动手改代码。这个顺序能避免AI“越改越乱”的尴尬,因为大多数复杂迁移失败,都是因为没搞清楚前后的行为差异就开始动手。
这两个技能我建议在项目进入稳定期后再启用,配合代码审查流程能收获比较明显的质量提升。
4. 实战演示:用superpowers从0到1规划一个待办事项服务
4.1 场景设定与初始对话
光讲理论没意思,我拿一个实际场景演示一下完整流程。假设我要做一个极简的团队待办事项API,只有两个角色:普通成员和管理员。
第一轮对话,我会输入:
请使用superpowers的brainstorm技能,帮我启动一个新项目:一个团队待办事项API。此时AI读取01-brainstorm.md后,会开始提问,而不是直接给方案。它会问:团队成员规模大概多少?待办事项需不需要截止时间和优先级?管理员和普通成员的权限差异具体是什么?需要哪些终端设备访问?
我逐个回答,等AI确认需求边界足够清晰后,它会输出一份需求确认摘要。这时候我再触发下一个技能。
4.2 从头脑风暴平滑过渡到系统设计
在需求摘要确认无误后,我说:
好,现在请使用superpowers的system-design技能,基于刚才的需求,输出技术方案。先写背景与目标、非目标、架构选型三节,一次一节。AI会分节输出。前三节完成后,我确认没问题,再让它继续写数据模型和接口设计。
这里有一个经验细节:一次只让它输出两到三节。按默认,AI很可能一次性生成一整篇长文,但那样你很难在中间插入调整意见。分节输出看起来多花了一点时间,实际上把设计沟通成本压到了最低。
数据模型出来后,我通常会让它顺便列一个简单的ER图(用纯文本,不要用mermaid,避免格式兼容问题),然后人工过一遍字段和关系,确认没问题再进入编码阶段。
4.3 进入TDD流程编写首个测试
设计方案定稿后,开始写代码。我会这样触发:
请使用superpowers的test-driven-development技能,为“创建待办事项”这个接口编写第一个失败测试。AI会先写一个测试,比如“调用创建接口,输入标题和截止时间,返回创建成功且状态为pending”。然后运行,确认失败。接着写最小实现,让测试通过。最后做一次小的重构。
整个过程最有价值的地方在于:AI不是“先写实现后补测试”,而是真的按照测试先行节奏走。它每完成一步,会停下来等待你的确认,而不是一口气把所有代码写完然后丢给你。这种节奏感,对于希望把控代码质量的开发者来说非常重要。
4.4 用调试技能处理开发中的意外
开发过程中我故意制造了一个异常场景:创建一个待办事项时,如果截止日期是过去的日期,服务会返回500而不是参数校验错误。
我会这样告诉AI:
创建待办事项时,传一个昨天的日期,接口报500了。请使用systematic-debugging技能排查。AI不会马上说“可能是这里需要加校验”,而是会先请求我提供接口日志和调用参数,然后列出一个假设清单,逐一验证。最终它会定位到“参数校验层的日期比较逻辑写反了”或者“DTO转换时把日期字段给丢了”这类根因,然后给出修复方案,并建议补一个回归测试。
这个过程的价值不在于“找到bug”,而在于每一步都有逻辑依据,不会出现“改了A又引发B”的连锁翻车。
5. 常见问题与排查技巧实录
5.1 技能不生效:检查AGENTS.md加载路径
最常遇到的问题就是:明明已经把skills文件放到项目里了,但跟AI说“使用brainstorm技能”,它却回“我没有这个技能”。
绝大多数情况是路径问题。看你的AGENTS.md里写的路径是skills/project-management/01-brainstorm.md,但实际文件放在.codex/skills/project-management/01-brainstorm.md,AI找不到就报错。
排查方式很简单:手动打开AGENTS.md里引用的路径,看能不能从项目根目录按这个相对路径访问到目标文件。如果打不开,就是路径写错了。我的经验是,在不同工具之间切换时,AGENTS.md、CLAUDE.md这些索引文件的路径前缀要单独适配,没法直接通用。
还有一类情况:AI能读到文件,但它认为“brainstorm技能”这个名字有歧义,不知道具体对应哪个文件。这时候把触发词写得明确一点,比如“使用superpowers的project-management/01-brainstorm.md技能”,一次性把路径和文件名说清楚。
5.2 上下文爆炸:别把整个技能包塞进对话
superpowers的技能文件加起来有几十个Markdown,总字数不少。如果你在对话开始时把所有技能内容一次性让AI读完,上下文窗口会被占掉一大半,后面对话质量会明显下降。
正确做法是:依赖AGENTS.md这个轻量索引,让AI只知道“有哪些技能、文件在哪”,然后在需要的时候再用工具读取具体文件。这就像在图书馆里先看索引卡片,再决定去哪个书架拿哪本书,而不是把整座图书馆搬回家。
如果你的工具不支持按需读取文件,那就需要“手动分段加载”:这个会话要用brainstorm,就只把01-brainstorm.md内容粘贴进去;下个会话要用system-design,再粘贴02-system-design.md。麻烦是麻烦一点,但不会把对话质量拖垮。
5.3 不同工具的配置差异与兼容性
Codex CLI、Claude Code、WorkBuddy、Trae这几类工具,对skills的支持程度不一样。我整理了一组对照,供你参考:
| 工具 | 索引文件 | 技能目录建议位置 | 加载方式 |
|---|---|---|---|
| Codex CLI | AGENTS.md | .codex/skills/ | 通过AGENTS.md路径按需读取 |
| Claude Code | CLAUDE.md | .claude/skills/ | 可以通过CLAUDE.md或插件机制引用 |
| WorkBuddy | 自带技能管理 | 通过命令安装 | 自动读取技能列表,按需加载 |
| Trae | 导入技能配置 | 取决于版本 | IDE界面导入或配置文件声明 |
Codex CLI走得比较“极客”,所有配置都靠文件,灵活但门槛高。WorkBuddy和Trae更偏可视化,安装简单,但可定制性没那么强。
如果你在多个工具之间共用同一个项目,建议为每个工具单独维护一份索引文件,路径各自适配。别图省事让所有工具共用一个AGENTS.md,因为不同工具对相对路径的解析规则有差异。
5.4 命令失效时怎么办
有几次我在WorkBuddy里执行workbuddy install skill superpowers,提示安装成功,但对话里调用技能就是没反应。后来发现是版本问题——新版本的WorkBuddy改了技能目录的命名规则,老版本装的技能在新版本里不识别。
遇到这种问题,优先做三件事:第一,查工具更新日志里关于skills的变更;第二,确认技能实际安装到了哪个目录,跟工具默认扫描目录是否一致;第三,装完之后重启会话,很多工具只在会话启动时加载技能清单。
还有就是技能的“触发词”问题。有些技能文件内部定义了trigger短语,但不同工具对这个触发短语的匹配方式不一样。稳妥的做法是直接在对话里说“请使用superpowers的技能:文件路径/文件名”,让AI明确知道你引用的是一个本地文件。
最后的几点体会
用superpowers这段时间,我最大的感受是:它没有给AI增加任何新知识,但它给AI装上了一套工作流程。以前让AI做方案,它像一匹脱缰的野马,想到哪写到哪;现在它会先确认方向、再铺路、再跑,效率反而高了很多。
我的建议是,第一次装不要全部铺开,只挑两个技能跑熟:一个是brainstorm,一个是systematic-debugging。这两个技能覆盖了“开发前”和“出事后”两个最容易被AI搞砸的环节。等这两个流程手顺了,再逐步补上system-design、TDD、code-review,你会明显感觉到AI的产出从“像那么回事”变成了“就是那么回事”。
另外一个小技巧:可以把你常用的技能调用方式做成项目文档放在README里,比如“新功能讨论:请使用brainstorm技能”“线上问题排查:请使用systematic-debugging技能”。这样团队里的同事拿到项目后,不需要理解superpowers的原理,照着文档说一句话,就能获得同样高质量的AI输出。