| name | wip-x-xai-grok |
| version | 1.0.0 |
| description | xAI Grok + X Platform. Search the web, search X, read/write tweets, generate images, generate video. |
| homepage | https://github.com/wipcomputer/wip-x-xai-grok |
| metadata | {"category":"search,social,media","api_base":["https://api.x.ai/v1","https://api.x.com/2"],"capabilities":["api","web-search","x-search","fetch-posts","search-tweets","bookmarks","post-tweets","upload-media","image-generation","image-editing","video-generation"],"dependencies":["@xdevplatform/xdk"],"interface":"REST"} |
| openclaw | {"emoji":"🔍","install":{"secrets":["op://Agent Secrets/x.ai - wip-computer-beta/credential","op://Agent Secrets/X API Key - wip-01/bearer token","op://Agent Secrets/X API Key - wip-01/api key","op://Agent Secrets/X API Key - wip-01/api secret","op://Agent Secrets/X API Key - wip-01/access token","op://Agent Secrets/X API Key - wip-01/access token secret"]}} |
| author | {"name":"Parker Todd Brooks"} |
wip-x-xai-grok
xAI Grok + X Platform. Everything X in one tool. Replaces wip-xai-grok and wip-xai-x.
When to Use This Skill
Grok: AI-Powered Search
Use search_web for:
- Current information from websites, news, documentation
- Real-time data (stock prices, weather, recent events)
- Finding information from specific domains
- Verifying current facts
Use search_x for:
- What people are saying on X/Twitter about a topic
- Trending discussions and social sentiment
- Real-time reactions to events
- Posts from specific X handles/users
- This is the DEFAULT tool for "search X"
X Platform: Read
Use fetch_post for:
- Getting the full content of a specific tweet by URL or ID
- Reading replies, quotes, engagement metrics
- Extracting tweet data for processing
Use raw_x_search for:
- Finding tweets matching a query (last 7 days)
- Searching by hashtags, mentions, or keywords
- Getting raw tweet data (not AI-summarized)
Use get_bookmarks for:
- Reading the user's bookmarked tweets
Use get_user / get_me for:
- Looking up a user's profile, bio, follower count
X Platform: Write
Use post_tweet for:
- Posting new tweets, replying, quote-tweeting
- Posting with images or video (upload first)
Use delete_tweet for:
- Removing a previously posted tweet
Use bookmark / unbookmark for:
- Saving or removing bookmarked tweets
Use upload_media for:
- Uploading images (PNG, JPG, GIF, WebP) or video (MP4)
- Getting media IDs for use in post_tweet
Grok: Media Generation
Use generate_image for:
- Creating images from text descriptions
- Generating multiple variations of a concept
Use edit_image for:
- Modifying existing images with natural language
Use generate_video for:
- Creating short video clips (1-15 seconds)
- Animating still images (image-to-video)
API Reference
search_web(options)
Options: query (required), model, allowed_domains (max 5), excluded_domains (max 5), enable_image_understanding
Returns: { content, citations, usage, raw_response }
search_x(options)
Options: query (required), model, allowed_x_handles (max 10), excluded_x_handles (max 10), from_date, to_date
Returns: { content, citations, usage, raw_response }
fetch_post(options)
Options: id_or_url (required). Accepts tweet ID or full URL.
Returns: { data, includes, errors }
raw_x_search(options)
Options: query (required), max_results (10-100), start_time, end_time, sort_order
Returns: { data, includes, meta, errors }
get_bookmarks(options)
Options: max_results, pagination_token. Requires OAuth.
Returns: { data, includes, meta, errors }
get_user(options)
Options: username_or_id (required). Accepts username (with or without @) or numeric ID.
Returns: { data, errors }
get_me()
Returns: { data, errors }
post_tweet(options)
Options: text (required), reply_to, media_ids, quote_tweet_id. Requires OAuth.
Returns: { data, errors }
delete_tweet(options)
Options: id (required). Requires OAuth.
Returns: { data, errors }
bookmark(options)
Options: tweet_id (required). Requires OAuth.
Returns: { data, errors }
unbookmark(options)
Options: tweet_id (required). Requires OAuth.
Returns: { data, errors }
upload_media(options)
Options: file_path (required), media_type (auto-detected), media_data (base64 alternative)
Returns: { data, errors }
generate_image(options)
Options: prompt (required), model, n (1-10), response_format ("url"|"b64_json"), aspect_ratio
Returns: { images: [{ url, revised_prompt }] }
Cost: $0.02 per image. URLs are temporary ... download promptly.
edit_image(options)
Options: prompt (required), image (required, URL or file path or base64), model, n, response_format
Returns: { images: [{ url, revised_prompt }] }
Cost: $0.022 per image.
generate_video(options)
Options: prompt (required), model, duration (1-15 sec), resolution ("480p"|"720p"), aspect_ratio, image (seed image URL)
Returns: { request_id }
Cost: $0.05/sec at 480p, $0.07/sec at 720p. URLs are temporary.
poll_video(options)
Options: request_id (required)
Returns: { status, url, duration, error }
Troubleshooting
"Cannot read 1Password SA token"
The SA token must exist at ~/.openclaw/secrets/op-sa-token. This is required for headless 1Password access.
"xAI API key not found"
Check 1Password: vault "Agent Secrets", item "x.ai - wip-computer-beta", field "credential".
"X Platform API credentials not found"
Check 1Password: vault "Agent Secrets", item "X API Key - wip-01".
Fields: "bearer token", "api key", "api secret", "access token", "access token secret".
Slow Grok search responses
Grok reasoning models can take 30-60+ seconds. This is normal.
Temporary URLs
Image and video URLs expire. Download or process them immediately after receiving.
403 Forbidden on X write operations
Your X app needs "Read and Write" permissions. Check at https://developer.x.com/en/portal/dashboard
API Documentation