grok-cli — fresh info via the Grok CLI
grok is xAI's installed CLI (~/.grok/bin/grok, already authenticated). Use it as a sub-agent to fetch real-time info: X/Twitter chatter and news beyond this model's knowledge. It is slow but live.
Do this immediately
When this skill triggers, run the command right away. Do not run --help, --version, which grok, or any discovery — it works, the recipe below is verified.
The one command (copy, fill the prompt)
grok -p "<your question>" -m grok-build --yolo --max-turns 8 --disallowed-tools web_fetch --output-format json | jq -r '.text'
That is the whole interface. Only the <your question> changes.
-m grok-builduses the Grok model (not the composer model).--yoloauto-approves grok's tools (required headless, or it hangs).--disallowed-tools web_fetchforces grok ontoweb_search(xAI live search). This is the key fix: withweb_fetchenabled grok loops on X/news URLs and never returns.--max-turns 8caps it so it can't loop forever.jq -r '.text'returns just the answer. Drop| jq ...ifjqis missing and read the JSONtextfield yourself.
Timing (important)
A live search takes ~1–3 minutes. Set the Bash timeout to 300000 ms (5 min) and wait. Do not assume it failed. If you may keep working meanwhile, run it in the background and poll later.
Prompt templates
Dig deep into X/Twitter — be explicit, ask for specifics:
grok -p "Search X/Twitter for the latest discussion about <TOPIC> (last 24-72h). Surface 5-8 specific posts: @handle, a one-line summary, and the post URL. Quote standout lines. Then give prevailing sentiment, the most influential accounts driving it, and any emerging angle. Be specific, no filler." \
-m grok-build --yolo --max-turns 10 --disallowed-tools web_fetch --output-format json | jq -r '.text'
News / live web research:
grok -p "What's the latest on <TOPIC> as of this week? Give 3-5 key developments, each one line with a source link, then a 2-sentence takeaway." \
-m grok-build --yolo --max-turns 8 --disallowed-tools web_fetch --output-format json | jq -r '.text'
Good prompting
- Ask for concrete output: handles, URLs, quotes, dates, sentiment — not vague summaries.
- State the time window ("last 48h", "this week").
- One focused question per call. For a different angle, make a second call.
- Keep
<your question>as a single double-quoted string; escape inner quotes or use single quotes inside.
Follow-ups (same grok session)
Capture the session id, then continue for cheaper, context-aware follow-ups:
SID=$(grok -p "<first question>" -m grok-build --yolo --max-turns 8 --disallowed-tools web_fetch --output-format json | jq -r '.sessionId')
grok -p "<follow-up>" --resume "$SID" -m grok-build --yolo --max-turns 8 --disallowed-tools web_fetch --output-format json | jq -r '.text'
After you get results
Treat grok's output as a fresh source: summarize it for the user and keep the source links/@handles so they can verify. Note it's live data (may be noisy or unverified). If it returns empty or errors, retry once with a tighter prompt or a longer timeout before giving up.
Notes
- This skill uses
-m grok-build(the Grok model).grok-composer-2.5-fastis the CLI default but the composer model is not what we want here. - For richer general web research (not X-specific), prefer the existing Exa tooling per global rules; reach for
grokwhen you specifically want X/Twitter or want xAI's live take. - Requires the
grokCLI installed and authenticated (curl -fsSL https://x.ai/cli/install.sh | bash, thengrok login) andjqon PATH.