xurl について
xurlは、X APIを操作するコマンドラインスキルです。投稿、検索、ユーザー、メディア向けのショートカットに加え、v2エンドポイントへの直接アクセスも備えています。
主な機能
- 01投稿、返信、引用、削除、投稿の取得
- 02投稿の検索とユーザー情報の参照
- 03メディアのアップロードと処理状況の確認
- 04認証とアプリ選択の管理
- 05rawモードで任意のv2エンドポイントを呼び出し
活用シーン
- 01コマンドラインから投稿を公開・管理
- 02Xを検索してユーザー情報を取得
- 03メディアをアップロードして投稿に添付
- 04ショートカットにないAPIエンドポイントを呼び出し
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openclaw/ openclaw --skill xurlインストール後、Claude Code で/xurlを入力して読み込まれたか確認します。
詳細
xurl
X API の操作には xurl を使用します。ショートカットコマンドは JSON を返し、Raw モードは任意の v2 エンドポイントで動作します。
認証
~/.xurlにはトークンが保存されています。内容を読み取る代わりに、xurl auth statusで認証状態を確認してください。- シークレットはコマンドに直接記述せず、プロンプトから認証コマンドに渡してください。シェルの履歴に残らなくなります。
--verboseを指定すると、認証ヘッダーがツールの出力に表示されます。
よく使うショートカット
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 には 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
動画は処理が必要な場合があります。media status をポーリングしてください。
認証/アプリ管理
xurl auth status
xurl auth apps list
xurl auth default
xurl auth default APP_NAME USERNAME
xurl auth apps remove APP_NAME
リクエストごと:
xurl --app APP_NAME /2/users/me
xurl --auth oauth2 /2/users/me
Raw API
xurl /2/users/me
xurl -X POST /2/tweets -d '{"text":"Hello world!"}'
xurl '/2/tweets/search/recent?query=openclaw&max_results=10'
ショートカットで対応できないエンドポイントには Raw モードを使用してください。複雑な JSON のペイロードは一時ファイルに保存してください。
出力とエラー
- 成功時は JSON を標準出力に出力します。
- API、認証、ネットワークのエラー時はゼロ以外の終了コードを返します。
- 401/403:認証、スコープ、またはアプリの不一致です。
xurl auth statusを確認してください。 - 429:レート制限に達しています。時間をおいて再試行してください。
- メディアのアップロードに失敗した場合は、ファイルの種類/サイズとメディアの処理状態を確認してください。
コメント
Markdown 対応