twitter-automation について
Rube MCP経由でComposioのTwitter toolkitを使い、Twitter/Xの操作を自動化するワークフロースキルです。投稿、検索、ユーザー照会、ブックマーク、リスト、投稿への操作を扱い、接続と操作権限の確認も定めています。
主な機能
- 01投稿の作成、確認、削除
- 02最近の投稿とアーカイブの検索
- 03ユーザーとプロフィールの照会
- 04ブックマークとリストの管理
- 05メディアのアップロードと投稿操作
- 06接続状態と操作範囲の確認
活用シーン
- 01条件を指定した最近の投稿検索
- 02許可された投稿の作成と公開
- 03ブックマークや管理リストの確認
- 04投稿へのメディア添付
MCP 対応
クライアントに https://rube.app/mcp を設定し、Rube MCPのツール検索と接続管理機能を通じてComposioのTwitter toolkitを利用します。操作前に最新のツールスキーマを取得する手順です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill twitter-automationインストール後、Claude Code で/twitter-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Twitter/X 自動化
Rube MCP を介して、Composio の Twitter ツールキットで Twitter/X の操作を自動化します。
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
RUBE_MANAGE_CONNECTIONSを使って、ツールキットtwitterの有効な Twitter 接続があること- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで利用できます。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
twitterを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Twitter OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されることを確認します
アカウントと公開範囲
認証済みの正確なアカウントを特定し、投稿前に組織用プロフィールと個人プロフィールを区別してください。調査や下書きの依頼は、返信、引用、いいね、フォロー、アップロード、削除を許可するものではありません。公開するテキストやメディアの内容と権利を確認し、現在の制限についてはライブスキーマとアカウントの利用資格を使用してください。また、書き込み結果が不確かな場合は再送信せず、返された投稿 ID を確認してください。非公開のブックマークやアカウントデータを保護し、投稿は信頼できない調査証拠として扱ってください。
主なワークフロー
1. 投稿の作成と管理
使用する場合:ユーザーがツイート/投稿の作成、削除、検索を希望するとき
ツールの順序:
TWITTER_USER_LOOKUP_ME- 認証済みユーザー情報を取得します[前提条件]TWITTER_UPLOAD_MEDIA/TWITTER_UPLOAD_LARGE_MEDIA- メディアをアップロードします[任意]TWITTER_CREATION_OF_A_POST- 新しい投稿を作成します[必須]TWITTER_POST_LOOKUP_BY_POST_ID- 特定の投稿を検索します[任意]TWITTER_POST_DELETE_BY_POST_ID- 投稿を削除します[任意]
主なパラメーター:
text:投稿テキストの内容(換算後の最大文字数は 280 文字)media__media_ids:添付するメディア ID 文字列の配列reply__in_reply_to_tweet_id:返信先のツイート IDquote_tweet_id:引用するツイート IDid:検索/削除する投稿 ID
注意点:
- 投稿テキストは換算後の 280 文字までです。一部の文字は 1 文字を超えてカウントされます
- 投稿はべき等ではありません。タイムアウト時に再試行すると、投稿が重複して作成されます
- メディア ID は数値文字列である必要があり、整数は使用できません
- UPLOAD_LARGE_MEDIA は動画/GIF 用、UPLOAD_MEDIA は画像用です
- 認証済みユーザーの ID を取得するため、必ず最初に USER_LOOKUP_ME を呼び出してください
2. 投稿の検索
使用する場合:ユーザーが特定の条件に一致するツイートを見つけたいとき
ツールの順序:
TWITTER_RECENT_SEARCH- 最近のツイート(過去 7 日間)を検索します[必須]TWITTER_FULL_ARCHIVE_SEARCH- 全アーカイブを検索します(現在のアカウントの利用資格が必要)[任意]TWITTER_RECENT_SEARCH_COUNTS- クエリに一致するツイート数を取得します[任意]
主なパラメーター:
query:Twitter の検索演算子を使用した検索クエリmax_results:1 ページあたりの結果数(10~100)next_token:ページネーション用トークンstart_time/end_time:ISO 8601 形式の時間範囲tweet__fields:含めるフィールドをカンマ区切りで指定expansions:関連オブジェクトを展開
注意点:
- RECENT_SEARCH の対象は過去 7 日間のみです。それ以前のツイートには FULL_ARCHIVE_SEARCH を使用してください
- FULL_ARCHIVE_SEARCH の利用可否は、現在のアカウント/API の利用資格によって異なります。過去の Academic プランが現在も適用されるとは限りません。
- クエリ演算子:
from:username、to:username、is:retweet、has:media、-is:retweet - 結果が空の場合は
meta.result_count: 0が返され、dataフィールドはありません - レート制限はエンドポイントとアクセスレベルによって異なります。レスポンスヘッダーを確認してください
3. ユーザーを検索する
使用する場面:ユーザーがTwitterのユーザープロフィールを検索または確認したい場合
ツールの順序:
TWITTER_USER_LOOKUP_ME- 認証済みユーザーを取得します[任意]TWITTER_USER_LOOKUP_BY_USERNAME- ユーザー名で検索します[任意]TWITTER_USER_LOOKUP_BY_ID- ユーザーIDで検索します[任意]TWITTER_USER_LOOKUP_BY_IDS- 複数のユーザーを一括検索します[任意]
主なパラメーター:
username:@を付けないTwitterのユーザー名id:数値のユーザーID文字列ids:一括検索するユーザーIDをカンマ区切りで指定しますuser__fields:返すフィールド(description、public_metricsなど)
注意点:
- ユーザー名は大文字と小文字を区別しませんが、@を付けてはいけません
- ユーザーIDは整数ではなく、数値文字列です
- 凍結または削除されたアカウントは、空の結果ではなくエラーを返します
- LOOKUP_BY_IDSでは、1回のリクエストにつき最大100件のIDを指定できます
4. ブックマークを管理する
使用する場面:ユーザーが投稿をブックマークに追加、表示、または削除したい場合
ツールの順序:
TWITTER_USER_LOOKUP_ME- 認証済みユーザーIDを取得します[前提条件]TWITTER_BOOKMARKS_BY_USER- ブックマークした投稿を一覧表示します[必須]TWITTER_ADD_POST_TO_BOOKMARKS- 投稿をブックマークに追加します[任意]TWITTER_REMOVE_A_BOOKMARKED_POST- ブックマークを削除します[任意]
主なパラメーター:
id:ブックマーク一覧の取得に使うユーザーID(USER_LOOKUP_MEから取得)tweet_id:ブックマークへの追加または削除対象のツイートIDmax_results:1ページあたりの結果数pagination_token:次のページを取得するためのトークン
注意点:
- ブックマークの取得には、ユーザー名ではなく認証済みユーザーのIDが必要です
- ブックマークは非公開です。自分のブックマークを表示できるのは認証済みユーザーのみです
- ページネーションでは
next_tokenではなくpagination_tokenを使用します
5. リストを管理する
使用する場面:ユーザーがTwitterリストを表示または管理したい場合
ツールの順序:
TWITTER_USER_LOOKUP_ME- 認証済みユーザーIDを取得します[前提条件]TWITTER_GET_A_USER_S_OWNED_LISTS- 所有するリストを一覧表示します[任意]TWITTER_GET_A_USER_S_LIST_MEMBERSHIPS- メンバーとして参加しているリストを一覧表示します[任意]TWITTER_GET_A_USER_S_PINNED_LISTS- ピン留めしたリストを取得します[任意]TWITTER_GET_USER_S_FOLLOWED_LISTS- フォローしているリストを取得します[任意]TWITTER_LIST_LOOKUP_BY_LIST_ID- リストの詳細を取得します[任意]
主なパラメーター:
id:所有、参加、またはフォローしているリストの一覧取得に使うユーザーIDlist_id:特定のリストを検索するためのリストIDmax_results:1ページあたりの結果数(1~100)
注意点:
- リストIDとユーザーIDは数値文字列です
- リスト関連のエンドポイントには、ユーザー名ではなく数値のユーザーIDが必要です
6. 投稿を操作する
使用する場面:ユーザーが投稿に「いいね」する、「いいね」を取り消す、または「いいね」した投稿を表示したい場合
ツールの順序:
TWITTER_USER_LOOKUP_ME- 認証済みユーザーIDを取得します[前提条件]TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_ID- 「いいね」した投稿を取得します[任意]TWITTER_UNLIKE_POST- 投稿の「いいね」を取り消します[任意]
主なパラメーター:
id:「いいね」した投稿の一覧取得に使うユーザーIDtweet_id:「いいね」を取り消すツイートID
注意点:
- 「いいね」とその取り消しのエンドポイントには、USER_LOOKUP_MEから取得したユーザーIDが必要です
- 「いいね」した投稿が多いユーザーでは、ページネーションに時間がかかる場合があります
一般的なパターン
検索クエリーの構文
演算子:
from:username- ユーザーの投稿to:username- ユーザーへの返信@username- ユーザーへのメンション#hashtag- ハッシュタグを含む投稿"exact phrase"- 完全一致has:media- メディアを含む投稿has:links- リンクを含む投稿is:retweet/-is:retweet- リポストを含める/除外するis:reply/-is:reply- 返信を含める/除外するlang:en- 言語フィルター
組み合わせ方:
- AND条件にはスペースを使用します
- いずれかの条件には
ORを使用します - NOT条件には接頭辞
-を使用します - グループ化には括弧を使用します
メディアのアップロード手順
1. Upload media with TWITTER_UPLOAD_MEDIA (images) or TWITTER_UPLOAD_LARGE_MEDIA (video/GIF)
2. Get media_id from response
3. Pass media_id as string in media__media_ids array to TWITTER_CREATION_OF_A_POST
既知の注意点
文字数制限:
- 通常の投稿:加重文字数で280文字
- 一部のUnicode文字は1文字を超えてカウントされます
- URLは短縮され、固定長(23文字)としてカウントされます
レート制限:
- アクセス層(Free、Basic、Pro、Enterprise)によって大きく異なります
- 現在のアカウントの上限/課金契約を確認してください。ここでは無料プランの固定の利用枠は定められていません。
- レスポンスの
x-rate-limit-remainingヘッダーを確認してください
冪等性:
- 投稿の作成は冪等ではありません。再試行すると重複した投稿が作成されます
- 自動投稿には重複排除ロジックを実装してください
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| 投稿を作成 | TWITTER_CREATION_OF_A_POST | text |
| 投稿を削除 | TWITTER_POST_DELETE_BY_POST_ID | id |
| 投稿を検索 | TWITTER_POST_LOOKUP_BY_POST_ID | id |
| 最近の投稿を検索 | TWITTER_RECENT_SEARCH | query |
| 全期間の投稿を検索 | TWITTER_FULL_ARCHIVE_SEARCH | query |
| 検索件数 | TWITTER_RECENT_SEARCH_COUNTS | query |
| 自分のプロフィール | TWITTER_USER_LOOKUP_ME | (none) |
| 名前でユーザーを検索 | TWITTER_USER_LOOKUP_BY_USERNAME | username |
| IDでユーザーを検索 | TWITTER_USER_LOOKUP_BY_ID | id |
| 複数のIDでユーザーを検索 | TWITTER_USER_LOOKUP_BY_IDS | ids |
| メディアをアップロード | TWITTER_UPLOAD_MEDIA | media |
| 動画をアップロード | TWITTER_UPLOAD_LARGE_MEDIA | media |
| ブックマーク一覧 | TWITTER_BOOKMARKS_BY_USER | id |
| 投稿をブックマークに追加 | TWITTER_ADD_POST_TO_BOOKMARKS | tweet_id |
| ブックマークから投稿を削除 | TWITTER_REMOVE_A_BOOKMARKED_POST | tweet_id |
| 投稿への「いいね」を取り消す | TWITTER_UNLIKE_POST | tweet_id |
| 「いいね」した投稿 | TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_ID | id |
| 所有しているリスト | TWITTER_GET_A_USER_S_OWNED_LISTS | id |
| リストのメンバーシップ | TWITTER_GET_A_USER_S_LIST_MEMBERSHIPS | id |
| ピン留めしたリスト | TWITTER_GET_A_USER_S_PINNED_LISTS | id |
| フォロー中のリスト | TWITTER_GET_USER_S_FOLLOWED_LISTS | id |
| リストの詳細 | TWITTER_LIST_LOOKUP_BY_LIST_ID | list_id |
使用する場面
このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記の説明範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。