mcpField
C
canghe-post-to-x

canghe-post-to-x

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

canghe-post-to-x について

skills互換エージェント向けに、実際のChromeブラウザーでXの投稿内容を準備するスキルです。テキストやメディア、長文を入力し、公開前にユーザーが確認して手動で投稿します。

主な機能

  1. 01最大4枚の画像付き投稿
  2. 02動画投稿の準備
  3. 03コメント付き引用ポスト
  4. 04Markdown記事の投稿
  5. 05Chromeプロファイルの指定

活用シーン

  1. 01画像付きX投稿の準備
  2. 02動画をXに投稿する準備
  3. 03既存ポストへのコメント付き引用
  4. 04Markdown記事からX長文を作成

インストール

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

$npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-post-to-x

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

同梱ファイル

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

references/
articles.md
regular-posts.md
scripts/
bun.lock
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 に投稿

実際の 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 .canghe-skills/canghe-post-to-x/EXTEND.md && echo "project"

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

┌──────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-post-to-x/EXTEND.md │ プロジェクトディレクトリ │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-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 tools: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 をサポートしています。

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


トラブルシューティング

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 セクションを参照してください。

コメント