关于 using-superpowers
一项指导 AI Agent 在行动或回复前检查并调用适用技能的技能,并说明指令冲突时的优先级。
主要功能
- 01调用适用技能的规则
- 02指令优先级层级
- 03各平台的技能访问指南
- 04工作流与领域技能目录
适用场景
- 01判断任务是否适用某项技能
- 02处理用户指令与技能之间的冲突
- 03为工作流查找相关技能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lucianghinda/ superpowers-ruby --skill using-superpowers安装后在 Claude Code 中输入/using-superpowers确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/codex-tools.mdcopilot-tools.mdgemini-tools.md详细介绍
如果某项技能适用于你的任务,你别无选择,必须使用它。
这不可协商,也不是可选项。你不能为自己找理由规避它。
指令优先级
Superpowers Ruby 技能优先于默认系统提示行为,但用户指令始终优先:
- 用户的明确指令(CLAUDE.md、GEMINI.md、AGENTS.md、直接请求)——最高优先级
- Superpowers 技能——与默认系统行为冲突时优先
- 默认系统提示——最低优先级
如果 CLAUDE.md、GEMINI.md 或 AGENTS.md 写明“不要使用 TDD”,而技能要求“始终使用 TDD”,请遵循用户指令。用户拥有决定权。
如何访问技能
在 Claude Code 中: 使用 Skill 工具。调用技能后,其内容会加载并呈现给你——请直接遵循。切勿使用 Read 工具读取技能文件。
在 Copilot CLI 中: 使用 skill 工具。技能会从已安装的插件中自动发现。skill 工具的使用方式与 Claude Code 相同。
在 Gemini CLI 中: 技能通过 activate_skill 工具激活。Gemini 会在会话开始时加载技能元数据,并按需激活完整内容。
在其他环境中: 查看你所在平台的文档,了解如何加载技能。
平台适配
技能使用 Claude Code 的工具名称。非 CC 平台请参阅 references/copilot-tools.md(Copilot CLI)和 references/codex-tools.md(Codex),了解对应工具。Gemini CLI 用户会通过 GEMINI.md 自动加载工具映射。
使用技能
规则
在回复或执行操作之前,先调用相关技能或用户要求的技能。 即使只有 1% 的可能适用,也应调用技能确认。如果调用后发现技能并不适合当前情形,则无需使用。
digraph skill_flow {
"User message received" [shape=doublecircle];
"About to EnterPlanMode?" [shape=doublecircle];
"Already brainstormed?" [shape=diamond];
"Invoke brainstorming skill" [shape=box];
"Might any skill apply?" [shape=diamond];
"Invoke Skill tool" [shape=box];
"Announce: 'Using [skill] to [purpose]'" [shape=box];
"Has checklist?" [shape=diamond];
"Create TodoWrite todo per item" [shape=box];
"Follow skill exactly" [shape=box];
"Respond (including clarifications)" [shape=doublecircle];
"About to EnterPlanMode?" -> "Already brainstormed?";
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
"Invoke brainstorming skill" -> "Might any skill apply?";
"User message received" -> "Might any skill apply?";
"Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
"Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'";
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
"Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
"Has checklist?" -> "Follow skill exactly" [label="no"];
"Create TodoWrite todo per item" -> "Follow skill exactly";
}
警示信号
出现以下想法时请停下来——你在为自己找借口:
| 想法 | 实际情况 |
|---|---|
| “这只是个简单问题” | 问题也是任务。检查技能。 |
| “我需要先了解更多背景” | 技能检查必须先于澄清问题。 |
| “让我先查看代码库” | 技能会告诉你如何查看。先检查技能。 |
| “我可以快速检查 git/文件” | 文件缺少对话背景。检查是否有适用技能。 |
| “让我先收集信息” | 技能会告诉你如何收集信息。 |
| “这不需要正式技能” | 如果存在技能,就要使用。 |
| “我记得这个技能” | 技能会更新。阅读当前版本。 |
| “这不算任务” | 行动就是任务。检查技能。 |
| “技能太繁琐了” | 简单的事情也会变复杂。请使用技能。 |
| “我先做这一件事” | 先检查,再行动。 |
| “这看起来很有效率” | 缺乏纪律会浪费时间。技能有助于避免这种情况。 |
| “我知道这是什么意思” | 了解概念 ≠ 使用技能。调用技能。 |
技能优先级
当多项技能可能适用时,按以下顺序使用:
- 流程技能优先(头脑风暴、调试)——它们决定如何处理任务
- 实现技能其次(frontend-design、mcp-builder)——它们指导执行
“让我们构建 X” → 先头脑风暴,再使用实现技能。 “修复此错误” → 先调试,再使用特定领域技能。
技能类型
严格型(TDD、调试):严格遵循,不要擅自变通。
灵活型(模式):根据情境调整原则。
技能本身会说明其类型。
用户指令
指令说明要做什么,而不是怎么做。“添加 X”或“修复 Y”并不意味着可以跳过工作流程。
技能目录
所有可用技能——使用 Skill 工具并指定 name 值来调用。
流程与工作流
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:brainstorming | 开始任何创意工作时——新功能、组件或行为变更(必需) |
superpowers-ruby:test-driven-development | 实现任何功能或修复 Bug 时——编写实现代码之前(必需) |
superpowers-ruby:systematic-debugging | 诊断 Bug 或意外行为时 |
superpowers-ruby:writing-plans | 规划多步骤实现时 |
superpowers-ruby:executing-plans | 执行现有计划时 |
superpowers-ruby:dispatching-parallel-agents | 将独立工作分配给多个子 Agent 并行处理时 |
superpowers-ruby:subagent-driven-development | 使用子 Agent 实现和审查代码时 |
superpowers-ruby:verification-before-completion | 完成任务时——标记为完成之前 |
superpowers-ruby:finishing-a-development-branch | 整理功能分支以准备创建 PR 时 |
superpowers-ruby:using-git-worktrees | 需要使用隔离的 git worktree 并行工作时 |
superpowers-ruby:compound | 刚解决一个非简单问题时——记录解决方案 |
会话连续性
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:handoff | 切换上下文、结束会话或手动保留进度之前,记录会话状态时 |
superpowers-ruby:handoff-resume | 开始新会话并希望继续之前的交接内容时 |
superpowers-ruby:handoff-list | 查看可用的交接文档时 |
Ruby 与 Rails
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:ruby | 编写、审查或调试纯 Ruby 时——惯用模式、Ruby 3.x+ 特性(模式匹配、Data.define、无终止符方法)、记忆化、结果对象 |
superpowers-ruby:rails-guides | 处理任何 Rails 专属主题时:ActiveRecord、路由、控制器、视图、邮件发送器、作业、Action Cable、Action Text、Active Storage、迁移、验证、关联、缓存、安全 |
superpowers-ruby:37signals-style | 按 37signals/Basecamp 风格编写 Rails 代码时——控制器、模型、视图、Hotwire、测试、数据库、理念 |
superpowers-ruby:ruby-commit-message | 在 Ruby 或 Rails 项目中提交更改时——采用 Conventional Commits 格式,并附上便于开发者阅读的正文 |
superpowers-ruby:sandi-metz-rules | 为提升质量而审查或重构 Ruby 代码时——类少于 100 行、方法少于 5 行、参数不超过 4 个、每个控制器操作只处理一个对象 |
Hotwire 与 Stimulus
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:hwc-stimulus-fundamentals | 处理 Stimulus 控制器生命周期、值、目标、出口、操作参数、键盘事件时——框架级 API |
superpowers-ruby:hwc-navigation-content | 实现 Turbo Drive/Frames 导航时:分页、标签式导航、延迟加载、分面筛选、缓存生命周期、滚动位置恢复 |
superpowers-ruby:hwc-forms-validation | 构建 Hotwire 表单工作流时:提交生命周期、内联编辑、验证错误、输入联想、模态表单 |
superpowers-ruby:hwc-ux-feedback | 添加跨功能的 UX 反馈时:加载状态、忙碌指示器、进度条、乐观 UI、页面过渡 |
superpowers-ruby:hwc-realtime-streaming | 实现基于推送的 Hotwire 功能时:通过 WebSocket/SSE 传输 Turbo Streams、自定义流操作、实时列表更新、跨标签页同步 |
superpowers-ruby:hwc-media-content | 构建媒体密集型功能时:图像/视频/音频上传、预览、播放控制、进度跟踪、第三方媒体库 |
安全
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:brakeman | 执行 Rails 安全审计、分析代码中的 SQL 注入/XSS/命令注入,或设置 CI/CD 安全扫描时 |
代码审查与质量
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:requesting-code-review | 提交代码以供审查时 |
superpowers-ruby:receiving-code-review | 处理收到的代码审查反馈时 |
元信息
| 名称 | 使用时机 |
|---|---|
superpowers-ruby:writing-skills | 编写新技能或改进现有技能时 |
superpowers-ruby:compound | 将非平凡的解决方案记录为复合知识时 |
superpowers-ruby:compound-refresh | 文档/解决方案/经验可能已过时时——在重构、迁移或依赖项升级后 |