Gemini CLI 技能用于把 Google 的 gemini CLI 当作外部“第二大脑”,在需要超大上下文窗口、第二意见或安全沙箱执行时使用。本技能不使用 MCP,而是直接运行本地 CLI。
适用场景 当用户提出以下请求时使用本技能:
- “Ask Gemini” / “Use Gemini”
- 分析或总结大文件、目录(尤其是配合 @path 引用)
- 用特定框架(如 SCAMPER、设计思维等)进行头脑风暴
- 生成结构化编辑建议(“change mode”),以便确定性地应用
前置条件
- gemini CLI 已安装并配置(例如
gemini --version可正常工作) - 当前环境允许运行本地 shell 命令
- 需要沙箱执行时,Gemini CLI 支持 -s/--sandbox(参见
gemini --help)
核心命令
一次性查询(普通):
gemini "Explain what this code does: @src/main.ts"
选择模型:
gemini -m gemini-2.5-pro "..."
gemini -m gemini-2.5-flash "..."
沙箱模式:
gemini -s "Safely test @scripts/example.py and explain the results."
辅助脚本(推荐)
本技能附带一个无依赖包装脚本,在不使用 MCP 的情况下模拟 gemini-mcp-tool 的核心行为:
skills/gemini-cli/scripts/gemini-tool.mjs
重要:Gemini CLI 只能读取其当前“项目目录”(通常是进程工作目录)下的文件。请从希望 Gemini 读取的仓库中运行该包装脚本,或传入 --cwd。
查看帮助:
node skills/gemini-cli/scripts/gemini-tool.mjs help
向 Gemini 提问(包装脚本):
node skills/gemini-cli/scripts/gemini-tool.mjs ask --prompt "Summarize @. in 5 bullets."
node skills/gemini-cli/scripts/gemini-tool.mjs ask --cwd /path/to/project --prompt "Summarize @. in 5 bullets."
node skills/gemini-cli/scripts/gemini-tool.mjs ask --prompt "..." --model gemini-2.5-pro
node skills/gemini-cli/scripts/gemini-tool.mjs ask --prompt "..." --sandbox
头脑风暴(包装脚本):
node skills/gemini-cli/scripts/gemini-tool.mjs brainstorm --prompt "How should we design onboarding?" --methodology scamper --ideaCount 12
Change Mode(结构化编辑 + 分块缓存)
当希望 Gemini 输出可通过精确字符串匹配应用的确定性 OLD/NEW 块时,使用 change mode。
node skills/gemini-cli/scripts/gemini-tool.mjs ask --changeMode --prompt "In @src/foo.ts, rename Foo to Bar and update call sites."
如果响应被分块,输出会包含一个 cacheKey。获取下一块:
node skills/gemini-cli/scripts/gemini-tool.mjs fetch-chunk --cacheKey <key> --chunkIndex 2
安全规则
- 未经用户明确批准,切勿执行 Gemini 输出中的破坏性命令。
- 在 change mode 中,OLD 块必须与文件内容精确匹配;否则不要应用该编辑。
- 除非用户明确要求更改,否则优先进行只读分析。