Xurl — OpenClaw Skill

Post tweets, reply, search, manage followers, send DMs, and upload media via the X (Twitter) API.

Social Media Vetted

What This Skill Does

The Xurl skill gives your OpenClaw agent full access to the X (Twitter) API v2 through both human-friendly shortcut commands and raw curl-style endpoint access. Your agent can post tweets, reply to conversations, quote posts, search recent tweets, read timelines and mentions, like, repost, bookmark, follow/unfollow users, block, mute, send DMs, and upload media -- all returning structured JSON output.

The skill supports both shortcut commands (like xurl post "Hello world!") for common operations and raw API access (like xurl /2/users/me) for anything else. It handles OAuth 2.0 token refresh automatically, supports multiple apps and accounts, and auto-detects streaming endpoints for real-time data. Post IDs and full URLs are interchangeable wherever a post reference is needed.

Security is a first-class concern: the skill enforces strict rules around credential handling. The ~/.xurl credentials file must never be read by the agent, secret flags are forbidden in agent sessions, and the --verbose flag is blocked to prevent token leakage. All credential setup must be done manually by the user outside the agent context. Read more about our security approach.

Example Prompts

Post a tweet saying "Just shipped v3.0 of our product -- check it out!"

Search for recent tweets about "AI agents" and summarize the top 10 results

Reply to this tweet URL with "Great point, I completely agree"

Check my mentions and summarize anything that needs a response

Upload this screenshot and post it with the caption "New feature drop"

Send a DM to @username saying "Hey, saw your post about React -- would love to chat"

Show me my timeline and highlight any posts with high engagement

Like and repost the tweet about our product launch from @teammate

Requirements

Binary dependency: xurl must be installed and authenticated.

  • Install via Homebrew: brew install xdevplatform/tap/xurl
  • Or via npm: npm install -g @xdevplatform/xurl
  • Authentication: Register an X app manually (outside agent context), then run xurl auth oauth2
  • Credentials: Must be set up by the user manually -- never pass secrets through the agent

Setup on KiwiClaw

Xurl is pre-installed on all KiwiClaw plans. You need to configure your X API credentials manually via the KiwiClaw dashboard settings, then authenticate with xurl auth oauth2. Your agent can then post, search, and engage on X immediately.

Setup Self-Hosted

  1. Install xurl: brew install xdevplatform/tap/xurl
  2. Register your X app credentials manually (outside the agent session)
  3. Authenticate: xurl auth oauth2
  4. Verify: xurl auth status and xurl whoami

Related Skills

  • WaCLI -- outbound messaging on WhatsApp alongside your X presence
  • Slack -- share X content highlights in your Slack workspace
  • Nano Banana Pro -- generate images with AI to post on X
  • Video Frames -- extract thumbnails from video to share on X

FAQ

What can the Xurl skill do on X/Twitter?

Xurl supports the full range of X API v2 actions: posting tweets, replying, quoting, deleting posts, reading posts, searching, viewing timelines and mentions, liking, reposting, bookmarking, following/unfollowing, blocking, muting, sending DMs, and uploading media. It also provides raw access to any X API v2 endpoint.

How does Xurl handle authentication securely?

Xurl stores credentials in ~/.xurl (YAML format) which must never be read by the agent. App credentials must be registered manually outside the agent session. The skill enforces strict rules: no --verbose flag, no inline secret flags, and no reading of credential files in agent context.

Can I use Xurl with multiple X accounts?

Yes. Xurl supports multiple apps and multiple OAuth 2.0 accounts per app. Switch between apps with xurl auth default APP_NAME and between users with --username or xurl auth default APP USER. Each app has isolated credentials and tokens.

Can I post tweets with images or videos?

Yes. Upload media first with xurl media upload photo.jpg, note the media_id from the response, then post with xurl post "caption" --media-id MEDIA_ID. For videos, use xurl media status --wait MEDIA_ID to wait for server-side processing before posting.

Automate X/Twitter with your AI agent

Post, reply, search, engage. Your agent manages your X presence with full API access.