Pluviobyte

grok-build-cli

Invoke the locally installed Grok Build CLI from Codex and return Grok's response. Use whenever the user asks Codex to call, consult, run, or delegate a prompt to Grok or Grok Build, including Grok web/X searches and agentic Grok tasks. This Skill covers only the invocation mechanism, process monitoring, and response capture; it does not prescribe the task itself.

Pluviobyte 1,444 162 Updated 3w ago

Resources

1
GitHub

Install

npx skillscat add pluviobyte/rnskill/grok-build-cli

Install via the SkillsCat registry.

SKILL.md

Call Grok Build

Call the local grok CLI from Codex. Do not add an unrelated research,
download, editing, or production workflow.

Check availability

Before the first call in a task, run:

command -v grok
grok models

grok models must confirm that the user is logged in and show at least one
available model. If authentication is missing, report it and run grok login
only when the user wants to authenticate interactively.

Choose the call form

For a direct single-turn answer that does not need Grok tools:

grok --single 'PROMPT' --output-format plain

For an agentic task that may use Grok's tools, including X or web search, put
the full prompt in a UTF-8 file and run:

grok --prompt-file '/absolute/path/prompt.md' \
  --max-turns 8 \
  --output-format plain

Use --model MODEL only when the user requests a particular available model.
Otherwise use Grok's configured default.

Run from Codex

  1. For a long prompt, create prompt.md with apply_patch; avoid fragile shell
    quoting.
  2. Start Grok with exec_command, normally using yield_time_ms: 1000.
  3. If the command returns a session ID, poll it with write_stdin, sending an
    empty string and waiting at most 30 seconds per poll.
  4. Share a concise progress update when a call runs longer than 60 seconds.
  5. Capture Grok's final stdout. Treat a nonzero exit code, Max turns reached,
    or empty final output as failure.
  6. Return Grok's answer to the user, clearly identified as Grok's result when
    attribution matters.

Isolation

When Grok should only execute the supplied prompt and must not inspect the
current repository's skills or instructions, give it an empty temporary
working directory:

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

Use this isolation by default for web/X research and independent second
opinions. Use the actual project directory only when Grok must read or modify
that project.

Guardrails

  • Do not claim Grok was called unless the CLI actually ran.
  • Do not fabricate, paraphrase as successful, or silently replace an empty or
    failed Grok response.
  • Do not pass secrets in prompts or command-line arguments.
  • Do not use --always-approve, bypassPermissions, or broad write access
    unless the user explicitly authorizes the corresponding mutations.
  • Do not resume an unrelated prior Grok session. Start a new call unless the
    user explicitly asks to continue a specific Grok session.
  • Keep this Skill task-agnostic: the user's prompt determines what Grok does.