yapie0/safe-openclaw/xurl
Claude Code and agent skill by yapie0/safe-openclaw
- community
Checking that the SKILL.md file is still in the repository.
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
Install
npx vskill@latest install yapie0/safe-openclaw/xurlSKILL.md
xurl — Agent Skill Reference
xurl is a CLI tool for the X API. It supports both shortcut commands (human/agent‑friendly one‑liners) and raw curl‑style access to any v2 endpoint. All commands return JSON to stdout.
Installation
Homebrew (macOS)
npm
Shell script
Installs to ~/.local/bin. If it's not in your PATH, the script will tell you what to add.
Go
Prerequisites
This skill requires the xurl CLI utility: <https://github.com/xdevplatform/xurl>.
Before using any command you must be authenticated. Run xurl auth status to check.
Secret Safety (Mandatory)
- Never read, print, parse, summarize, upload, or send
~/.xurl(or copies of it) to the LLM context. - Never ask the user to paste credentials/tokens into chat.
- The user must fill
~/.xurlwith required secrets manually on their own machine. - Do not recommend or execute auth commands with inline secrets in agent/LLM sessions.
- Warn that using CLI secret options in agent sessions can leak credentials (prompt/context, logs, shell history).
- Never use
--verbose/-vin agent/LLM sessions; it can expose sensitive headers/tokens in output. - Sensitive flags that must never be used in agent commands:
--bearer-token,--consumer-key,--consumer-secret,--access-token,--token-secret,--client-id,--client-secret. - To verify whether at least one app with credentials is already registered, run:
xurl auth status.
Register an app (recommended)
App credential registration must be done manually by the user outside the agent/LLM session. After credentials are registered, authenticate with:
For multiple pre-configured apps, switch between them:
Other auth methods
Examples with inline secret flags are intentionally omitted. If OAuth1 or app-only auth is needed, the user must run those commands manually outside agent/LLM context.
Tokens are persisted to ~/.xurl in YAML format. Each app has its own isolated tokens. Do not read this file through the agent/LLM. Once authenticated, every command below will auto‑attach the right Authorization header.
Quick Reference
| Action | Command | |
|---|---|---|
| Post | xurl post "Hello world!" | |
| Reply | xurl reply POST_ID "Nice post!" | |
| Quote | xurl quote POST_ID "My take" | |
| Delete a post | xurl delete POST_ID | |
| Read a post | xurl read POST_ID | |
| Search posts | xurl search "QUERY" -n 10 | |
| Who am I | xurl whoami | |
| Look up a user | xurl user @handle | |
| Home timeline | xurl timeline -n 20 | |
| Mentions | xurl mentions -n 10 | |
| Like | xurl like POST_ID | |
| Unlike | xurl unlike POST_ID | |
| Repost | xurl repost POST_ID | |
| Undo repost | xurl unrepost POST_ID | |
| Bookmark | xurl bookmark POST_ID | |
| Remove bookmark | xurl unbookmark POST_ID | |
| List bookmarks | xurl bookmarks -n 10 | |
| List likes | xurl likes -n 10 | |
| Follow | xurl follow @handle | |
| Unfollow | xurl unfollow @handle | |
| List following | xurl following -n 20 | |
| List followers | xurl followers -n 20 | |
| Block | xurl block @handle | |
| Unblock | xurl unblock @handle | |
| Mute | xurl mute @handle | |
| Unmute | xurl unmute @handle | |
| Send DM | xurl dm @handle "message" | |
| List DMs | xurl dms -n 10 | |
| Upload media | xurl media upload path/to/file.mp4 | |
| Media status | xurl media status MEDIA_ID | |
| App Management | ||
| Register app | Manual, outside agent (do not pass secrets via agent) | |
| List apps | xurl auth apps list | |
| Update app creds | Manual, outside agent (do not pass secrets via agent) | |
| Remove app | xurl auth apps remove NAME | |
| Set default (interactive) | xurl auth default | |
| Set default (command) | xurl auth default APP_NAME [USERNAME] | |
| Use app per-request | xurl --app NAME /2/users/me | |
| Auth status | xurl auth status |
Post IDs vs URLs: AnywherePOST_IDappears above you can also paste a full post URL (e.g.https://x.com/user/status/1234567890) — xurl extracts the ID automatically.
Usernames: Leading@is optional.@elonmuskandelonmuskboth work.
Command Details
Posting
Reading
User Info
Timelines & Mentions
Engagement
Social Graph
Direct Messages
Media Upload
Global Flags
These flags work on every command:
| Flag | Short | Description | |
|---|---|---|---|
--app | Use a specific registered app for this request (overrides default) | ||
--auth | Force auth type: oauth1, oauth2, or app | ||
--username | -u | Which OAuth2 account to use (if you have multiple) | |
--verbose | -v | Forbidden in agent/LLM sessions (can leak auth headers/tokens) | |
--trace | -t | Add X-B3-Flags: 1 trace header |
Raw API Access
The shortcut commands cover the most common operations. For anything else, use xurl's raw curl‑style mode — it works with any X API v2 endpoint:
Streaming
Streaming endpoints are auto‑detected. Known streaming endpoints include:
/2/tweets/search/stream/2/tweets/sample/stream/2/tweets/sample10/stream
You can force streaming on any endpoint with -s:
Output Format
All commands return JSON to stdout, pretty‑printed with syntax highlighting. The output structure matches the X API v2 response format. A typical response looks like:
Errors are also returned as JSON:
Common Workflows
Post with an image
Reply to a conversation
Search and engage
Check your activity
Set up multiple apps
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/xurl/SKILL.md
Popularity
- Repository stars
- 55
- Repository forks
- 12
- Repository npm downloads, 7 days
- 68
- 7-day trend score
- 34
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 24 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yapie0/safe-openclaw/xurl)