🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

grok-search

by @notabhay

Search the web or X/Twitter using xAI Grok server-side tools (web_search, x_search) via the xAI Responses API. Use when you need tweets/threads/users from X, want Grok as an alternative to Brave, or you need structured JSON + citations.

Versionv0.2.1
Downloads5,487
Installs20
Stars⭐ 7
TERMINAL
clawhub install grok-search

πŸ“– About This Skill


name: grok-search description: Search the web or X/Twitter using xAI Grok server-side tools (web_search, x_search) via the xAI Responses API. Use when you need tweets/threads/users from X, want Grok as an alternative to Brave, or you need structured JSON + citations. homepage: https://docs.x.ai/docs/guides/tools/search-tools triggers: ["grok", "xai", "search x", "search twitter", "find tweets", "x search", "twitter search", "web_search", "x_search"] metadata: {"clawdbot":{"emoji":"πŸ”Ž","requires":{"bins":["node"],"env":["XAI_API_KEY"]},"primaryEnv":"XAI_API_KEY"}}

Run xAI Grok locally via bundled scripts (search + chat + model listing). Default output for search is *pretty JSON* (agent-friendly) with citations.

API key

The script looks for an xAI API key in this order:

  • XAI_API_KEY env var
  • ~/.clawdbot/clawdbot.json β†’ env.XAI_API_KEY
  • ~/.clawdbot/clawdbot.json β†’ skills.entries["grok-search"].apiKey
  • fallback: skills.entries["search-x"].apiKey or skills.entries.xai.apiKey
  • Run

    Use {baseDir} so the command works regardless of workspace layout.

    Search

  • Web search (JSON):
  • - node {baseDir}/scripts/grok_search.mjs "" --web

  • X/Twitter search (JSON):
  • - node {baseDir}/scripts/grok_search.mjs "" --x

    Chat

  • Chat (text):
  • - node {baseDir}/scripts/chat.mjs ""

  • Chat (vision):
  • - node {baseDir}/scripts/chat.mjs --image /path/to/image.jpg ""

    Models

  • List models:
  • - node {baseDir}/scripts/models.mjs

    Useful flags

    Output:

  • --links-only print just citation URLs
  • --text hide the citations section in pretty output
  • --raw include the raw Responses API payload on stderr (debug)
  • Common:

  • --max limit results (default 8)
  • --model (default grok-4-1-fast)
  • X-only filters (server-side via x_search tool params):

  • --days (e.g. 7)
  • --from YYYY-MM-DD / --to YYYY-MM-DD
  • --handles @a,@b (limit to these handles)
  • --exclude @bots,@spam (exclude handles)
  • Output shape (JSON)

    {
      "query": "...",
      "mode": "web" | "x",
      "results": [
        {
          "title": "...",
          "url": "...",
          "snippet": "...",
          "author": "...",
          "posted_at": "..."
        }
      ],
      "citations": ["https://..."]
    }
    

    Notes

  • citations are merged/validated from xAI response annotations where possible (more reliable than trusting the model’s JSON blindly).
  • Prefer --x for tweets/threads, --web for general research.
  • πŸ“‹ Tips & Best Practices

  • citations are merged/validated from xAI response annotations where possible (more reliable than trusting the model’s JSON blindly).
  • Prefer --x for tweets/threads, --web for general research.