Superpowers:using-superpowers 技能详解

11 阅读5分钟

一、定位与作用

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️⃣ 技能优先级

当多个技能可能适用时,按此顺序:

  1. 流程技能优先(brainstorming、debugging)—— 这些决定如何处理任务
  2. 实现技能第二(frontend-design、mcp-builder)—— 这些指导执行

例子

  • "让我们构建 X" → 先用 brainstorming,再用实现技能
  • "修复这个 bug" → 先用 debugging,再用领域特定技能

9️⃣ 技能类型

类型例子如何使用
刚性TDD、debugging严格遵循。不要为了方便而偏离纪律。
灵活模式类技能根据上下文调整原则。

技能本身会告诉你它是哪种类型。


🔟 用户指令

指令说的是做什么,而不是怎么做

"添加 X"或"修复 Y"并不意味着跳过工作流。


三、实际应用场景

让我们看几个实际例子:

场景 1:用户说"帮我修复这个 bug"

❌ 错误做法

  • 直接开始看代码
  • 直接尝试修复

✅ 正确做法

  1. 调用 systematic-debugging 技能
  2. 遵循调试流程
  3. 找到根因后再修复

场景 2:用户说"让我们构建一个新功能"

❌ 错误做法

  • 直接开始写代码
  • 想到哪写到哪

✅ 正确做法

  1. 调用 brainstorming 技能
  2. 理解需求,设计方案
  3. 调用 writing-plans 技能
  4. 制定计划
  5. 然后开始执行

场景 3:用户问"这个函数是做什么的?"

❌ 错误做法

  • 直接回答(如果觉得太简单)

✅ 正确做法

  1. 检查是否有相关技能
  2. 没有的话,再回答
  3. 即使是简单问题,也要先检查

四、核心理念总结

using-superpowers 的核心思想可以概括为:

  1. 技能优先:在做任何事之前,先检查有没有适用的技能
  2. 强制使用:只要有 1% 的可能,就必须调用
  3. 用户至上:用户指令优先级最高
  4. 流程为王:遵循流程,而不是凭感觉
  5. 防止偷懒:不给自己找借口的机会

五、为什么这个技能如此重要?

这个技能是 Superpowers 的基石,因为:

  1. 它确保一致性:所有 AI 都按相同的规则使用技能
  2. 它防止偏差:AI 不能自作主张跳过流程
  3. 它保证质量:通过强制使用技能,确保输出质量
  4. 它降低认知负担:AI 不需要决定用不用技能,规则已经定好了