
1. 从“超能力”到可复用技能superpowers 到底在解决什么问题第一次听到 “superpowers” 这个词很多人会以为是某个新出的游戏或者影视 IP。但在开发者圈子里它指的是一套围绕 AI 编程助手构建的技能增强体系——你可以把它理解成给 AI 助手装上一整套“外挂工具箱”让它在写代码、调试、重构、写文档这些具体任务上表现得像一个有多年经验的工程师而不是一个只会背书的实习生。我自己用下来最直观的感受是默认状态下的 AI 助手像一个知识面很广但缺乏章法的通才你问它什么它都能聊两句但真让它动手做一个完整项目它容易东一榔头西一棒子。而 superpowers 做的事情是把“资深工程师的工作方法论”拆成一个个可调用的技能模块skills在合适的时机自动或手动触发让 AI 的行为变得有章法、有流程、有检查点。这套东西能做什么简单说三件事第一把模糊需求变成结构化任务第二在写代码前先做方案设计和风险识别第三在交付前强制走一遍自检流程。它解决的问题是 AI 编程“看起来很快、实际返工多”的老毛病。适合谁来参考我觉得三类人最该看一是天天用 AI 写代码但总觉得差点意思的独立开发者二是想把 AI 助手接入团队工作流的技术负责人三是刚接触 AI 编程、想一开始就建立正确使用方法的新手。热搜里高频出现的几个词——“superpowers 具体使用”“有哪些 skills”“怎么引入这些技能”“想要安装 superpowers”——恰好对应了大家最关心的四个问题它是什么、里面有什么、怎么接进来、怎么装。我下面就把这几个问题掰开揉碎讲清楚尽量让你看完就能上手。2. 核心设计思路拆解为什么是“技能”而不是“提示词”2.1 提示词工程的瓶颈在哪里大部分人用 AI 编程起步阶段都是靠“提示词”堆出来的。写一段长长的指令把需求、约束、格式全塞进去然后祈祷模型能一次听懂。这个方法在简单任务上还行一旦任务变复杂问题就暴露了提示词越写越长模型注意力被稀释前面说的约束到后面就忘了而且每次新开一个对话你都得把那一大段重新贴一遍维护成本极高。更麻烦的是提示词是“一次性”的。你这次调好了一个写单元测试的提示词下次换个项目上下文变了它可能就不灵了。这就像你每次做饭都要重新背一遍菜谱而不是把菜谱做成卡片放在手边随时抽。2.2 技能化封装的核心逻辑superpowers 的思路是把这些“菜谱”做成标准化的技能卡片。每个 skill 是一个独立的、自包含的模块里面写清楚了这个技能解决什么问题、什么时候该用、具体步骤是什么、有哪些注意事项、输出格式长什么样。AI 助手在遇到对应场景时可以按需加载这个技能而不是把所有知识一股脑塞进上下文。这个设计的好处非常明显。第一是上下文经济只在需要时加载需要的技能不浪费 token。第二是可维护某个技能不好用单独改那一个文件就行不影响其他。第三是可组合复杂任务可以拆成多个技能串联执行比如“需求分析 → 方案设计 → 编码 → 测试 → 文档”每个环节调用不同技能。我打个比方提示词像是一张手写的便签技能像是一个带索引的文件夹。便签用完就扔文件夹可以反复取用、随时增补。这就是为什么 superpowers 选择“技能”作为基本单位而不是继续在提示词上做文章。2.3 触发机制自动还是手动技能怎么被调用是这套体系里很关键的一个设计点。常见的有两种模式一种是自动触发AI 根据当前任务类型自己判断该用哪个技能另一种是手动调用你明确告诉它“现在用某某技能”。自动触发的好处是省心适合流程固定的场景比如每次写完代码自动走一遍代码审查技能。但它的风险是误判——AI 可能在不该用的时候用了或者该用的时候没识别出来。手动调用更可控但需要你对技能库足够熟悉知道什么场景该点哪个技能。我的经验是两者结合把高频、低风险的技能设成自动触发比如格式化、命名规范检查把高影响、需要判断的技能设成手动比如架构设计、数据库迁移方案。这样既省力又不失控。3. 技能库全景superpowers 里到底有哪些 skills3.1 需求与规划类技能这一类技能解决的是“动手之前先想清楚”的问题。最典型的是需求澄清技能当你给出一句模糊的需求比如“帮我做个用户登录功能”它会先反问几个关键问题——是邮箱登录还是手机号登录要不要第三方登录密码强度要求是什么会话保持多久这些问题看起来简单但如果不问清楚后面写出来的代码大概率要推倒重来。还有任务拆解技能把一个大需求拆成可执行的小任务清单每个任务有明确的输入输出和验收标准。我实测下来这个技能对控制项目范围特别有用能有效防止“做着做着发现漏了一块”的情况。3.2 编码与实现类技能这是技能库里数量最多的一类。常见的有代码生成技能按指定语言、框架、风格生成代码内置了命名规范、错误处理、日志埋点等约定。重构技能识别代码坏味道给出重构方案并执行比如提取函数、消除重复、简化条件判断。API 设计技能设计 RESTful 或 RPC 接口自动检查命名一致性、状态码规范、分页参数等。数据库操作技能生成建表语句、索引建议、迁移脚本并检查字段类型和约束是否合理。这些技能的共同点是它们不只是“生成代码”而是带着一套工程规范在生成。比如代码生成技能会强制要求函数有文档注释、异常有兜底处理、关键路径有日志。这些细节单靠提示词很难稳定保证但写成技能后每次调用都会走一遍检查清单。3.3 测试与质量类技能测试类技能是我个人觉得最值钱的部分。包括单元测试生成技能、集成测试设计技能、边界条件分析技能、代码审查技能等。拿边界条件分析技能举例你给它一个函数它会系统性地列出可能的边界情况——空输入、超长输入、特殊字符、并发访问、网络超时、磁盘满、权限不足等等。这个清单不是拍脑袋想的而是内置了一套分类框架覆盖了输入边界、状态边界、资源边界、时间边界几个维度。我自己写代码时经常漏掉资源边界这个技能帮我补了不少坑。3.4 文档与协作类技能包括README 生成技能、变更日志维护技能、提交信息规范技能、代码注释补全技能等。这类技能看起来不起眼但在团队协作里价值很大。比如提交信息规范技能会强制要求 commit message 遵循“类型: 简短描述”的格式类型限定在 feat、fix、docs、refactor 等几个选项里。坚持用下来git log 可读性提升非常明显。3.5 技能之间的组合关系单个技能解决单点问题但真正体现威力的是技能组合。比如一个完整的功能开发流程可能是需求澄清 → 任务拆解 → API 设计 → 数据库设计 → 代码生成 → 单元测试 → 代码审查 → 文档更新。这八个技能串起来就形成了一条从需求到交付的完整流水线。我建议新手不要一上来就追求全自动串联先把单个技能用熟知道每个技能的输出长什么样、在什么场景下最有效然后再尝试两三个技能组合。一口吃不成胖子技能体系也是一样。4. 怎么引入这些技能从零到跑通的完整路径4.1 引入前的环境确认在动手之前先确认几件事。第一你用的 AI 编程工具是否支持自定义技能或类似扩展机制。不同工具的接入方式差异很大有的支持配置文件加载有的需要写插件有的只能通过特定目录结构识别。第二确认你的工作目录结构技能文件通常需要放在约定好的位置比如项目根目录下的某个隐藏文件夹。第三确认版本兼容性技能格式可能随工具版本变化用之前最好看一眼对应版本的文档说明。提示如果你不确定自己的工具支不支持最稳妥的办法是先建一个测试项目用最小化的技能文件试跑一次确认能被识别再往正式项目里搬。4.2 技能文件的目录组织一个清晰、可维护的目录结构能让后续管理省很多事。我常用的组织方式是这样的skills/ planning/ requirement-clarify.md task-breakdown.md coding/ code-generate.md refactor.md api-design.md testing/ unit-test.md boundary-check.md code-review.md docs/ readme-gen.md changelog.md按“阶段”分大类每个技能一个 Markdown 文件。文件名用英文短横线连接见名知意。这样不管是自己找还是让 AI 加载路径都很清晰。如果技能数量多还可以再加一层按语言或框架细分比如coding/python/、coding/javascript/。4.3 单个技能文件的标准结构一个写得好的技能文件通常包含这几个部分名称与描述一句话说清楚这个技能干什么、什么时候用。触发条件什么情况下应该加载这个技能用自然语言描述清楚。执行步骤分步骤列出具体做什么每步有明确的动作和产出。检查清单执行完要核对哪些点防止遗漏。输出格式期望的输出长什么样最好给一个示例。注意事项容易出错的地方、禁忌操作、边界情况。这个结构不是死的但核心思想是让 AI 读完这个文件后能准确理解“我现在该做什么、按什么顺序做、做到什么程度算完成”。4.4 引入过程中的常见坑我踩过的坑主要有三个。第一个是技能描述太模糊比如只写“优化代码”AI 不知道优化什么维度——是性能、可读性还是可维护性后来我改成“识别重复代码并提取为函数识别过长函数并拆分识别魔法数字并提取为常量”效果立刻不一样。第二个是技能之间职责重叠两个技能都管代码格式结果互相打架。解决办法是明确边界一个技能只管一件事有交叉的地方在文件里写清楚“本技能不负责某某请使用某某技能”。第三个是加载顺序问题有些技能有依赖关系比如代码审查技能依赖代码已经生成。如果顺序乱了AI 会对着空文件做审查。这个需要在流程设计时就把依赖关系理清楚或者在技能文件里写明前置条件。5. 安装与配置实操手把手跑通第一个技能5.1 安装方式的选择superpowers 的安装方式取决于你用的具体工具。常见的有三种包管理器安装比如通过 npm、pip 之类的工具拉取、手动克隆仓库把技能文件复制到指定目录、配置文件声明在工具的配置里写上技能来源地址。包管理器安装最省事适合追求效率的场景但版本更新可能滞后。手动克隆最灵活可以随时改技能内容适合需要深度定制的团队。配置文件声明介于两者之间适合多项目共享同一套技能的情况。我的建议是个人项目用手动克隆方便随时改团队项目用配置文件声明统一版本、统一更新。5.2 最小可用配置示例假设你选择手动方式一个最小可用的配置流程大概是这样的# 1. 在项目根目录创建技能目录 mkdir -p .ai/skills # 2. 放入第一个技能文件 # 将编写好的 skill 文件复制到 .ai/skills/ 下 # 3. 在工具配置中声明技能目录位置 # 具体配置项名称因工具而异通常在配置文件中指定 skills 路径配置完成后重启工具或重新加载配置然后在一个测试对话里手动触发这个技能看它是否能被正确识别和执行。如果没反应先检查路径对不对再检查文件格式是否符合要求。5.3 验证技能是否生效验证方法很简单给 AI 一个明确需要该技能的任务看它的行为是否符合技能定义。比如你装了一个“边界条件分析”技能就给它一个简单函数看它是否系统性地列出了边界情况。如果它只是泛泛而谈说明技能没被加载或者描述不够具体。我习惯在技能文件里加一个“自检问题”比如“你是否已经列出了至少五类边界情况”这样即使 AI 没完全按流程走这个自检问题也能把它拉回来。5.4 参数与配置项说明不同技能的配置项不一样但有几类通用参数值得关注配置项作用常见取值触发模式自动还是手动auto / manual优先级多个技能同时匹配时的顺序high / medium / low适用范围限定语言或框架python / javascript / all输出详细度控制输出长度brief / normal / detailed是否强制是否必须执行完才能继续true / false这些参数不是每个工具都支持具体以你所用工具的文档为准。我的经验是先把触发模式和适用范围配好这两个对实际体验影响最大。6. 常见问题与排查技巧实录6.1 技能不生效的排查思路技能装了但没反应是最常见的问题。排查顺序建议这样走先确认文件路径和文件名是否符合工具要求大小写、扩展名都不能错再确认文件内容格式是否正确比如 Markdown 的标题层级、代码块闭合然后确认工具是否真的加载了这个目录有些工具需要显式声明最后确认触发条件是否匹配你给的任务描述可能没命中技能定义的触发词。我遇到过一次折腾半天发现是文件名里有个空格工具识别不了。这种低级错误最容易忽略建议文件名统一用短横线不用空格和中文。6.2 技能冲突与优先级处理两个技能同时被触发输出互相矛盾这种情况也不少见。解决办法有两个一是给技能设优先级高优先级的先执行低优先级的让路二是在技能文件里写明互斥关系比如“本技能与某某技能互斥同时匹配时优先使用某某”。更根本的办法是重新审视技能划分如果两个技能经常冲突说明它们的职责边界没划清楚应该合并或者重新拆分。6.3 输出质量不稳定的应对同一个技能有时候输出很好有时候很水。原因通常有三个任务描述太模糊、上下文太长导致注意力分散、技能文件本身写得不够具体。对应的解决办法是把任务描述写具体控制单次对话的上下文长度以及持续迭代技能文件。我自己的做法是每次发现输出不理想就回头改技能文件把这次的问题作为一条注意事项加进去。改个五六轮之后技能就相当稳定了。6.4 常见问题速查表问题现象可能原因解决办法技能完全不触发路径错误、格式错误、未声明检查路径和格式确认工具已加载触发但输出跑偏描述模糊、上下文干扰细化技能描述缩短上下文多个技能打架职责重叠、无优先级明确边界设置优先级输出时好时坏技能文件不够具体持续迭代补充注意事项加载速度慢技能文件过大、数量过多拆分大文件按需加载6.5 几个我踩过的坑第一个坑是贪多。一开始装了几十个技能结果 AI 每次都要在技能库里翻半天反而变慢。后来精简到十几个高频技能体验好很多。技能不在多在精。第二个坑是只装不改。直接用别人写好的技能不根据自己的项目调整效果往往一般。技能文件一定要结合自己的技术栈和团队规范改改完才是真正好用的。第三个坑是忽略版本。工具升级后技能格式变了旧技能可能失效。建议在技能目录里放一个版本说明文件记录每个技能适配的工具版本升级时对照检查。7. 把技能用出复利我的实战体会技能体系真正产生复利是在你开始“沉淀”的时候。每次做完一个项目把过程中好用的提示词、检查清单、流程步骤整理成技能文件下次遇到类似任务直接调用。这样你的技能库会越来越厚而每次新项目的启动成本会越来越低。我现在的工作流是这样的新项目启动先调需求澄清和任务拆解技能把范围定清楚然后调 API 设计和数据库设计技能把骨架搭起来编码阶段用代码生成和重构技能交付前走一遍测试生成、边界检查和代码审查技能最后用文档技能更新 README 和变更日志。整套流程走下来返工率比纯手写提示词低了不少。还有一个小技巧给技能文件加“版本号”和“最后更新日期”。技能也是代码需要维护。每次改动记一笔过段时间回头看能清楚知道哪些技能在进化、哪些已经过时该淘汰了。这套东西不是银弹它不能让你完全不用动脑子。但它能把你的经验固化下来让 AI 助手每次都按你最好的那套方法来干活而不是每次从零开始碰运气。这一点我觉得是它最大的价值。