twitter について
Xの調査、投稿、セッション操作、ブックマーク保存に使うツールをタスク別に案内するスキルです。コストを考慮した検索方法と、各モードの設定・操作情報をまとめています。
主な機能
- 01コスト追跡付き検索とクエリ展開
- 02xapi MCPによる全期間検索
- 03公式APIとxurlコマンドラインの案内
- 04birdによるブラウザーセッションでの閲覧と投稿
- 05smaugによるブックマークといいねの保存
活用シーン
- 01複数のクエリで最近のXの話題を調査
- 027日を超えるXの投稿履歴を検索
- 03メディア投稿、DM送信、APIエンドポイント呼び出し
- 04保存したブックマークといいねを整理
MCP 対応
xurlとOAuth 2.0を使い、https://api.x.com/mcp のxapi MCPサーバーに接続する方法を説明します。投稿、検索、ユーザーとタイムライン、ブックマーク、トレンド、Articles向けのツールを扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tdimino/ claude-code-minoan --skill twitterインストール後、Claude Code で/twitterを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
codex-agent-guide.mdREADME.mdreferences/pricing.mdquery-expansion.mdsetup.mdxurl-mcp-setup.mdx-search/x-search.tsx-search/data/feedgroups.jsonwatchlist.jsonx-search/lib/api.tscache.tsformat.ts詳細
Twitter/X — マルチモード連携
5 つのツールがあり、タスクに応じて選択します。
| モード | ツール | 認証 | 料金 | 用途 |
|---|---|---|---|---|
| ホスト型 MCP | xapi MCP サーバー(xurl ブリッジ経由) | OAuth 2.0 | 従量課金 | 全期間検索、トレンド、ブックマーク、Articles、タイムライン |
| 公式 API | x-search | Bearer + OAuth 1.0a | 従量課金、追跡あり | コスト管理された調査、フィード、ウォッチリスト、投稿 |
| 公式 CLI | xurl | OAuth 1.0a + 2.0 | 従量課金 | メディアのアップロード、DM、未加工の API 呼び出しなど、あらゆるエンドポイント |
| セッション | bird | ブラウザー Cookie | 無料 | 気軽な閲覧、メンション、メディア投稿 — 利用できる間 |
| アーカイブ | smaug | bird 経由 | 無料 | ブックマーク/いいねの処理、AI によるファイリング |
料金は頻繁に変更されます(2026 年はすでに 2 回)。料金表全体と請求の仕組みは references/pricing.md を参照してください。主な料金:投稿の読み取り $0.005、投稿の作成 $0.015、URL 付き投稿 $0.200、自分の投稿の読み取り $0.001、UTC 24 時間の重複排除、月間読み取り上限 200 万件。
どれを使うか
| タスク | ツール | 理由 |
|---|---|---|
| 全期間検索(7 日を超える過去) | xapi MCP | X の全履歴にアクセスできる唯一のモード |
| トレンド、場所別のニュース | xapi MCP | X 独自の機能で、x-search にはありません |
| 読み取り前にツイート数を確認 | x-search counts | 一律 $0.005。読み取りは 1 件あたり $0.005 |
| トピック別に最近のツイートを検索 | x-search | コスト追跡、キャッシュ、品質フィルター |
| 幅広いトピック、複数の言い回し | x-search multi | 拡張したバリエーションに検索を振り分け、重複を除いて統合 |
| URL から単一のツイートを読む | jina URL | 無料。X で機能する唯一のスクレイパー |
| フォロー中のアカウントから毎日のフィードを取得 | x-search feed | OR クエリをまとめて実行。低コスト |
| 特定のアカウントを監視 | x-search watchlist | コスト追跡付きで一括確認 |
| テキストのツイートまたは返信を投稿 | x-search post/reply | URL 追加料金を防ぐガード機能を内蔵 |
| メディア、DM、Articles を投稿 | xurl | 公式 CLI、分割アップロード |
| 実際の請求額を確認 | x-search usage | GET /2/usage/tweets が実際の請求額を示します |
| 無料で気軽に閲覧/メンションを確認 | bird | Cookie と GraphQL が機能する間は無料 |
| ブックマークをアーカイブ | smaug | AI による分類、Markdown 出力 |
ホスト型 X MCP(xapi)
X のファーストパーティ MCP サーバーは https://api.x.com/mcp にあります(2026 年 6 月に提供開始)。6 つのツールグループがあります。投稿、検索(全期間検索を含む)、ユーザー/タイムライン、ブックマーク、WOEID 別のトレンド、Articles。
2026-07-15 にユーザースコープで接続済みです。xurl --app main mcp https://api.x.com/mcp を実行し、main xurl アプリ(OAuth 2.0、自動更新)で @IdaeanDaktyl として認証されています。claude mcp list で接続状態を確認してください(xapi ... ✔ Connected と表示されます)。認証が機能しなくなった場合は、xurl auth oauth2 --app main を再実行してください。
ツール呼び出しのたびに、標準の従量課金料金が発生します。エージェント型 MCP のループにも、x-search の詳細検索と同じコスト管理を適用してください。セットアップ、再認証、読み取り専用 Bearer フォールバックについては、references/xurl-mcp-setup.md を参照してください。
ライブ OAuth トークンが含まれる ~/.xurl や、スキルの .env 値をコンテキストに読み込まないでください。
x-search — コスト管理された調査
実行方法:bun run ~/.claude/skills/twitter/x-search/x-search.ts <command> — 以下の例ではこのプレフィックスを x-search.ts と省略していますが、常に完全な bun run 呼び出しを使用してください。
# Volume probe FIRST: $0.005 flat, histogram + read-cost projection
x-search.ts counts "claude code" --today
# Quick search (default for exploration): 1 page, max 10, noise filter, 1hr cache, ~$0.50
x-search.ts search "AI agents" --quick
# Calendar-day windows: --today = since local midnight; yesterday = bounded day
x-search.ts search "Claude Code" --today --quick
x-search.ts search "Claude Code" --since yesterday
x-search.ts search "query" --today --dry-run # final query + cost ceiling, no API call
# Multi-query fan-out: expand per references/query-expansion.md, then merge + dedup
x-search.ts multi "anthropic fundraise" 'anthropic (raise OR funding OR "series F")' --today --quick
# Free search via bird session (looser relevance, $0.00)
x-search.ts search "query" --bird --today
# Full search
x-search.ts search "Claude Code" --pages 3 --sort likes --since 1d
x-search.ts search "Minoan archaeology" --markdown --save
# Profiles, threads, single tweets
x-search.ts profile AnthropicAI --count 10
x-search.ts thread 1234567890 --pages 3
x-search.ts tweet 1234567890
# Feeds from named account groups (geopolitics, palestine, all-feeds)
x-search.ts feed geopolitics --today
x-search.ts feed all-feeds --since 7d --markdown --save
x-search.ts feed imetatronink,Megatron_ron --since 1d --bird # free via bird
x-search.ts feedgroup add tech kaboreas "K8s/infra" # manage groups
# Feed flags: --today/--since, --limit N (default 4), --bird (free), --dry-run, --no-cache, --markdown, --save
# Watchlist (profile API — pricier)
x-search.ts watchlist add kikismith "Ancient art"
x-search.ts watchlist check
# Posting (OAuth 1.0a). URL posts are REFUSED unless --allow-url ($0.20 vs $0.015)
x-search.ts post "Hello from x-search!"
x-search.ts post "test text" --dry-run # validate + show cost WITHOUT posting
x-search.ts reply 1234567890 "Great thread!"
x-search.ts delete 1234567890 # delete own tweet ($0.01)
# Billed consumption (real spend, not estimates)
x-search.ts usage
主なフラグ(search + multi):
- 時間:
--today、--since Nm|Nh|Nd (e.g. 15m, 3h, 7d)|today|yesterday|ISO、--until <same specs>— プロフィールとウォッチリストの確認でも--today/--sinceを使用できます - 範囲:
--quick、--pages 1-5、--from user、--quality、--min-likes N、--min-impressions N、--no-replies、--retweets(デフォルトではRTを除外します) - モード:
--bird(無料)、--dry-run(API呼び出しなし)、--json、--markdown、--save;counts では--granularity minute|hour|dayも追加します
誤記されたフラグはクエリに紛れ込まず、エラーになります。コマンドのエイリアス(s、m、c、t、p、f、fg、wl、u、削除用の rm)もあります。キャッシュ:TTLは15分(quickは1時間)、実行ごとに自動削除されます。消去するには cache clear を実行します。
投稿/返信をテストまたは実演する場合は、必ず --dry-run を使用してください。そうしないと、成功時に実際のツイートが投稿されます。
セットアップ(~/.claude/skills/twitter/.env 内のBearer + OAuth 1.0aキー)はこのマシンで完了しています。再セットアップの手順と認証情報のトラブルシューティングについては、references/setup.md を参照してください。
調査の方法
references/query-expansion.mdに従って、リクエストを3~4個のクエリ候補に展開します(リテラル・同義語/ハッシュタグのORグループ・from:の主要アカウント・ノイズ除外)。2. 最も広範な候補でcountsを実行します($0.005 — 読み取りに課金される前に件数を確認します)。3.multi --quickで並列検索し、シグナルを評価します。4.--from/--quality/--today/--sinceで絞り込みます。5. 価値の高い会話のスレッドをたどります。6. 最適なクエリを--pages 3 --markdown --saveで詳しく調査します。7. 一致した候補ではなく、元のリクエストに照らして情報を統合します。7日間の範囲より前の情報が必要な場合は、xapi MCP を利用してください(search_posts_all。get_posts_counts_recentは counts に相当するMCP機能です)。
xurl — 公式CLI
xurl /2/users/me # any endpoint, OAuth handled
xurl -X POST /2/tweets -d '{"text": "hello"}'
xurl media upload photo.png # chunked media upload
インストール済み(v1.2.2)。認証登録とMCPブリッジコマンドについては、references/xurl-mcp-setup.md を参照してください。
bird CLI — セッションベースの操作(0.8.0で更新停止)
ブラウザーのCookieを使って、非公開のTwitter GraphQL APIを利用します。無料ですが、上流の開発は終了しています:steipeteはリポジトリとbrew tapを削除しました(2026年2月)。npmでは最終版の0.8.0が引き続き提供されています(npm install -g @steipete/bird)。ソースのミラーは github.com/LaceLetho/bird-cli-backup にあります。2026-07-05時点で動作を確認済みですが、XがGraphQLの内部仕様を変更した場合、修正は行われません。読み取りにはxapi MCP/x-search、書き込みにはxurlを使用してください。Smaugの取得処理もこのリスクを引き継ぎます(移行先:Owned Reads、$0.001/リソース。references/pricing.md を参照)。
SafariのCookieアクセスによるEPERM警告を避けるため、すべてのbirdコマンドに必ず --cookie-source chrome を指定してください。
投稿
bird --cookie-source chrome tweet "Hello world"
bird --cookie-source chrome reply 123456789 "Great thread!"
bird --cookie-source chrome tweet "With image" --media photo.png --alt "Description"
読み取り
bird --cookie-source chrome read 123456789
bird --cookie-source chrome thread https://x.com/user/status/123456789
bird --cookie-source chrome replies 123456789 --json
検索(無料、GraphQL経由)
bird --cookie-source chrome search "query" -n 10
bird --cookie-source chrome search "from:anthropic" -n 20 --json
モニタリング
bird --cookie-source chrome mentions -n 10
bird --cookie-source chrome bookmarks -n 20
bird --cookie-source chrome likes -n 20
bird --cookie-source chrome following -n 50
bird --cookie-source chrome followers -n 50
メンテナンス
bird --cookie-source chrome whoami # verify auth
bird --cookie-source chrome check # credential sources
bird --cookie-source chrome query-ids --fresh # refresh when Twitter rotates IDs
トラブルシューティング
- 403エラー:ブラウザーのCookieが期限切れです — ChromeでTwitterにログインしてから、
bird checkを実行してください - Query IDエラー:
bird query-ids --freshを実行してください(Xがスキーマ自体を変更するまでは動作します。変更後はbirdを使用できなくなります) - レート制限(429):数分待ってください
Smaug — ブックマークのアーカイブ
cd ~/tools/smaug
npx smaug run # fetch + process with Claude
npx smaug fetch 20 # fetch only
npx smaug fetch --source likes # likes instead of bookmarks
npx smaug run -t # track token costs
npx smaug status
出力:bookmarks.md、knowledge/tools/、knowledge/articles/。
同梱ファイル
| ファイル | 内容 |
|---|---|
references/pricing.md | 2026年7月の完全な料金表、Owned Readsエンドポイント、リベート、重複排除、試算例 |
references/query-expansion.md | プロトコル:リクエストを3~4個のクエリ候補に抽象化し、multi で並列検索する方法 |
references/xurl-mcp-setup.md | OAuth 2.0アプリのセットアップ、MCPブリッジの接続、xurlの使い方、セルフホスト可能なxMCP |
references/setup.md | Bearer + OAuth 1.0aの認証情報設定、bird/smaugのインストール、認証情報のトラブルシューティング |
codex-agent-guide.md | Codex CLIエージェント向けの自己完結型x-searchガイド(exa-searchパターン) |
関連ツール
次の場合は、このスキルを使わずに別のツールを使用してください。単一のツイート URL を読み取る場合(jina URL — 無料で、X がブロックしない唯一のスクレイパーです)、ソーシャルメディアの横断検索に Reddit や Instagram も含める場合(omnisearch の Xpoz ルート)、または API 呼び出しよりも無料のブラウザーセッションでの操作が適している場合(opencli の twitter コマンド。ドキュメントでも詳細な調査は x-search に委ねています)。