tuzi-post-to-x について
tuzi-post-to-x は、Chrome を通じて X の投稿や長文記事を準備するスキルです。テキスト、画像、動画、引用投稿、Markdown 記事に対応し、ブラウザーに入力した内容を確認して手動で公開します。
主な機能
- 01画像 4 枚までのテキスト投稿を準備
- 02動画投稿を準備
- 03コメント付き引用投稿を作成
- 04カバー画像付き Markdown 記事を作成
- 05環境とペースト権限を確認
活用シーン
- 01X 用の画像投稿を下書き
- 02確認用の動画投稿を準備
- 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.mdregular-posts.mdscripts/check-paste-permissions.tscopy-to-clipboard.tsmd-to-html.tspackage.jsonpaste-from-clipboard.tsx-article.tsx-browser.tsx-quote.tsx-utils.tsx-video.ts詳細
X(Twitter)への投稿
実際の Chrome ブラウザーを介して、テキスト、画像、動画、長文記事を X に投稿します(ボット対策検出を回避します)。
スクリプトディレクトリ
重要:すべてのスクリプトは、このスキルの scripts/ サブディレクトリにあります。
エージェントの実行手順:
- この SKILL.md ファイルのディレクトリパスを
SKILL_DIRとして特定します - スクリプトのパス =
${SKILL_DIR}/scripts/<script-name>.ts - このドキュメント内の
${SKILL_DIR}をすべて実際のパスに置き換えます
スクリプト一覧:
| スクリプト | 用途 |
|---|---|
scripts/x-browser.ts | 通常の投稿(テキスト+画像) |
scripts/x-video.ts | 動画の投稿(テキスト+動画) |
scripts/x-quote.ts | コメント付き引用投稿 |
scripts/x-article.ts | 長文記事の公開(Markdown) |
scripts/md-to-html.ts | Markdown → 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 の競合。
チェックに失敗した場合は、項目ごとに修正方法を案内します:
| チェック | 修正方法 |
|---|---|
| Chrome | Chrome をインストールするか、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 セクションを参照してください。