mcpField
G
grok-build-cli

grok-build-cli

github.com/pluviobyteAgent 工作流1.7k72 次安装5 周前更新
代码仓库

关于 grok-build-cli

grok-build-cli 是在 Codex 中调用本地 `grok` 命令行的 Skill,涵盖可用性检查、不同调用方式、结果处理和安全限制。

主要功能

  1. 01检查命令行与模型可用性
  2. 02选择单轮或 Agent 式调用
  3. 03从 UTF-8 文件提供提示词
  4. 04轮询会话并收集输出
  5. 05按需隔离调用环境
  6. 06遵循执行安全限制

适用场景

  1. 01通过 Grok 获取直接回答
  2. 02使用 Grok 执行网页或 X 搜索任务
  3. 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 运行

  1. 对于较长的提示词,使用 apply_patch 创建 prompt.md;避免使用脆弱的 shell 引号。
  2. 使用 exec_command 启动 Grok,通常将 yield_time_ms 设为 1000。
  3. 如果命令返回会话 ID,使用 write_stdin 轮询,每次发送空字符串,等待时间最多为 30 秒。
  4. 如果调用运行超过 60 秒,请简要更新进度。
  5. 捕获 Grok 的最终 stdout。将非零退出代码、Max turns reached 或最终输出为空视为失败。
  6. 将 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