关于 grok-build-cli
grok-build-cli 是在 Codex 中调用本地 `grok` 命令行的 Skill,涵盖可用性检查、不同调用方式、结果处理和安全限制。
主要功能
- 01检查命令行与模型可用性
- 02选择单轮或 Agent 式调用
- 03从 UTF-8 文件提供提示词
- 04轮询会话并收集输出
- 05按需隔离调用环境
- 06遵循执行安全限制
适用场景
- 01通过 Grok 获取直接回答
- 02使用 Grok 执行网页或 X 搜索任务
- 03获取独立的第二意见
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pluviobyte/ rnskill --skill grok-build-cli安装后在 Claude Code 中输入/grok-build-cli确认已加载。
附带文件agents/openai.yaml
详细介绍
调用 Grok Build
从 Codex 调用本地 grok CLI。不要添加无关的研究、下载、编辑或生产工作流。
检查可用性
在任务中首次调用前,运行:
command -v grok
grok models
grok models 必须确认用户已登录,并显示至少一个可用模型。如果缺少身份验证,请告知用户;只有当用户希望进行交互式身份验证时,才运行 grok login。
选择调用形式
对于不需要使用 Grok 工具的直接单轮回答:
grok --single 'PROMPT' --output-format plain
对于可能使用 Grok 工具(包括 X 或网络搜索)的 Agent 任务,将完整提示词放入 UTF-8 文件并运行:
grok --prompt-file '/absolute/path/prompt.md' \
--max-turns 8 \
--output-format plain
只有当用户指定了某个可用模型时,才使用 --model MODEL。否则使用 Grok 配置的默认模型。
从 Codex 运行
- 对于较长的提示词,使用
apply_patch创建prompt.md;避免使用脆弱的 shell 引号。 - 使用
exec_command启动 Grok,通常将yield_time_ms设为1000。 - 如果命令返回会话 ID,使用
write_stdin轮询,每次发送空字符串,等待时间最多为 30 秒。 - 如果调用运行超过 60 秒,请简要更新进度。
- 捕获 Grok 的最终 stdout。将非零退出代码、
Max turns reached或最终输出为空视为失败。 - 将 Grok 的回答返回给用户;需要注明来源时,明确标为 Grok 的结果。
隔离
当 Grok 只能执行提供的提示词,且不得检查当前仓库中的技能或说明时,为其提供一个空的临时工作目录:
GROK_CALL_DIR="$(mktemp -d)"
grok --cwd "$GROK_CALL_DIR" --no-memory --no-subagents \
--prompt-file '/absolute/path/prompt.md' \
--max-turns 8 \
--output-format plain
默认在网络/X 研究和独立的第二意见场景中使用此隔离方式。只有当 Grok 必须读取或修改项目时,才使用实际项目目录。
防护措施
- 除非 CLI 确实运行过,否则不要声称调用了 Grok。
- 不要编造 Grok 的回答、将失败的回答改述为成功,也不要悄悄替换空白或失败的 Grok 响应。
- 不要在提示词或命令行参数中传递机密信息。
- 除非用户明确授权相应的修改,否则不要使用
--always-approve、bypassPermissions或宽泛的写入权限。 - 不要恢复无关的先前 Grok 会话。除非用户明确要求继续某个特定的 Grok 会话,否则请开始新的调用。
- 让此 Skill 与具体任务无关:由用户的提示词决定 Grok 要执行的操作。
评论
支持 Markdown