Gemini CLI 和 GitHub Copilot CLI 要适配 Superpowers 技能,核心是安装官方扩展或插件。安装后,平台会自动加载工具映射参考文件,将技能中基于 Claude Code 的工具名(如 ReadWriteTask)等效替换为平台原生工具(如 read_filecreatetask),从而执行完整的开发流程。关键差异在于子代理支持:Copilot CLI 拥有完整的并行子代理能力,而 Gemini CLI 会回退到单会话模式。

Gemini CLI 与 GitHub Copilot CLI 如何适配 SuperPowers 技能工具名

Superpowers 技能库中的每个技能(如 brainstormingwriting-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_bashread_bash 等,可用于管理长时间运行的后台命令。此外,Copilot CLI 还原生集成了 GitHub MCP 工具,可以直接操作 GitHub API。

工作流适配与验证

工具映射是静态的规则,要确保整个 Superpowers 工作流(从 brainstormingverification-before-completion)正确运行,需要进行主动验证。这个工作流的闭环是:使用 using-superpowers 强制技能发现,brainstorming 产出设计,writing-plans 产出可执行计划,subagent-driven-developmentexecuting-plans 执行,test-driven-developmentsystematic-debuggingverification-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_agentlist_agents 来检查子代理的状态和输出。任务的 agent_type 通常会显示为 general-purpose

Q: Gemini CLI 的 @generalist 子代理和 Copilot CLI 的 task 子代理有区别吗? A: 在功能上,它们都用于分派子代理任务。主要区别在于调用语法和生态集成。@generalist 是 Gemini CLI 的原生语法,而 task 是 Copilot CLI 的工具。两者都支持并行分派,但 Copilot CLI 额外提供了 read_agentlist_agents 等工具来监控子代理状态,并且其子代理可以直接使用 GitHub MCP 工具访问 GitHub API。