Gemini CLI 和 GitHub Copilot CLI 要适配 Superpowers 技能,核心是安装官方扩展或插件。安装后,平台会自动加载工具映射参考文件,将技能中基于 Claude Code 的工具名(如 Read、Write、Task)等效替换为平台原生工具(如 read_file、create、task),从而执行完整的开发流程。关键差异在于子代理支持:Copilot CLI 拥有完整的并行子代理能力,而 Gemini CLI 会回退到单会话模式。
Gemini CLI 与 GitHub Copilot CLI 如何适配 SuperPowers 技能工具名
Superpowers 技能库中的每个技能(如 brainstorming、writing-plans)最初都基于 Claude Code 的工具名称编写。为了在 Gemini CLI 和 GitHub Copilot CLI 上正确运行,Superpowers 在启动时会加载专门的工具映射参考文件,将这些工具调用自动转换为平台原生支持的工具。理解这个适配过程,是你在这些平台上使用 Superpowers 工作流的第一步。
安装配置
安装是适配的起点。Superpowers 为这两个平台提供了独立的安装方式。
为 Gemini CLI 安装 Superpowers 扩展
在 Gemini CLI 中,你可以通过一条命令直接安装。安装后,Gemini CLI 会在会话启动时自动加载 GEMINI.md 文件,该文件通过 @imports 指令加载了 using-superpowers 技能和关键的工具映射参考文件 gemini-tools.md。
gemini extensions install https://github.com/obra/superpowers
要更新到最新版本,运行:
gemini extensions update superpowers
安装成功后,你的项目根目录会包含 GEMINI.md 文件。该配置由 gemini-extension.json 文件中的 "contextFileName": "GEMINI.md" 字段定义,确保了上下文在每次会话启动时被注入。
为 GitHub Copilot CLI 安装 Superpowers 插件
Copilot CLI 的安装通过插件市场完成。你需要先注册 Superpowers 的市场仓库,再安装插件。
copilot plugin marketplace add obra/superpowers-marketplace
copilot plugin install superpowers@superpowers-marketplace
从 v5.0.7 版本开始,Copilot CLI 的插件支持通过 sessionStart 钩子注入完整的 Superpowers 引导上下文,确保工作流从第一次交互开始就完整加载。
更多平台的安装细节,可参考 SuperPowers 安装指南:Claude Code、Codex、OpenCode、Cursor、Gemini 与 Copilot CLI。
核心工具映射规则
当 Gemini CLI 或 Copilot CLI 加载一个技能时,它会遇到技能中对 Claude Code 工具的引用。Superpowers 通过两个参考文件定义了这些工具的等效替换规则。
Gemini CLI 工具映射
根据 gemini-tools.md 文件,映射关系如下:
| 技能中引用的工具 (Claude Code) | Gemini CLI 等效工具 |
|---|---|
Read (读取文件) |
read_file |
Write (创建文件) |
write_file |
Edit (编辑文件) |
replace |
Bash (运行命令) |
run_shell_command |
Grep (搜索文件内容) |
grep_search |
Glob (按名称搜索文件) |
glob |
TodoWrite (任务跟踪) |
write_todos |
Skill 工具 (调用技能) |
activate_skill |
WebSearch |
google_web_search |
WebFetch |
web_fetch |
Task 工具 (调度子代理) |
@agent-name 或 @generalist |
子代理支持:Gemini CLI 通过 @ 语法原生支持子代理。内置的 @generalist 代理拥有所有工具权限,可以分派任何任务。当技能指示调度一个命名代理类型(如 superpowers:implementer)时,应使用 @generalist 并附上从技能提示模板中填充后的完整消息。Gemini CLI 支持并行子代理分派,对于独立的子代理任务,应在同一个提示中同时请求所有 @generalist 或命名子代理任务。
GitHub Copilot CLI 工具映射
根据 copilot-tools.md 文件,映射关系如下:
| 技能中引用的工具 (Claude Code) | Copilot CLI 等效工具 |
|---|---|
Read (读取文件) |
view |
Write (创建文件) |
create |
Edit (编辑文件) |
edit |
Bash (运行命令) |
bash |
Grep (搜索文件内容) |
grep |
Glob (按名称搜索文件) |
glob |
Skill 工具 (调用技能) |
skill |
Task 工具 (调度子代理) |
task (agent_type: “general-purpose” 或 “explore”) |
多个 Task 调用 (并行) |
多个 task 调用 |
| 子代理状态/输出 | read_agent, list_agents |
TodoWrite (任务跟踪) |
sql (查询内置的 todos 表) |
WebSearch |
无等效工具,需组合使用 web_fetch |
Copilot CLI 的独特能力:它支持持久化的异步 Shell 会话,这是 Claude Code 没有的功能。相关的工具如 bash (配合 async: true)、write_bash、read_bash 等,可用于管理长时间运行的后台命令。此外,Copilot CLI 还原生集成了 GitHub MCP 工具,可以直接操作 GitHub API。
工作流适配与验证
工具映射是静态的规则,要确保整个 Superpowers 工作流(从 brainstorming 到 verification-before-completion)正确运行,需要进行主动验证。这个工作流的闭环是:使用 using-superpowers 强制技能发现,brainstorming 产出设计,writing-plans 产出可执行计划,subagent-driven-development 或 executing-plans 执行,test-driven-development、systematic-debugging、verification-before-completion 和代码审查技能提供质量门禁。
验证技能是否加载
安装后,向你的编码代理提出一个明确需要使用技能的任务,例如:
“我想给这个项目添加一个用户登录功能,请从头脑风暴开始。”
如果 Superpowers 正确加载,代理不会立即编写代码,而是会启动 brainstorming 技能,开始向你提问以澄清需求,并可能提示你查看设计文档。
验证工具映射是否生效
你可以通过一个简单的跨平台技能来测试映射。观察代理是否使用了平台对应的工具完成文件操作。例如,在 writing-plans 技能执行过程中,查看代理是否使用了:
- 在 Gemini CLI 中:
write_file来保存计划,activate_skill来调用下一个相关技能。 - 在 Copilot CLI 中:
create来保存计划,skill来调用技能,sql来更新任务列表。
子代理工作流的处理
这是两个平台最关键的差异点:
- 在 Copilot CLI 上:
subagent-driven-development可以正常工作。代理会使用task工具为计划中的每个任务分派独立的子代理(类型为general-purpose),并支持read_agent来监控状态,实现真正的并行开发和两阶段审查。 - 在 Gemini CLI 上:当你请求执行一个已编写好的计划时,代理会检测到平台支持
@agent-name语法,从而可以调度@generalist子代理。根据gemini-tools.md的说明,它可以并行分派多个独立任务。
理解这一点有助于你设定合理的预期:在 Gemini CLI 上,Superpowers 的核心价值在于强制质量门禁(如必须先做头脑风暴、必须写测试、必须做完成前验证)和流程标准化,并且通过 @generalist 支持了子代理执行,但可能不具备某些命名代理的特化能力。
总结
Superpowers 通过清晰的工具映射表实现了在 Gemini CLI 和 GitHub Copilot CLI 上的适配。安装过程直接,两者的核心差异在于子代理的调度方式:Copilot CLI 使用 task 工具并配合 read_agent 监控状态;而 Gemini CLI 使用 @generalist 语法进行调度,并支持并行分派。通过主动测试技能触发和观察工具调用,你可以确保这套严谨的开发方法论在你选择的 AI 编码平台上正常运转。
关于整个 Superpowers 工作流的闭环设计,可以深入阅读 using-superpowers 工作机制:为什么代理必须先加载相关技能。
FAQ
Q: 更新 Gemini CLI 或 Copilot CLI 的 Superpowers 扩展/插件后,需要重启 CLI 吗?
A: 是的,建议重启 CLI 以确保新版本的上下文文件(如 GEMINI.md)和技能文件被完整加载。新的工具映射规则和技能逻辑只有在重启后的新会话中才会生效。
Q: 如何确认 Copilot CLI 的 task 工具正在被用于子代理工作流?
A: 观察代理的输出或工具调用记录。当它开始执行 subagent-driven-development 时,你会看到它使用 task 工具分派任务,并可能随后调用 read_agent 或 list_agents 来检查子代理的状态和输出。任务的 agent_type 通常会显示为 general-purpose。
Q: Gemini CLI 的 @generalist 子代理和 Copilot CLI 的 task 子代理有区别吗?
A: 在功能上,它们都用于分派子代理任务。主要区别在于调用语法和生态集成。@generalist 是 Gemini CLI 的原生语法,而 task 是 Copilot CLI 的工具。两者都支持并行分派,但 Copilot CLI 额外提供了 read_agent、list_agents 等工具来监控子代理状态,并且其子代理可以直接使用 GitHub MCP 工具访问 GitHub API。