一、定位与作用
using-superpowers 是整个 Superpowers 技能系统的入口技能和总调度员。它就像餐厅的前台经理,告诉你如何点餐、如何使用餐厅的服务。
- 触发时机:任何对话开始时都会触发
- 核心作用:建立如何找到和使用技能的规则
- 重要程度:⭐⭐⭐⭐⭐(没有它,整个技能系统就无法正常工作)
二、关键内容详解
1️⃣ 子代理停止标记
Markdown
<SUBAGENT-STOP>
If you were dispatched as a subagent to execute a specific task, skip this skill.
</SUBAGENT-STOP>
含义:如果你是被派来执行特定任务的子代理,跳过这个技能。
为什么这样设计:
- 子代理通常有明确的、狭窄的任务
- 主代理已经完成了技能选择和任务规划
- 子代理只需要专注于执行,不需要再走一遍完整的技能选择流程
2️⃣ 极其重要的强制规则
Markdown
<EXTREMELY-IMPORTANT>
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
</EXTREMELY-IMPORTANT>
核心要点:
- 只要有 1% 的可能性某个技能适用,就必须调用它
- 没有选择余地,必须使用
- 不可协商,不可选择,不能找借口
为什么这么严格?
- 防止 AI 偷懒或自作主张
- 确保质量和一致性
- 避免"我觉得不用也行"的情况
3️⃣ 指令优先级
| 优先级 | 指令来源 | 说明 |
|---|---|---|
| 1️⃣ 最高 | 用户明确指令 | CLAUDE.md、GEMINI.md、AGENTS.md、直接请求 |
| 2️⃣ 中间 | Superpowers 技能 | 覆盖默认系统行为 |
| 3️⃣ 最低 | 默认系统提示 | 当没有其他指令时使用 |
例子:
- 如果 CLAUDE.md 说"不要用 TDD",而技能说"总是用 TDD" → 听用户的
- 用户是最终决策者
4️⃣ 如何访问技能
不同平台有不同的技能调用方式:
| 平台 | 调用方式 |
|---|---|
| Claude Code | 使用 Skill 工具 |
| Copilot CLI | 使用 skill 工具 |
| Gemini CLI | 使用 activate_skill 工具 |
| 其他环境 | 查看平台文档 |
重要规则:
- 永远不要用 Read 工具直接读取技能文件
- 必须通过官方工具调用技能
5️⃣ 技能使用规则(核心中的核心)
Invoke relevant or requested skills BEFORE any response or action.
在任何响应或行动之前,先调用相关或被请求的技能。
即使只有 1% 的可能性某个技能适用,也应该调用它来检查。如果调用的技能不适合当前情况,你不需要使用它。
6️⃣ 技能使用流程图
让我用更易懂的方式解释这个流程图:
Plain Text
收到用户消息
↓
是否要进入计划模式?
↓ 是
已经头脑风暴过了吗?
↓ 否 → 调用 brainstorming 技能
↓ 是
有没有任何技能可能适用?
↓ 是(哪怕只有 1%)→ 调用 Skill 工具
↓ 否 → 直接响应
↓
宣布:"使用 [技能] 来 [目的]"
↓
有检查清单吗?
↓ 是 → 为每个项目创建 TodoWrite
↓ 否
严格遵循技能
↓
响应(包括澄清问题)
7️⃣ 红色警示(Red Flags)
这些想法意味着你要停下来——你在找借口:
| 你的想法 | 现实 |
|---|---|
| "这只是个简单问题" | 问题也是任务。检查技能。 |
| "我需要更多上下文" | 技能检查在澄清问题之前。 |
| "我先探索一下代码库" | 技能告诉你如何探索。先检查。 |
| "我可以快速检查 git/文件" | 文件缺少对话上下文。检查技能。 |
| "我先收集点信息" | 技能告诉你如何收集信息。 |
| "这不太需要正式技能" | 如果有技能,就用它。 |
| "我记得这个技能" | 技能会更新。读当前版本。 |
| "这不算任务" | 行动 = 任务。检查技能。 |
| "技能太小题大做了" | 简单的事会变复杂。用它。 |
| "我先做这一件事" | 在做任何事之前先检查。 |
| "这感觉很有效率" | 无纪律的行动浪费时间。技能防止这一点。 |
| "我知道那是什么意思" | 知道概念 ≠ 使用技能。调用它。 |
8️⃣ 技能优先级
当多个技能可能适用时,按此顺序:
- 流程技能优先(brainstorming、debugging)—— 这些决定如何处理任务
- 实现技能第二(frontend-design、mcp-builder)—— 这些指导执行
例子:
- "让我们构建 X" → 先用 brainstorming,再用实现技能
- "修复这个 bug" → 先用 debugging,再用领域特定技能
9️⃣ 技能类型
| 类型 | 例子 | 如何使用 |
|---|---|---|
| 刚性 | TDD、debugging | 严格遵循。不要为了方便而偏离纪律。 |
| 灵活 | 模式类技能 | 根据上下文调整原则。 |
技能本身会告诉你它是哪种类型。
🔟 用户指令
指令说的是做什么,而不是怎么做。
"添加 X"或"修复 Y"并不意味着跳过工作流。
三、实际应用场景
让我们看几个实际例子:
场景 1:用户说"帮我修复这个 bug"
❌ 错误做法:
- 直接开始看代码
- 直接尝试修复
✅ 正确做法:
- 调用 systematic-debugging 技能
- 遵循调试流程
- 找到根因后再修复
场景 2:用户说"让我们构建一个新功能"
❌ 错误做法:
- 直接开始写代码
- 想到哪写到哪
✅ 正确做法:
- 调用 brainstorming 技能
- 理解需求,设计方案
- 调用 writing-plans 技能
- 制定计划
- 然后开始执行
场景 3:用户问"这个函数是做什么的?"
❌ 错误做法:
- 直接回答(如果觉得太简单)
✅ 正确做法:
- 检查是否有相关技能
- 没有的话,再回答
- 即使是简单问题,也要先检查
四、核心理念总结
using-superpowers 的核心思想可以概括为:
- 技能优先:在做任何事之前,先检查有没有适用的技能
- 强制使用:只要有 1% 的可能,就必须调用
- 用户至上:用户指令优先级最高
- 流程为王:遵循流程,而不是凭感觉
- 防止偷懒:不给自己找借口的机会
五、为什么这个技能如此重要?
这个技能是 Superpowers 的基石,因为:
- 它确保一致性:所有 AI 都按相同的规则使用技能
- 它防止偏差:AI 不能自作主张跳过流程
- 它保证质量:通过强制使用技能,确保输出质量
- 它降低认知负担:AI 不需要决定用不用技能,规则已经定好了