Superpowers 完整指南:从会话钩子到全链路技能,定制你的 AI 开发工作流
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
每次开一个新的 AI 会话,都要把项目规则重新交代一遍,环境也要重新配,AI「自由发挥」的结果时好时坏。Superpowers 是一套 agentic 技能框架,把你的开发方法变成可自动执行的 AI 开发工作流。下面四步,把它配成真正能用的工作台。
让 AI 开机会话就注入上下文:Superpowers 会话启动钩子怎么写 🪝
做完的效果:你每开一个新会话,AI 就已经带着「这个项目里该怎么干活」的规则上场,不用在第一条消息里复述。
钩子就是让平台在特定时机自动执行的脚本,你可以理解成「开机自启」。Superpowers 自带一个现成的:hooks/hooks.json 里定义了SessionStart事件,会话启动、clear 或上下文压缩时都会触发同一条命令。
{ "hooks": { "SessionStart": [ { "matcher": "startup|clear|compact", "hooks": [ { "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.cmd\" session-start" } ] } ] } }脚本本身做的事很朴素:读取skills/using-superpowers/SKILL.md的全文,包成 JSON 注入会话上下文。你想加自己的逻辑(检查环境变量、装依赖、打印项目信息),直接改 hooks/ 目录下的这个脚本即可。run-hook.cmd是个双语法包装器,在 Windows 上会自动找 bash 来跑 Unix 脚本,你不需要为两个平台各写一份。
两个易错处:其一,JSON 输出字段因平台而异——Claude Code 读hookSpecificOutput,Cursor 读additional_context,Copilot CLI 读additionalContext,脚本里已经按环境变量自动判别,别手动抄某一份字段;其二,${CLAUDE_PLUGIN_ROOT}不要加单引号,Windows 的 cmd 和 Linux 的 bash 都会因此翻车。
内置技能怎么选、技能之间如何互相引用
技能是可装配的 SOP:skills/ 下每个文件夹一个技能,里面的 SKILL.md 声明「什么时候用、具体怎么执行」。AI 判断某个技能可能适用于当前任务时,会用 Skill 工具把它加载进对话,比如superpowers:writing-plans。调用门槛刻意放得很低——只要觉得可能相关就先调起来,因为技能规定的是「怎么干」,不是额外步骤;真不匹配就弃用,判断错的代价很低。
选择上有明确次序:流程技能先行,实现技能随后。你说「帮我做 X」,先进superpowers:brainstorming把需求问清楚,产出一份设计文档存到docs/superpowers/specs/;确认后再进superpowers:writing-plans,把 spec 拆成每步 2~5 分钟、各自带测试的任务清单,存到docs/superpowers/plans/。中途遇到 bug,先停手进superpowers:systematic-debugging,它会要求你先定位根因再动手改。
技能之间靠superpowers:技能名引用,这是工作流能串起来的关键。以 systematic-debugging 的实现阶段为例:
- Use the `superpowers:test-driven-development` skill for writing proper failing tests - Use the `superpowers:verification-before-completion` skill before claiming success意思是:进了调试流程,TDD 写失败测试、宣称完成前先验证,会自动被带进来。你写自己的技能时也用这种写法声明依赖即可,不必把别的技能内容抄一份进来。另外记住优先级:你写在 CLAUDE.md、AGENTS.md 里的指令永远压过技能,技能只覆盖默认行为。
一套配置适配多环境:环境变量与外部工具怎么接 🔧
最常碰到的三个环境变量:
CLAUDE_PLUGIN_ROOT # 插件根目录,钩子里靠它定位脚本 SUPERPOWERS_SKILLS_ROOT # 自定义技能目录,常用值为 ~/.config/superpowers/skills SUPERPOWERS_DISABLE_TELEMETRY # 置任意真值即关闭版本号遥测第一个是平台告诉脚本「我装在哪儿」;第二个是你的技能挂载点——把自己的 SKILL.md 文件夹丢进去就能被识别,不动仓库本体;第三个是遥测开关,不想上报版本号就关掉。
外部集成走同样的思路:仓库为不同平台各备了一份现成配置——Claude Code 用 hooks/hooks.json,Cursor 用 hooks/hooks-cursor.json,Gemini 用 gemini-extension.json,Codex 则通过 scripts/ 下的脚本打包成插件。钩子脚本靠CURSOR_PLUGIN_ROOT、COPILOT_CLI这类环境变量分支,输出当前平台认的 JSON 结构,「一套脚本跑多平台」就是这么实现的。要接入新的 agent,参考 docs/porting-to-a-new-harness.md,它把每个检测分支和输出字段都讲清楚了;docs/plans/ 里的 OpenCode 设计文档则展示了如何用自定义工具 API 给 Superpowers 扩能力。
从想法到部署:一条完整的 AI 开发工作流怎么跑
把前面这些接上,整个过程你只需要在开头说一句「我们来做个功能」:
- brainstorming 逐条提问锁定需求,spec 自查后等你确认才放行;
- writing-plans 把 spec 拆成「每步一个动作、每步可独立测试」的计划;
- using-git-worktrees 开一个隔离的 worktree,不碰你当前的分支;
- subagent-driven-development 每个任务派一个全新子代理实现,做完过一道任务审查,收尾再全分支审查(想换个会话并行跑,就改用 executing-plans);
- 测试挂了由 systematic-debugging 接管,修完后 verification-before-completion 要求先拿证据再宣称完成;
- finishing-a-development-branch 处理合并与清理。
之所以能自己往前走,是因为每一步的 SKILL.md 里都写着下一步技能的名字——这条引用链本身就是工作流。所有中间产物(spec、计划)都落进仓库并随代码提交,中途换会话也能接着跑。
配置文件管理给三条实践:自定义技能统一放SUPERPOWERS_SKILLS_ROOT指向的目录,并把该配置提交进仓库,让团队用同一套 SOP;生成的 spec 和计划保持默认落点docs/superpowers/,便于检索;开发、测试、生产需要不同行为时,不要改同一个 SKILL.md,而是写不同的技能,用环境变量切换。
先做这三件事:Superpowers 快速起步建议
- 本周就改一次会话启动脚本,把你反复手敲的项目规则注入进去,这是回报最高的一项;
- 写第一个自定义技能前,先读 writing-skills/SKILL.md,用
superpowers:xxx声明对其他技能的依赖,不要抄内容; - 拿个小需求把 brainstorming 到 finishing-a-development-branch 全链路完整跑一遍,再决定用哪个自研技能替换哪个环节。
想继续深入:新平台移植看 docs/porting-to-a-new-harness.md,技能测试方法看 docs/testing.md,历史设计决策都在 docs/ 的 plans 目录里。
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考