xurl

Post, search, and manage X/Twitter content via the official xurl CLI.

Updated Dec 7, 2025
One-click install
npx skills add https://github.com/harlanljones/dotfiles --skill xurl-harlanljones
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: xurl
Source: https://github.com/harlanljones/dotfiles/tree/main/dot_hermes/skills/social-media/xurl
Command: npx skills add https://github.com/harlanljones/dotfiles --skill xurl-harlanljones

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing X (Twitter) activity from the command line or an agent session requires handling OAuth flows, raw API endpoints, and media uploads manually. This Skill wraps the official xurl CLI so an agent can post, search, reply, like, follow, and send DMs against the X API v2 while enforcing strict credential-safety rules. ## Core Features & Use Cases - Full X API v2 coverage: Post, reply, quote, delete, search raw posts, read timelines and mentions, like, repost, bookmark, follow, block, mute, and send direct messages, all returning JSON to stdout. - Media uploads: Upload images and videos with server-side processing status checks, then attach media IDs to posts. - Raw endpoint access: Run curl-style requests against any X API v2 endpoint, including streaming endpoints, with multi-app and multi-account support. - Use Case: Ask the agent to search X for recent posts about a topic, review the returned post JSON, then reply to and like the most relevant ones — all without exposing tokens, since credentials stay in ~/.xurl and are never read into context. ## Quick Start Ask the agent to verify xurl is installed and authenticated with xurl auth status, then have it search X for a topic and reply to one of the resulting posts.

Frequently Asked Questions about xurl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I post to X (Twitter) from the command line?▼

Use the xurl CLI with xurl post "your text" after completing one-time OAuth 2.0 setup. You can attach media by uploading a file with xurl media upload and passing the returned media ID via --media-id.

How do I search X posts and get raw JSON results?▼

Run xurl search "query" -n 10 to query the X index as your authenticated account. It returns raw post objects with IDs, authors, and full text, so results can be immediately liked, replied to, or reposted.

Why do I get auth errors after a successful xurl OAuth flow?▼

The token was likely saved to the built-in default app profile, which has no client ID or secret. Re-run xurl auth oauth2 --app your-app, then set it with xurl auth default your-app, and verify with xurl auth status.

Can xurl upload videos to X?▼

Yes, xurl media upload handles images and videos with auto type detection. Videos require server-side processing, so poll with xurl media status MEDIA_ID or use --wait before attaching the media ID to a post.

Is it safe to use xurl inside an AI agent session?▼

Yes, provided the guardrails are followed: never read or print ~/.xurl, never pass inline secret flags like --bearer-token or --client-secret, and never use --verbose. Credential registration and OAuth must be done by the user outside the agent session.