xurl
xurl CLI for authenticated X posts, replies, reads/search, DMs, media upload, followers, auth status, or raw v2 API calls.
Security Assessment
About xurl
The xurl skill provides a command-line interface for interacting with the X (formerly Twitter) API v2. It enables authenticated operations including posting tweets, reading posts, searching content, managing direct messages, uploading media, and handling follower relationships. The tool eliminates the need to manually construct API requests or manage authentication tokens, offering both convenient shortcut commands for common tasks and raw API access for advanced use cases.
xurl supports comprehensive X platform functionality through intuitive commands. Users can create posts, replies, and quotes; delete content; read and search tweets; manage social interactions like likes, reposts, and bookmarks; handle follower relationships including follow, unblock, and mute operations; send and retrieve direct messages; and upload images and videos with processing status tracking. The tool manages multiple app credentials and authentication methods (OAuth 1.0a and OAuth 2.0), allowing users to switch between different X applications and user accounts seamlessly.
This skill is designed for developers, automation engineers, social media managers, and data analysts who need programmatic access to X. It's particularly valuable for building bots, automating content posting, monitoring mentions and timelines, collecting data for analysis, and integrating X functionality into workflows. The tool emphasizes security by storing credentials safely in the user's home directory and provides clear guidance on avoiding token exposure during automated sessions.
FAQ
How do I authenticate with xurl?
Use 'xurl auth status' to check your authentication state. xurl stores credentials securely in ~/.xurl. You can manage multiple apps with 'xurl auth apps list' and set a default app and user with 'xurl auth default APP_NAME USERNAME'. For individual requests, use --app or --auth flags to specify authentication.
What should I do if I get a 401 or 403 error?
These errors typically indicate authentication, scope, or app configuration issues. Run 'xurl auth status' to verify your credentials and permissions. Ensure your app has the necessary scopes for the operation you're attempting and that you're using the correct authentication method (OAuth 1.0a vs OAuth 2.0).
How do I upload and post media?
First upload media with 'xurl media upload image.jpg' or 'xurl media upload video.mp4', which returns a MEDIA_ID. For videos, use 'xurl media status MEDIA_ID' to poll processing status. Once ready, attach the media to a post with 'xurl post "caption" --media-id MEDIA_ID'.
Can I use xurl for any X API v2 endpoint?
Yes. While xurl provides shortcut commands for common operations, you can access any v2 endpoint using raw mode: 'xurl /2/endpoint/path' for GET requests or 'xurl -X POST /2/endpoint -d "{...}"' for POST requests with JSON payloads.
What happens when I hit rate limits?
xurl returns a 429 status code when you exceed X API rate limits. You should implement exponential backoff and retry logic in your scripts. Check the X API documentation for specific rate limits on different endpoints.
Install xurl
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
steipete/clawdis