Communitygithub.com

imMamdouhaboammar/x-post

ユニバーサルエージェントスキル&CLI。投稿、動画、引用ツイート、Markdown X記事、多言語動画翻訳を、実際のChrome CDPを使用してX(Twitter)に公開します。

x-post とは?

このスキルは、X(旧Twitter)への投稿を自動化するための、ボット検出に強いパブリッシングツールチェーンです。Chrome DevTools Protocol(CDP)を介して制御される実際のChromeインスタンスを利用することで、通常のブラウザ操作を模倣し、CAPTCHAやレート制限などの対策を回避しながら、テキストや画像、動画、引用ツイート、長文X記事、さらには多言語動画翻訳と字幕焼き付けまでを自動化します。主な利用プラットフォームは、Claude Code、Cursor、Codex、Skills.shなど、任意のエージェントフレームワークやターミナル上で動作します。ワークフローは投稿タイプごとに専用のスクリプトが用意されており、常にプレビューモードで確認してから`--submit`フラグで公開する安全な設計になっています。初回のみXへのログイン認証が必要ですが、一度認証すればブラウザプロファイルが保存され、以降の認証は不要です。各スクリプトはBunランタイムで実行され、依存関係(Bun、Chrome/Chromium、および動画翻訳時にはyt-dlp、ffmpeg、whisper-cli)が事前にインストールされている必要があります。

対応✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add imMamdouhaboammar/x-post

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

X Post

実際のChromeインスタンスをChrome DevTools Protocol(CDP)経由で制御することにより、ボット検出に強い、X(Twitter)向けの自動化パブリッシングツールチェーンです。

ランタイム要件(事前確認)

スクリプトを実行する前に、環境の依存関係を確認してください → references/runtime-setup.md。

必須チェックリスト:

  • Bunランタイムがインストールされていること(bun --version)
  • Google ChromeまたはChromiumがインストールされていること(または X_BROWSER_CHROME_PATH が設定されていること)
  • 初回実行時:開かれたChromeウィンドウでXにログイン認証すること(セッションは ~/.local/share/x-browser-profile に保存されます)
  • 動画翻訳機能を使用する場合:yt-dlp、ffmpeg、whisper-cli がインストールされていること

必要なツールが不足している場合は、停止して即座にユーザーに通知してください。


機能とナビゲーションマップ

公開タスクに応じて適切なワークフローを選択してください:

コンテンツタイプスクリプトパス詳細とリファレンス
テキスト&画像scripts/x-browser.ts単一/複数画像の投稿とスレッドチェーン → references/regular-posts.md
動画投稿scripts/x-video.tsトランスコード監視付き動画アップロード → references/video-posts.md
引用ツイートscripts/x-quote.ts既存ツイートを引用してコメントを追加 → references/quote-tweets.md
長文記事scripts/x-article.tsインライン画像付きMarkdown記事 → references/articles.md
動画翻訳scripts/x-translate-video.ts字幕抽出、翻訳、焼き付け → references/video-translation.md
ユニバーサル配信bin/x-post.jsClaude、Marketplace、npx、Skills.sh および全エージェント → references/distribution.md
トラブルシューティングN/A一般的なエラーの解決策 → references/troubleshooting.md

1. 通常の投稿(テキスト、画像、スレッド)

最大4枚の画像とスレッド返信を含む標準的なツイートを公開します。

# プレビューモード(投稿ボックスを確認し、30秒間ウィンドウを開いたままにします)
bun scripts/x-browser.ts "Exploring agentic automation with Antigravity!" --image ./screenshot.png

# 画像付きで公開し、スレッド返信を追加
bun scripts/x-browser.ts "Announcing our new open-source release!" \
  --image ./banner.png \
  --reply "Check out the repo here: https://github.com/org/repo" \
  --submit
  • 詳細、画像仕様、マルチスレッド連鎖 → references/regular-posts.md

2. 動画投稿

自動アップロードとトランスコードポーリング機能付きで動画(MP4、MOV、WebM)を公開します。

# 動画アップロードのプレビュー
bun scripts/x-video.ts --video ./demo.mp4 "Watch the complete architecture walkthrough"

# 動画を公開し、返信スレッドでソースを引用
bun scripts/x-video.ts --video ./demo.mp4 \
  "Autonomous coding loop benchmark" \
  --reply "Benchmarked on SWE-bench verified dataset." \
  --submit
  • 時間制限、フォーマット、アップロード状態 → references/video-posts.md

3. 引用ツイート

既存の公開ツイートを引用し、ソース属性を保持したままカスタムコメントを追加します。

# 引用ツイートのプレビュー
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "Important perspective on LLM agents!"

# 引用ツイートを直接公開
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "Strongly agree with this analysis." --submit
  • URL正規化とメニューセレクター → references/quote-tweets.md

4. 長文X記事(Markdown)

見出し、リスト、引用、カバー画像、インライン画像を含むMarkdownドキュメントをX記事に変換します(X Premiumが必要です)。

# フォーマット済み記事ドラフトのプレビュー
bun scripts/x-article.ts ./article.md --cover ./cover.png

# 記事を直接公開
bun scripts/x-article.ts ./article.md --submit
  • Frontmatter構文と画像プレースホルダーの仕組み → references/articles.md

5. 動画翻訳&字幕ワークフロー

外国語の動画ツイートをダウンロードし、Whisperで音声を文字起こし、編集可能な翻訳ファイルを生成し、スタイル付き字幕を焼き付けて、ソース属性を付けて公開します。

# ステップ1: URLを取り込み、翻訳ドラフトを作成(/tmp/x-translate/<id>/translation.md)
bun scripts/x-translate-video.ts https://x.com/username/status/1234567890 --target-lang English

# ステップ2: /tmp/x-translate/<id>/translation.md を編集し、翻訳文とSRTを記述

# ステップ3: 字幕を焼き付けてプレビュー
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md

# ステップ4: 字幕を焼き付けて公開
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md --submit
  • 完全なパイプラインとFFmpeg字幕スタイリング → references/video-translation.md

実行原則と安全性

  1. 常にプレビューを先に: 開発時や手動レビュー中は --submit なしでコマンドを実行してください。
  2. 永続プロファイル: すべてのスクリプトは ~/.local/share/x-browser-profile を共有するため、認証は一度だけ必要です。
  3. ネイティブキーストロークディスパッチ: メディアアセットには、CDPの合成イベントブロックを回避するため、ハードウェアレベルのペーストシミュレーション(copy-to-clipboard.ts + paste-from-clipboard.ts)を使用します。
  4. 問題解決: ログインタイムアウト、クリップボード権限、CDP接続エラーなどについては → references/troubleshooting.md。

関連スキル