xurl

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

Updated Sep 9, 2026
One-click install
npx skills add https://github.com/luckybbjason1/trading --skill xurl-luckybbjason1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: xurl
Source: https://github.com/luckybbjason1/trading/tree/main/.hermes/skills/social-media/xurl
Command: npx skills add https://github.com/luckybbjason1/trading --skill xurl-luckybbjason1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing X (Twitter) activity from the command line or an agent session normally requires hand-writing OAuth flows and raw API calls. This Skill wraps the official xurl CLI so an agent can post, search, reply, DM, upload media, and call any X API v2 endpoint with structured JSON output, while keeping credentials safely out of the conversation. ## Core Features & Use Cases - Full posting workflow: Post, reply, quote, delete, like, repost, and bookmark posts, including media uploads with server-side processing status checks. - Reading and social graph: Search posts, read timelines and mentions, look up users, follow/unfollow, block/mute, and send direct messages. - Raw v2 API access: Use curl-style commands against any X API v2 endpoint, including streaming endpoints, with multi-app and multi-account support. - Use Case: Ask the agent to search recent posts about a topic, like the most relevant ones, and reply to one with an attached image — the agent uploads the media, posts the reply with the media ID, and returns the JSON response. ## Quick Start Ask the agent to verify xurl is installed and authenticated with "xurl auth status", then have it run "xurl whoami" and post a test message such as "xurl post 'Hello from my agent'".

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 the command "xurl post 'your message'" after completing one-time OAuth 2.0 setup. You can attach media by first running "xurl media upload file.jpg" and passing the returned ID with --media-id.

How do I authenticate xurl with the X API?

Register your app with "xurl auth apps add my-app --client-id ID --client-secret SECRET", then run "xurl auth oauth2 --app my-app" to complete the OAuth 2.0 PKCE browser flow, and set it as default with "xurl auth default my-app". These steps must be done manually by the user, never by the agent.

Can xurl access any X API v2 endpoint?

Yes, xurl supports raw curl-style access to any X API v2 endpoint, for example "xurl /2/users/me" or "xurl -X POST /2/tweets -d '{\"text\":\"hi\"}'". Streaming endpoints like /2/tweets/search/stream are auto-detected or forced with -s.

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

The token was likely saved to the built-in default app profile, which has no client credentials. Re-run "xurl auth oauth2 --app my-app" and then "xurl auth default my-app" so commands use the app that holds your client ID and secret.

Does xurl support multiple X accounts or apps?

Yes, each registered app has isolated credentials and tokens. Switch apps with "xurl auth default APP" or per-request with --app, and select among multiple accounts per app using -u/--username.

Why does media upload fail with 'media processing failed'?

The default media category is amplify_video, which breaks image uploads. Add explicit parameters: "xurl media upload --category tweet_image --media-type image/png photo.png", then check processing with "xurl media status MEDIA_ID".