用途:从 Codex 调用本地 grok CLI,把提示词交给 Grok 执行并返回结果。适用于用户要求 Codex 调用、咨询、运行或委派提示词给 Grok 的场景,不附加无关的研究、下载、编辑或生产流程。
主要能力与用法:首次调用前先检查可用性,运行 command -v grok 和 grok models;grok models 需确认已登录并至少显示一个可用模型。若缺少认证,应报告,仅在用户希望交互式认证时运行 grok login。单轮直接回答且不需要 Grok 工具时使用 grok --single 'PROMPT' --output-format plain。可能使用 Grok 工具(含 X 或网页搜索)的智能体任务,把完整提示词写入 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_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 响应;不得在提示词或命令行参数中传递机密;除非用户明确授权相应变更,不得使用 --always-approve、bypassPermissions 或宽泛写权限;不得恢复无关的先前 Grok 会话,除非用户明确要求继续特定会话。该技能与任务无关,由用户提示词决定 Grok 做什么。