mcpField
T
tuzi-post-to-x

tuzi-post-to-x

github.com/tuziapiマーケティング・グロース39158 回インストール27 週間前に更新
リポジトリ

tuzi-post-to-x について

tuzi-post-to-x は、Chrome を通じて X の投稿や長文記事を準備するスキルです。テキスト、画像、動画、引用投稿、Markdown 記事に対応し、ブラウザーに入力した内容を確認して手動で公開します。

主な機能

  1. 01画像 4 枚までのテキスト投稿を準備
  2. 02動画投稿を準備
  3. 03コメント付き引用投稿を作成
  4. 04カバー画像付き Markdown 記事を作成
  5. 05環境とペースト権限を確認

活用シーン

  1. 01X 用の画像投稿を下書き
  2. 02確認用の動画投稿を準備
  3. 03Markdown 文書を X 記事にまとめる

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tuziapi/tuzi-skills --skill tuzi-post-to-x

インストール後、Claude Code で/tuzi-post-to-xを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
articles.md
regular-posts.md
scripts/
check-paste-permissions.ts
copy-to-clipboard.ts
md-to-html.ts
package.json
paste-from-clipboard.ts
x-article.ts
x-browser.ts
x-quote.ts
x-utils.ts
x-video.ts

詳細

X(Twitter)への投稿

実際の Chrome ブラウザーを介して、テキスト、画像、動画、長文記事を X に投稿します(ボット対策検出を回避します)。

スクリプトディレクトリ

重要:すべてのスクリプトは、このスキルの scripts/ サブディレクトリにあります。

エージェントの実行手順:

  1. この SKILL.md ファイルのディレクトリパスを SKILL_DIR として特定します
  2. スクリプトのパス = ${SKILL_DIR}/scripts/<script-name>.ts
  3. このドキュメント内の ${SKILL_DIR} をすべて実際のパスに置き換えます

スクリプト一覧:

スクリプト用途
scripts/x-browser.ts通常の投稿(テキスト+画像)
scripts/x-video.ts動画の投稿(テキスト+動画)
scripts/x-quote.tsコメント付き引用投稿
scripts/x-article.ts長文記事の公開(Markdown)
scripts/md-to-html.tsMarkdown → HTML 変換
scripts/copy-to-clipboard.tsコンテンツをクリップボードにコピー
scripts/paste-from-clipboard.ts実際の貼り付けキー入力を送信
scripts/check-paste-permissions.ts環境と権限を確認

設定(EXTEND.md)

Bash を使って EXTEND.md の有無を次の優先順位で確認します:

# Check project-level first
test -f .tuzi-skills/tuzi-post-to-x/EXTEND.md && echo "project"

# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.tuzi-skills/tuzi-post-to-x/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .tuzi-skills/tuzi-post-to-x/EXTEND.md │ プロジェクトディレクトリ │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.tuzi-skills/tuzi-post-to-x/EXTEND.md │ ユーザーホーム │ └──────────────────────────────────────────────────┴───────────────────┘

┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 結果 │ アクション │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 見つかった │ 読み込み、解析し、設定を適用 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 見つからない │ デフォルトを使用 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘

EXTEND.md がサポートする項目:デフォルトの Chrome プロファイル

前提条件

  • Google Chrome または Chromium
  • bun ランタイム
  • 初回実行時:X に手動でログインします(セッションは保存されます)

事前チェック(任意)

初回使用前に、環境チェックの実行を提案してください。ユーザーは希望する場合、スキップできます。

npx -y bun ${SKILL_DIR}/scripts/check-paste-permissions.ts

チェック項目:Chrome、プロファイルの分離、Bun、アクセシビリティ、クリップボード、貼り付けキー入力、Chrome の競合。

チェックに失敗した場合は、項目ごとに修正方法を案内します:

チェック修正方法
ChromeChrome をインストールするか、X_BROWSER_CHROME_PATH 環境変数を設定します
プロファイルディレクトリ~/.local/share/x-browser-profile に書き込み可能であることを確認します
Bun ランタイムcurl -fsSL https://bun.sh/install | bash
アクセシビリティ(macOS)システム設定 → プライバシーとセキュリティ → アクセシビリティ → ターミナルアプリを有効にします
クリップボードへのコピーSwift/AppKit が利用可能であることを確認します(macOS Xcode CLI ツール:xcode-select --install)
貼り付けキー入力(macOS)上記のアクセシビリティの修正と同じです
貼り付けキー入力(Linux)xdotool(X11)または ydotool(Wayland)をインストールします

参考資料

  • 通常の投稿:手動ワークフロー、トラブルシューティング、技術的な詳細については references/regular-posts.md を参照してください
  • X 記事:長文記事の公開ガイドについては references/articles.md を参照してください

通常の投稿

テキスト+最大 4 枚の画像。

npx -y bun ${SKILL_DIR}/scripts/x-browser.ts "Hello!" --image ./photo.png

パラメーター:

パラメーター説明
<text>投稿内容(位置引数)
--image <path>画像ファイル(複数指定可、最大 4 件)
--profile <dir>カスタム Chrome プロファイル

注:スクリプトは内容を入力した状態でブラウザーを開きます。ユーザーが確認して手動で公開します。


動画投稿

テキスト+動画ファイルです。

npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Check this out!" --video ./clip.mp4

パラメーター:

パラメーター説明
<text>投稿内容(位置引数)
--video <path>動画ファイル(MP4、MOV、WebM)
--profile <dir>カスタム Chrome プロファイル

注: スクリプトは内容を入力した状態でブラウザーを開きます。ユーザーが確認して手動で公開します。

制限: 通常は最大 140 秒、Premium は最大 60 分です。処理時間:30~60 秒。


引用ツイート

既存のツイートをコメント付きで引用します。

npx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"

パラメーター:

パラメーター説明
<tweet-url>引用する URL(位置引数)
<comment>コメント文(位置引数、省略可)
--profile <dir>カスタム Chrome プロファイル

注: スクリプトは内容を入力した状態でブラウザーを開きます。ユーザーが確認して手動で公開します。


X 記事

長文の Markdown 記事です(X Premium が必要です)。

npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --cover ./cover.jpg

パラメーター:

パラメーター説明
<markdown>Markdown ファイル(位置引数)
--cover <path>カバー画像
--title <text>タイトルを上書き

フロントマター: YAML フロントマターで title、cover_image をサポートしています。

注: スクリプトは記事を入力した状態でブラウザーを開きます。ユーザーが確認して手動で公開します。

投稿作成後のチェック: すべての画像を挿入した後、スクリプトは次の項目を自動的に確認します。

  • エディターのコンテンツに残っている XIMGPH_ プレースホルダー
  • 想定される画像数と実際の画像数

チェックに失敗した場合(出力に警告が表示された場合)は、公開前に具体的な問題をユーザーに知らせてください。


トラブルシューティング

Chrome のデバッグポートが準備できていない

スクリプトが Chrome debug port not ready または Unable to connect で失敗した場合は、まず既存の Chrome CDP インスタンスを終了してから、再試行してください。

pkill -f "Chrome.*remote-debugging-port" 2>/dev/null; pkill -f "Chromium.*remote-debugging-port" 2>/dev/null; sleep 2

重要: これは自動的に行う必要があります。このエラーが発生した場合は、ユーザーに確認せずに Chrome CDP インスタンスを終了し、コマンドを再試行してください。

注記

  • 初回実行時:手動ログインが必要です(セッションは保持されます)
  • すべてのスクリプトはブラウザーに内容を入力するだけです。ユーザーが確認して手動で公開する必要があります
  • クロスプラットフォーム:macOS、Linux、Windows

拡張機能のサポート

EXTEND.md を使用してカスタム設定ができます。パスとサポートされるオプションについては、Preferences セクションを参照してください。

コメント