acp-router
Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode,…
xurl CLI for authenticated X posts, replies, reads/search, DMs, media upload, followers, auth status, or raw v2 API calls.
$ npx -y skills add openclaw/openclaw --skill xurl --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/xurlContext preview
The summary Claude sees to decide when to auto-load this skill.
xurl CLI for authenticated X posts, replies, reads/search, DMs, media upload, followers, auth status, or raw v2 API calls.
name: xurl
description: "xurl CLI for authenticated X posts, replies, reads/search, DMs, media upload, followers, auth status, or raw v2 API calls."
metadata:
{
"openclaw":
{
"emoji": "🐦",
"requires": { "bins": ["xurl"] },
"install":
[
{
"id": "brew",
"kind": "brew",
"formula": "xdevplatform/tap/xurl",
"bins": ["xurl"],
"label": "Install xurl (brew)",
},
{
"id": "npm",
"kind": "node",
"package": "@xdevplatform/xurl",
"bins": ["xurl"],
"label": "Install xurl (npm)",
},
],
},
}Use `xurl` for X API work. Shortcut commands return JSON; raw mode works for any v2 endpoint.
xurl post "Hello world!" xurl reply POST_ID "Nice." xurl quote POST_ID "My take" xurl delete POST_ID xurl read POST_ID xurl search "query" -n 20 xurl whoami xurl user @handle xurl timeline -n 20 xurl mentions -n 10 xurl like POST_ID xurl unlike POST_ID xurl repost POST_ID xurl unrepost POST_ID xurl bookmark POST_ID xurl unbookmark POST_ID xurl followers -n 20 xurl following -n 20 xurl follow @handle xurl unfollow @handle xurl block @handle xurl unblock @handle xurl mute @handle xurl unmute @handle xurl dm @handle "message" xurl dms -n 10
`POST_ID` can be a full `https://x.com/<user>/status/<id>` URL.
xurl media upload image.jpg xurl media upload clip.mp4 xurl media status MEDIA_ID xurl post "caption" --media-id MEDIA_ID
Videos may need processing; poll `media status`.
xurl auth status xurl auth apps list xurl auth default xurl auth default APP_NAME USERNAME xurl auth apps remove APP_NAME
Per request:
xurl --app APP_NAME /2/users/me xurl --auth oauth2 /2/users/me
xurl /2/users/me
xurl -X POST /2/tweets -d '{"text":"Hello world!"}'
xurl '/2/tweets/search/recent?query=openclaw&max_results=10'Use raw mode when shortcuts do not cover the endpoint. Keep payloads in temp files for complex JSON.
OpenClaw is an open-source AI assistant that runs on your own computer and meets you in the channels you already use: Discord, iMessage, Slack, Teams, Telegram, WhatsApp, and 20+ more, plus native apps for macOS, iOS, Android, Windows, and Linux.
Repo: openclaw/openclaw
Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode,…
Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows,…
Present hosted widget documents on a connected macOS panel and control panel visibility or…
Use when asked to open, run, test, or show an app in Crabbox, including native desktops, web…
Use the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both)…
Discord messaging workflows through OpenClaw's message tool.