用途:为 Gemini CLI 创建基于 TOML 的自定义命令(斜杠命令),通过项目级或用户级配置扩展 Gemini 能力。适用于新建命令、理解 TOML 命令语法、添加参数处理、注入 Shell 输出或文件内容,以及排查命令问题。关键词包括 toml command、custom command、slash command gemini、{{args}}、@{}、!{}。
命令位置:用户命令(全局)位于 ~/.gemini/commands/,项目命令(本地)位于 .gemini/commands/。目录可命名空间化,如 git/commit.toml 对应 /git:commit。
基本语法:必需字段为 description(字符串,显示在命令列表)和 prompt(字符串,提示词模板)。示例:description = "A simple greeting command",prompt = "Say hello to the user"。提示词支持多行三引号写法。
参数处理:命令后参数注入到 {{args}},如 /greet Kyle 生成 "Say hello to Kyle";若未写占位符,参数会追加到提示词后;多个参数以空格分隔,可一起访问。
Shell 注入:用 !{...} 执行 Shell 并注入输出,如 !{git diff --staged}。命令执行前会确认,使用 --yolo 可跳过。可在 Shell 块中结合 {{args}},参数会自动转义以保证安全。
文件注入:用 @{...} 注入文件或目录内容,如 @{tsconfig.json}、@{src/utils/}。目录注入遵循 .gitignore 与 .geminiignore。可与参数结合,如 @{{{args}}} 注入指定文件内容。
处理顺序:先处理 @{...} 文件注入,再处理 !{...} Shell 执行,最后进行 {{args}} 参数替换。
模板库:提供 Git 提交信息、代码审查、测试生成、文档生成、依赖分析、迁移辅助等示例模板,可作为起点。
校验:可用 python -c "import tomllib; tomllib.load(open('command.toml', 'rb'))" 检查 TOML 语法。
常见错误:解析错误多为 TOML 语法问题;命令未找到通常是路径错误;参数未注入多为缺少 {{args}};Shell 失败需先手动测试命令。
最佳实践:描述应清晰具体;提示词结构化;Shell 命令优先只读并限制输出,避免破坏性操作;保持命名一致并按功能分目录。
用户交互:直接调用时提供交互式向导,解析命令名、--scope(user/project)与 --template(git/test/docs/review/analyze),确定保存位置,构建提示词,预览并校验,最后写入相应目录并显示用法。
限制:官方权威语法与最新功能请查询 gemini-cli-docs 技能;本技能侧重导航与示例。具体平台、收费、版本细节资料未提供。