grok-cli · git:20260911.0fe4be4 · 2026-09-11 · sha256 62b3a6057a5f294b
grok-cli git:20260911.0fe4be4B
Immutable. This exact content is served forever at /api/v1/blob/62b3a6057a5f294b.
--- name: grok-cli description: "Delegate bounded tasks to Grok Build from a supervising agent such as Codex. Use when the user asks Grok to investigate, review, implement, or provide another perspective, or when a distinct coding agent would materially help. Includes a background ACP client for progress, follow-up prompts, permissions, and cancellation." license: Apache-2.0 metadata: author: scarletkc source: https://github.com/scarletkc/agents summary: "Delegate work to Grok Build, keep its session for follow-ups, and inspect results while the supervising agent continues working." --- # Grok CLI Use Grok Build as a separate coding agent on the same machine. The bundled client launches `grok agent --no-leader stdio`, keeps its ACP session open, and returns a task ID immediately. This is an external task: it does not appear in Codex's native `spawn_agent` tree or inherit its conversation. Grok Build must already be installed and configured. Use the project's Python 3.12+ interpreter to run [scripts/grok.py](scripts/grok.py); the client uses only the standard library. If the project has no interpreter, `uv run --python 3.12 <script> ...` also works. Resolve the script relative to this installed skill, not the repository being investigated. ## Delegate a task Give Grok the goal, absolute working directory, relevant files and evidence, scope boundaries, and the check that proves completion. It cannot see the conversation that led to the assignment. Keep independent work with the supervising agent while Grok runs. Use a UTF-8 prompt file for substantial instructions. In these examples, `<script>` is the absolute path to this skill's `scripts/grok.py`: ```sh python <script> start --cwd <absolute-project-path> --prompt-file <task-file> python <script> wait <task_id> --timeout 30 python <script> status <task_id> python <script> reply <task_id> --prompt-file <follow-up-file> python <script> cancel <task_id> python <script> close <task_id> ``` Retain the returned `task_id`. Use `wait` when there is no independent work left; its timeout returns the current state without cancelling the task. Use `reply` after the current turn finishes to continue the same Grok session. A running turn must finish or acknowledge cancellation before a follow-up is accepted. Close the task once no more follow-ups are needed. The helper's `--help` is the command reference. For output fields, storage, timeouts, and troubleshooting, read [references/client.md](references/client.md). ## Configuration and permissions Inherit Grok's model, authentication, and permission configuration unless the task requires a specific override. Subscription login, API keys, and configured providers are Grok's concern; do not change the user's configuration or choose another authentication route to get past a failure. The helper uses Grok's advertised noninteractive default authentication method when available. Interactive authentication is completed separately through Grok itself. `start --model`, `--effort`, `--permission-mode`, and `--sandbox` are per-task overrides. Omit them when no override is needed. Do not use a permission bypass merely to avoid handling an approval request. Choose `--effort` for the delegated task. Honor the user's explicit choice; otherwise weigh complexity, the cost of an incorrect result, and how easily the result can be checked. Make routine choices without asking the user: - Simple chat, rewriting, or mechanical work can use a lower effort level. - Ordinary implementation and analysis generally suit a middle level. - Difficult debugging and consequential code review may justify a higher level. These are starting points, not fixed task-to-level rules. Use only levels known to be supported by the selected model. When support or the appropriate level is uncertain, omit `--effort` and inherit Grok's configured value. Match permissions to the authorized work. Preserve read-only restrictions for read-only assignments; allow the necessary file edits and checks for an authorized implementation within its scope. Task complexity and reasoning effort do not expand that authorization. When `status` is `needs_approval`, inspect `pending_permissions` and answer the relevant request with: ```sh python <script> permission <task_id> --request-id <request_id> --option-id <optionId> ``` Select an option Grok actually offered. Approve actions already covered by the user's assignment; prefer a single-use approval. Decisions beyond that scope stay with the user. Configured Grok allow rules can execute tools without producing an ACP approval request. A read-only task prompt or refusing an ACP request is not an OS sandbox; Codex's sandbox does not configure Grok's. Do not promise enforced isolation without verifying Grok's sandbox on the target platform. ## Supervise the result Avoid simultaneous edits to the same files. Use a separate worktree when both agents need to edit overlapping code, and pass its absolute path as `--cwd`; the helper does not create worktrees. Read `status`, `closed`, `stop_reason`, and `error` together. A returned task ID means the worker started, not that Grok authenticated or finished. `completed` means Grok ended its turn, not that its claims were verified. Inspect the actual diff or cited evidence and run the relevant checks. If Grok is unavailable or an installation, configuration, authentication, tool, or process failure blocks the task, explicitly tell the user what failed and which work remains incomplete. Inspect any partial result before retrying. Do not silently substitute your own work, another agent, or another provider for the requested Grok task. Report what Grok contributed and what the supervising agent verified. Committing, publishing, and other external actions keep the authorization boundaries of the original task.