如果你跟我一样每天都在跟 Claude Code 打交道大概率有过这种体验上一个会话里它刚帮你把项目架构摸透、把构建脚本改顺新开一个会话它又变成了刚入职的实习生连项目根目录在哪、用的什么包管理器都要重新确认一遍。这不是模型不行而是记忆没有沉淀下来。Superpowers 这套东西名字听着像中二病发作实际上就是在解决这个痛点。它不是漫威那种超能力而是一套给 Claude Code 用的技能包系统——把那些经过验证的、高频复用的工作方法固化成一个个小型的、可被索引的技能文件让 AI 每次开工都能带着上次的经验干活。项目发布之后热度一直不低大家搜的最多的几个问题基本是怎么安装、有哪些 skills、怎么把技能引进来、实际用起来到底怎么样。这篇文章我不打算给你贴官方 README 的翻译而是把安装、引入、使用、踩坑这一整条链路从头到尾捋一遍顺便聊聊这个项目背后为什么这么设计的逻辑。看完你至少能回答三个问题Superpowers 解决的是哪一类问题、它和普通的配置文件有什么区别、以及怎么把一套技能真正用出价值。1. AI 对话失忆症Superpowers 到底解决了什么事1.1 每次开新会话它都不认识你Claude Code 这类 AI 编程助手刚出来的时候大家最兴奋的点就是上下文窗口大、能一口气读完整个项目。但用得越久你越会发现一个尴尬的事实上下文窗口再大关掉会话之后一切归零。你上周让它梳理过的模块关系、定下的命名规范、排除掉的几个错误方案在新会话里它一概不知道。这意味着你每次都要在对话里重新交代背景。有时候为了让它进入状态我得先把项目结构贴一遍再把之前讨论的结论复述一遍然后才敢让它干活。更麻烦的是如果团队里好几个人都在用同一个项目每个人都要自己重新教一遍 AI。这种重复劳动特别消磨耐心也是很多人在新鲜感过去之后逐渐放弃使用 AI 编程助手的核心原因。其实仔细想想问题不在模型能力而在于我们缺了一层中间层——AI 需要一份不受会话生命周期影响的、可复用的工作记忆。1.2 技能包思路不靠记忆力靠方法论Superpowers 的解法很有意思它不走加大上下文这条路而是把经验封装成技能skills。什么叫技能具体来说就是一套写在 Markdown 文件里的操作流程这个文件描述一个特定场景、给出触发条件、列出逐步执行的步骤清单、再附上注意事项。所有技能文件躺在~/superpowers/目录里项目的入口文件SKILLS.md像一本书的目录把每个技能的名字、用途、适用场景索引出来。每次你启动 Claude Code它会自动加载SKILLS.md。AI 读完这份目录之后会根据你当前的任务判断这个场景我有对应的技能可以用然后主动挑出匹配的技能文件来读再按照里面的方法论执行。这个思路可以拿实习生来类比。你不指望实习生记忆力超群、一次就能记住所有事情但你给他一本写得清清楚楚的《岗位操作手册》他翻开手册就知道遇到什么情况走什么流程、卡住了找谁、什么步骤不能跳过。Superpowers 干的就是这件事——你不是在给 AI 灌输信息而是在教它遇到什么问题去翻哪本手册。这里有个关键点需要区分清楚普通的CLAUDE.md文件是静态配置告诉 AI 项目里有哪些路径、用什么命令、遵守什么规范这些信息是固定不变的。而SKILLS.md里的技能是动态能力它能指导 AI 在一个具体场景里按步骤做事能应对需要判断、需要拆解、需要按流程推进的任务。前者是背景知识后者是干活的方法论。1.3 和普通配置、MCP 插件的本质区别很多人第一次接触 Superpowers 会问这跟 Claude Code 本身的 CLAUDE.md 配置、或者跟各种 MCP 插件有什么区别我最开始也有这个疑惑用久了之后才总结出三层差别。第一层作用范围不同。CLAUDE.md 写在项目里只管当前这个项目MCP 插件提供的是外部工具接入比如连数据库、调 API。而 Superpowers 的技能包装在用户目录下哪个项目都能用——它服务的不是某一个代码仓库而是你作为开发者怎么干活这件事是跨项目复用的。第二层可扩展性不同。CLAUDE.md 是纯配置文件你往里面塞太多的操作流程就会变得臃肿AI 反而不知道优先读哪段。Superpowers 把每项工作方法拆成独立文件你可以随时往~/superpowers/skills/里丢一个新技能不需要改动其他任何东西。目录机制天然支持慢慢积累、慢慢演化。第三层使用方式不同。MCP 插件是给 AI 加工具让它可以调用外部服务Superpowers 更像是给 AI 装心智教它在特定场合按什么逻辑思考和行动。工具解决能做某件事技能解决把某件事做好的套路。两者并不冲突只不过解决问题的层次完全不同后者明显更难被替代。2. 安装与引入全流程从拉仓库到第一次对话2.1 前置条件动手之前先说清楚环境要求。Superpowers 是围绕 Claude Code 设计的所以前提是你本机已经装好并能正常使用 Claude Code。项目本身不需要编译、不需要专门的运行时它就是一坨 Markdown 文件加一段目录结构原理简单到让人怀疑这也算个框架——但恰恰是这个设计让它极其轻量。安装之前最好确认一下你的 Claude Code 版本是不是比较新的。因为文件引用语法和自动读取SKILLS.md的能力跟版本强相关太老的版本可能读不到技能文件。这一步没什么技术含量升级到新版就行。2.2 拉取代码并放置到用户目录安装动作本身只有一条命令把项目克隆到用户主目录下的superpowers文件夹git clone https://github.com/obra/superpowers.git ~/superpowers之所以放~/superpowers而不是某个项目的目录里是因为技能本身是跟随人而不是跟随项目的。你在这个项目里攒下的经验换到下一个项目还能接着用。克隆完成之后建议花一分钟看一下目录结构你会看到类似这样的布局~/superpowers/ ├── SKILLS.md └── skills/ ├── create-superpower.skill.md ├── debugging.skill.md ├── git-workflow.skill.md └── ...SKILLS.md是入口skills/目录里每个以.skill.md结尾的文件就是一个具体技能。这套命名规则本身就是一个约定AI 在扫描目录的时候只需要认准这个后缀就知道哪些文件是技能、哪些文件是普通文档。2.3 引入技能让 Claude Code 自动加载 SKILLS.md克隆完只是把文件放到了硬盘上Claude Code 还不知道它们的存在。要做的是在项目的CLAUDE.md里加一行引用把SKILLS.md的路径以开头写进去/Users/你的用户名/superpowers/SKILLS.md每次会话启动Claude Code 读取CLAUDE.md时看到引用就会顺着路径把SKILLS.md也读进来。这其实是用到了 Claude Code 自带的文件引用语法Superpowers 只是在上面叠了一层自己的约定。如果你用的是 macOS完整路径是/Users/yourname/superpowers/SKILLS.md如果是 Linux对应/home/yourname/superpowers/SKILLS.md。不同项目可以分别在自己仓库的CLAUDE.md里加上这一行也可以把它写进~/.claude/CLAUDE.md这样的全局配置里那所有项目就都会用到这套技能了。有些人会把整个skills/目录直接复制到项目里这种做法也行但我不推荐。它的坏处是每个项目里都留一份副本后来想给某个技能升级你得挨个项目去同步。走引用、指向同一个用户目录是维护成本最低的方案。2.4 验证是否安装成功装完之后先别急着干活花三十秒验证一下 AI 是否真的感知到了技能包。随便开个新会话问它一句话你现在有哪些可用的技能根据你加载的 SKILLS.md 列一下。正常情况下它应该能报出技能目录里实际存在的技能名字并且能简单说明每个技能的适用场景。如果它支支吾吾答不上来或者直接说我没有加载任何技能那基本可以断定是引用的路径写错了或者SKILLS.md文件本身没有被纳入读取范围。这时候先检查路径拼写再确认文件确实存在于对应位置然后重开会话试试。我在这一步卡过一次后来发现是手滑把路径里的用户名写错了这类问题往往是低级错误反而容易被忽略。3. 开箱自带的 skills核心能力拆解与实战定位3.1 技能文件到底长什么样在逐个介绍技能之前先花点时间看清楚一个技能文件的结构。打开任意一个.skill.md你会发现它遵循一个统一格式开头是 YAML 格式的 front matter包含技能名称、描述、适用时机三个字段正文部分则是具体的操作流程和注意事项。以create-superpower.skill.md为例它可以简化为这样一个结构--- name: create-superpower description: 将一段经验固化为一个可复用的新技能 when_to_use: 当你发现某种工作方法反复有效希望沉淀为技能时 --- ## 执行步骤 1. 提炼该方法的核心触发场景 2. 将方法拆解为清晰的、可执行的操作步骤 3. 写入 skills/ 目录并以 .skill.md 结尾命名 4. 更新 SKILLS.md 索引让该技能对新会话可见 ## 注意事项 - 技能应当面向单一场景避免大而全 - 步骤要具体到 AI 不需要额外猜测看到这个结构你应该就明白了所谓技能本质上就是把方法论写成 AI 能照着执行的说明书。设计者刻意用 Markdown 而不是什么专利格式背后的逻辑是——Markdown 是人类可读、可 diff、可版本管理的纯文本AI 解析它几乎没有成本你甚至可以直接在编辑器里打开技能文件手动修改。3.2 create-superpower元技能用来生产技能真要给这套系统里的技能排个序最值得关注的是create-superpower这个元技能——它是用来创造其他技能的技能。它之所以重要是因为 Superpowers 不是一套封闭的、固定的技能集合。项目预置的技能覆盖常见场景但真正让它变得有价值的是你把自己工作中反复用到的经验沉淀成自定义技能。比如你发现自己每次重构老代码都要先画依赖关系图、再逐模块迁移、最后跑回归——这套流程完全可以写成一个技能下次 AI 遇到同类任务就能自动按这个套路执行。用create-superpower的标准流程也很直接你在会话里要求把刚才这套排查方法创建成一个新技能AI 会读取create-superpower技能文件按里面的步骤帮你提炼触发场景、拆解步骤、生成新文件、更新索引。整个过程的本质是抓取一次成功的经验固化成可持续复用的行为模式。这也回答了一个很多人困惑的问题为什么叫超能力因为这套系统的设计意图就是让 AI 的工作方式不断进化——每解决一个问题就把解法保存下来下次遇到同类问题时它直接调用最优路径而不是从零开始摸索。装一次用一辈子越用越聪明。3.3 一组典型技能的功能定位与使用场景除开元技能项目预置的技能涉及常见开发工作流。下表列出代表性的技能及其用途方便你对能力边界有个整体概念技能文件核心作用典型触发场景debugging.skill.md结构化排查问题出现 bug、异常、测试失败时按步骤缩小范围并定位根因git-workflow.skill.md规范提交与变更管理生成 commit message、处理合并冲突、规划变更集code-review.skill.md系统化代码审查需要审查 PR 或检查代码质量从多个维度逐个过create-superpower.skill.md把经验固化为新技能发现某个方法反复有效、值得沉淀时sweeper.skill.md逐文件清扫式修改大规模迁移、批量重构、跨文件统一调整这些技能的共同特点是它们都不涉及具体业务逻辑而是描述做事的顺序和方法。这也解释了为什么这套技能包能跨项目复用——无论你写的是 Python 后端还是 React 前端debugging 的方法论都是通用的git 提交规范也一样。实际使用的时候你不需要手动点名让 AI 用哪个技能。它读取SKILLS.md之后会依据你当前的任务描述自动匹配。比如你发一句这个测试又挂了帮我看看AI 会意识到场景符合debugging技能的触发条件于是主动读取该技能文件按里面的步骤开始排查。这种自动触发的机制正是技能包和普通 prompt 最大的区别。4. 一次完整的工作流实录从接手任务到结果交付4.1 场景设定为了让你直观感受引入技能前和引入技能后的差别我拿一个真实的开发场景来走一遍流程。假设我现在接手一个之前没看过的旧项目需要加一个新功能模块同时要求对改动部分做完整的回归验证。以前没有技能包的时候我会先花十几分钟贴项目结构、说明技术栈、解释代码组织方式然后才开始真正干活。现在有了 Superpowers对话一开始我只需要一句话描述任务AI 自己就知道接下来该干什么。这个自己知道的底气恰恰来自于SKILLS.md里的索引。它已经被加载进上下文中AI 看到新功能开发 旧项目 回归验证这几个关键词会自然地把相关技能串起来先探索代码库、再做增量开发、最后按流程验证。4.2 分步执行过程实际对话中AI 的执行路径非常清晰。第一步是请求代码库探索类技能。它会先摸清目录结构、入口文件、核心模块之间的依赖关系然后用一个精简的总结回应我。这个阶段它不需要我提供任何背景信息——因为技能文件里写了探索阶段应该关注哪些信息。第二步是定位改动点。AI 会根据我要加的功能反推影响面列出需要修改的文件清单并且标出哪些是高风险改动。这一步做完之后它会主动把方案发给我确认而不是闷头一口气改完。这种先出方案、再动手的习惯就是技能文件里明确要求的它天然帮我避开了那种AI 自作主张改了一堆文件的失控情况。第三步才进入编码阶段。真正写代码的时候AI 会按照项目现有的代码风格和约定来写——这一点不依赖技能但技能确保了它在 coding 之前已经完成对项目风格的观察和学习而不是凭训练数据里的刻板印象瞎写。第四步是验证与收尾。代码改完之后AI 会调出技能里关于回归测试的步骤先跑受影响模块的测试、再跑全量测试、最后检查 git diff 里有没有多出来不该提交的文件。这个过程在技能引入之前往往要靠我反复提醒现在它自己会做完。4.3 重启会话后的记忆恢复演示这个流程最让我觉得值的地方体现在一个新会话里。中途因为有事把会话关了第二天重新打开 Claude Code我直接说继续昨天那个功能开发把还没完成的部分做完。它没有问我哪个功能做到哪了因为在技能文件的引导下它知道应该先去读项目里的相关上下文、检查代码仓库当前的 git 状态和最近提交然后自己判断出昨天已经改完了模块 A 和 B现在剩下 C 没做。整个过程它没有依赖对话历史而是从技能 项目现状里重建了上下文。这件事给我的启发是跨会话记忆不一定要靠更长的上下文窗口也不一定要靠向量数据库那种花哨的 RAG 方案。把关键的工作方法沉淀成技能、让 AI 每次从零开始但按规范路径行事同样能达到目的而且更稳定。上下文窗口是让它记得更久技能包的思路是让它不需要记得太久也能重新进入状态。5. 用了一段时间之后那些踩过的坑和边界认知5.1 技能文件不是越多越好技能包最大的诱惑是一旦你掌握了create-superpower会忍不住想把所有经验都固化成技能——我今天加一个、明天加一个结果技能目录从十几个膨胀到几十个SKILLS.md的索引越来越长。这个做法看起来是在积累财富实际上是在制造干扰。AI 每次会话加载SKILLS.md之后要在长长的一串技能清单里判断当前该用哪个。当技能数量超过某个阈值误匹配的概率就会上升——有时候它明明在做一件简单的事却非要套一个复杂的技能流程反而弄巧成拙。我自己现在遵循两个原则第一只沉淀反复遇到且确实有固定解法的场景一次性的事情不值得写成技能第二定期清理不再使用的技能保持整个技能库精简。这个道理跟代码重构是一样的——不是代码越多越好而是每个模块都各司其职、整体边界清晰。5.2 别随便改预置技能想改就先复制预置技能虽然也是 Markdown 文件、你也可以直接编辑但我不建议你动它们。原因很简单项目每次更新预置技能文件的内容可能会跟着变。你本地的改动会和更新产生冲突并且你改完之后技能行为变成了你的自定义版本 别人的更新版本的混合体出问题很难排查。真想改某个技能的行为正确的做法是把文件复制一份、换个名字然后把自己的改动加进去。让原版保持原样既能享受项目升级带来的改进也能让自定义版本的行为完全在你的掌控之下。不过这也不是死规矩。如果你 fork 了整套项目、只维护自己的版本随便改你只是拿来用的话还是老老实实保持原样省心。5.3 技能自动匹配不是百分百可靠最需要平常心的一点是AI 对技能的选择本质上是根据场景判断该用哪个但这个判断不保证完全准确。有时候一个任务同时符合两个技能的触发条件AI 可能选了综合的、也可能选了单一的需要你从结果反推它当时的选择是否合理。我的习惯是在关键时刻不依赖自动匹配而是直接在对话里点名。比如我会说用 git-workflow 技能来规范这次的提交或者按 create-superpower 的流程把这个沉淀成新技能。显式的指令 自动触发的兜底两者结合使用比只靠其中一种可靠得多。顺带说一句技能执行过程中 AI 偶尔也会自己发挥跳过技能文件里的某个步骤。如果发现它跳过了关键验证步骤直接把执行结果发给你最好的处理方式不是生气而是在对话里把技能文件的关键步骤重新强调一遍。技能包是外力约束但最终的判断和检查还是得靠人。5.4 要点什么时候不该依赖技能包技能包也不是万能的。我自己总结了几种场景会被你直接忽略它探索性的、没有固定方法的新任务比如这个 SDK 的 API 我从来没见过帮我想想怎么用这种场景不存在成熟的方法论硬套技能反而适得其反高度依赖领域知识、而技能库里完全没有对应经验的场景也帮不上忙。它的价值域是在已经有成熟套路的重复性工作上能帮你把质量和效率都稳定在一个较高水平。另外还有一层需要注意的是技能文件的本质是描述性文本。它在给 AI 提供操作指引但并不是强制执行的插件。AI 可能受到同时读到的其他上下文影响导致行为偏离技能文件。所以它更像是软约束跟能强制执行的程序化逻辑有本质区别。理解这一层你就不会对它产生不切实际的预期。6. 从装过到用熟沉淀自己的技能库安装一套技能包从来不是终点真正有意思的是之后你开始用它来整理自己的经验。我现在的工作习惯是每个月回顾一次这个月的对话记录把那些AI 特别漂亮地解决了一个复杂问题的案例挑出来看看它解决问题的路径里有没有能提炼成通用方法的部分。有的话就写个新技能丢进技能库顺便更新SKILLS.md索引。这样积累半年之后这套系统已经脱离了它原本的开箱状态变成了我自己用的工具——预置技能反而成了少数派大部分都是贴合我具体工作场景的定制技能。我印象最深的一个自定义技能是处理遗留代码库的渐进式重构这是我在一个老项目上反复踩坑之后总结出来的流程。里面规定了接手老代码时先做什么分析、重构时按什么粒度拆分、怎么在不破坏现有功能的前提下逐步推进。从那之后每次接手旧项目我都会直接让它按这个流程走在陌生的代码里也不再感到心虚。这种掌控感才是这类工具真正能带来的收益。如果你刚开始接触这套系统我的建议是从小处着手先体验一遍预置技能遇到这次的工作流程很棒、值得记住的场景再动手创建第一个自定义技能。花不了多少时间但你会从用别人的方法过渡到沉淀自己的方法这才是 Superpowers 定义的超能力——它不只是给 AI 增加能力更是逼着你去总结自己到底是怎么把一件事做好的。这个习惯一旦养成你收获的就不只是一个好用的工具而是一整套持续迭代的个人知识管理方式。
阅读完成 · 觉得有帮助?