# エックス (ツイッター) への自動投稿エージェントスキル

> 実際のChromeブラウザを使用して、テキスト、画像、動画、長文記事のエックス (ツイッター)への投稿を自動化します。Codex Chromeプラグイン、コンピューター使用、CDPスクリプトなど、さまざまなモードに対応しています。コンテンツを効率的に共有し始めましょう。

- Canonical: https://nanoskill.ai/ja/skills/post-to-twitter
- Markdown: https://nanoskill.ai/ja/skills/post-to-twitter.md
- Author: JimLiu
- Published: 2026-06-01T07:19:10.429Z
- Updated: 2026-07-25T04:34:26.608Z
- Language: ja
- Source type: github
- Popularity signal: 20040

## Sources

- https://github.com/JimLiu/baoyu-skills

## Install

```shell
npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x
```

## About

エックス (ツイッター) への投稿スキルは、エックス上でのコンテンツ公開を自動化する堅牢なソリューションを提供し、ユーザーがテキスト、画像、動画、長文記事を効率的に共有できるようにします。このツールは、個人ユーザーからコンテンツクリエイター、マーケターまで、ソーシャルメディアでのプレゼンスを合理化したいすべての人のために設計されています。実際のChromeブラウザインスタンスと統合し、エックスのプラットフォームとの互換性を確保しながら、柔軟な制御オプションを提供します。

このスキルは、Codex Chromeプラグイン、Chromeコンピューター使用、CDPスクリプトモードなど、複数のブラウザ制御モードをサポートしている点が際立っています。この適応性により、さまざまなユーザー環境や好みに応じて効果的に機能します。重要な機能として、Markdownファイルから直接詳細なエックス記事を公開する能力があり、カバー画像のアップロードやコンテンツ画像の埋め込みなど複雑なタスクを処理できます。これは、詳細なコンテンツを共有する上で非常に貴重です。

ユーザーは、日々のソーシャルメディア更新の自動化、包括的なブログ投稿やレポートのエックス記事としての公開、他のツイートへの素早い引用やコメントなど、さまざまなシナリオでこのスキルを活用できます。環境が正しく設定されていることを確認するための便利な事前チェックと、トラブルシューティングの明確なガイダンスが含まれており、自動化に不慣れなユーザーでも利用しやすくなっています。

## Key features

- **マルチコンテンツ投稿**: テキスト、画像、動画をX（Twitter）にシームレスに投稿し、さまざまなコンテンツ共有ニーズに応じて異なるメディアタイプを処理します。
- **長文記事の公開**: MarkdownファイルからX記事を公開します。カバー画像や埋め込みコンテンツ画像を含み、詳細な投稿に最適です。
- **柔軟なブラウザ制御モード**: Codex Chromeプラグイン、Chrome Computer Use、CDPスクリプトモードをサポートし、さまざまな実行環境やユーザーの好みに対応します。
- **引用ツイート機能**: 既存のツイートに簡単にコメントを付けて引用でき、プラットフォーム上でのエンゲージメントや議論を促進します。
- **事前環境チェック**: Chrome、Bun、アクセシビリティ権限などの必要な前提条件をチェックするスクリプトが含まれており、問題が発生した場合のガイダンスを提供します。

## Use cases

- **ソーシャルメディアの更新を自動化**: コンテンツクリエイターやマーケターは、手動介入なしでX上でアクティブな存在感を維持するために、テキスト、画像、動画を含む定期的な投稿をスケジュールして自動化できます。
- **詳細なX記事を公開**: ジャーナリスト、ブロガー、アナリストは、Markdownから直接、リッチメディアを含む長文記事を公開して、X上のオーディエンスと詳細なコンテンツを共有できます。
- **効率的に引用してコメント**: ユーザーは迅速にツイートを引用してコメントを追加でき、トレンドトピックや他のユーザーのコンテンツにエンゲージするプロセスを効率化します。

## Result preview

公開準備が整った、関連する画像とハッシュタグ付きのAI生産性ツールに関するツイッター投稿をご覧ください。

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-1.jpg)

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-2.jpg)

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-3.jpg)

## Result walkthrough

### ステップ1：インストール

エージェントにスキルを追加してください。

![a simple demonstration of the first step in using Post to X](https://file.nanoskill.ai/post-to-x-step-1.jpg)

### ステップ2：投稿アイデアを共有

ツイート、画像、動画、記事のアイデアを提供し、エックスでの公開準備をスキルに依頼してください。

![a simple demonstration of the second step in using Post to X](https://file.nanoskill.ai/post-to-x-step-2.jpg)

### ステップ3：公開前にレビュー

生成された投稿をレビューし、公開前に確認してください。

![a simple demonstration of the first step in using Post to X](https://file.nanoskill.ai/post-to-x-step-3.jpg)

## Skill definition

# X（Twitter）への投稿

実際のChromeブラウザ経由で、テキスト、画像、動画、長文記事をXに投稿します。

Codexでは、以下のブラウザパスを混同しないでください：
- **Codex Chromeプラグイン / `@chrome` / Chrome拡張機能**: バンドルされた`chrome:Chrome`スキルとそのNode REPLブラウザクライアントを使用します。ユーザーが「Codex Chromeプラグイン」「Codex 自带的 Chrome 插件」「`@chrome`」などと言った場合に必須です。
- **Chrome Computer Use**: 可視のGoogle Chrome UIに対して`mcp__computer_use__.*`を、ユーザーがComputer Useを要求した場合、またはChromeプラグインの指定がなくComputer Useが利用可能な場合にのみ使用します。
- **CDPスクリプトモード**: 選択したモードが利用できない場合、またはユーザーがCDP/スクリプトモードを明示的に要求した場合のフォールバックとしてのみ使用します。

## スクリプトディレクトリ

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

**エージェント実行手順**:
1. このSKILL.mdファイルのディレクトリパスを`{baseDir}`として決定します。
2. スクリプトパス = `{baseDir}/scripts/<script-name>.ts`
3. このドキュメント内の`{baseDir}`をすべて実際のパスに置き換えます。
4. `${BUN_X}`ランタイムを解決：`bun`がインストールされていれば → `bun`、`npx`が利用可能なら → `npx -y bun`、そうでなければbunのインストールを提案します。

**スクリプト参照**:
| スクリプト | 目的 |
|--------|---------|
| `scripts/x-browser.ts` | 通常の投稿（テキスト＋画像）、CDPフォールバック |
| `scripts/x-video.ts` | 動画投稿（テキスト＋動画）、CDPフォールバック |
| `scripts/x-quote.ts` | 引用ツイート（コメント付き）、CDPフォールバック |
| `scripts/x-article.ts` | 長文記事の公開（Markdown）、CDPフォールバック |
| `scripts/md-to-html.ts` | Markdown → HTML変換 |
| `scripts/copy-to-clipboard.ts` | コンテンツをクリップボードにコピー |
| `scripts/paste-from-clipboard.ts` | 実際の貼り付けキーストロークを送信 |
| `scripts/check-paste-permissions.ts` | 環境と権限を検証 |

## 実行モードの選択（必須）

Xと対話する前に、必ず1つのモードを選択してください：

1. ユーザーがCodex Chromeプラグイン、`@chrome`、Chrome拡張機能、または「Codex 自带的 Chrome 插件」を明示的に要求した場合、**Codex Chromeプラグインモード**を使用します。Computer Useを最初に呼び出さないでください。
2. ユーザーがChrome Computer Useを明示的に要求した場合、**Chrome Computer Useモード**を使用します。ユーザーに伝え承認を得ずに、CDP、Playwright、アプリ内ブラウザ、またはChromeプラグインにフォールバックしないでください。
3. ユーザーがCDP/スクリプトモードを明示的に要求した場合、**CDPスクリプトモード**を使用します。
4. それ以外の場合は、**Chrome Computer Useモード**を優先します。Markdownの**X記事（ローカルコンテンツ画像を含む）**では、テスト済みのXエディターフローを使用します：ツールバーから各本文画像をそのプレースホルダーに挿入し（`Insert` → `Media` → ダイアログのアイコンボタン`Add photos or video`）、その後プレースホルダーテキストを削除します。CDPスクリプトモードは、選択したブラウザ制御モードが利用できない場合、またはUIのアップロード/選択フローが不安定な場合にのみ使用します。

X公開ワークフローでは、アプリ内ブラウザを使用しないでください。

## Codex Chromeプラグインモード

ユーザーがCodex Chromeプラグイン、`@chrome`、またはChrome拡張機能のパスを要求した場合は常にこのモードを使用します。これは、Computer UseやCDPではなく、バンドルされたChromeプラグインを介してユーザーの実際のChromeプロファイルとXログインを使用します。

**セットアップ**
1. ブラウザ作業の前に`chrome:Chrome`スキルを読み込みます。
2. Node REPL `js`ツールがまだ表示されていない場合は、`tool_search`で`node_repl js`を検索します。
3. Chromeスキルの指定どおりにChromeブラウザクライアントを初期化し、`browser.user.openTabs()`のような軽量な呼び出しを実行して拡張機能の接続を確認します。
4. 最初の軽量呼び出しが失敗した場合は、2秒待ってから再試行します。それでも失敗する場合は、Chromeスキルの拡張機能チェックと回復手順に従います。チェックに合格しても通信がまだ失敗する場合は、新しいChromeウィンドウを開く前にユーザーに尋ねてください。サイレントにComputer UseやCDPに切り替えないでください。

**一般ルール**
- Chromeプラグインの`browser.tabs.*`、`tab.playwright.*`、`tab.cua.*`、およびファイルチューザーAPIをXのUIアクションに使用します。
- シェルコマンドは、Markdownの前処理とリッチHTMLのクリップボード準備に使用できます。X記事の本文画像では、画像のクリップボード貼り付けに依存せず、エディターの`Insert` → `Media`アップロードフローを使用してください。
- ファイルアップロードが`Not allowed`で失敗した場合は、ユーザーに次のように伝えます：`ファイルのアップロードを有効にするには、Chromeでchrome://extensionsに移動し、Codex拡張機能の下の「詳細」をクリックして、「ファイルのURLへのアクセスを許可する」を有効にしてください。詳細はhttps://developers.openai.com/codex/app/chrome-extension#upload-files を参照してください。`
- Chromeプラグインが`native pipe is closed`と報告した場合は、2秒後にもう一度軽量ブラウザ呼び出しを再試行し、次にChromeスキルのヘルスチェックを実行します。Chromeが実行中で、拡張機能が有効になっており、ネイティブホストマニフェストが正しい場合は、新しいChromeウィンドウを開いて再試行する許可を求めます。壊れたパイプを通してブラウザアクションを送り続けないでください。
- 現在の会話でユーザーからの明示的な最終確認なしに、`Publish`、`Post`、または外部から見える送信アクションをクリックしないでください。

**X記事**
1. Markdownを変換し、イメージマップを保持します：
   ```bash
   ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
   ```
2. JSON出力から`title`、`coverImage`、`contentImages`（`placeholder` → `localPath`）を読み取ります。
3. `https://x.com/compose/articles`で記事の下書きを開くか作成します。
4. Chromeプラグインのファイルチューザーフローでカバー画像をアップロードします。アップロードが拡張機能の権限によってブロックされる場合は、停止して上記の正確な権限修正方法を報告します。
5. タイトルを入力し、リッチHTMLをコピーします：
   ```bash
   ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
   ```
6. Chromeプラグインを介して実際の貼り付けキーストロークで記事本文に貼り付けます。macOSでは`Meta+V`を使用します。
7. エディターテキストに記事本文と`XIMGPH_`プレースホルダーが含まれていることを確認します。シェルのクリップボード書き込み後に、システムクリップボードの証明として`tab.clipboard.readText()`に依存しないでください。macOSでは必要に応じて`pbpaste`で確認します。
8. 各`contentImages`項目をプレースホルダー順に処理します：
   - 可視のプレースホルダーテキスト（`XIMGPH_N`）を見つけてクリックし、そこにキャレットを配置します。
   - ツールバーメニュー`Insert` → `Media`を開きます。
   - モーダル内で、`aria-label="Add photos or video"`のアイコンボタンをクリックします。テキスト/ドロップゾーンや非表示のファイル入力をクリックしないでください。
   - ファイルチューザーを使用して、その画像の`localPath`をアップロードします。
   - 画像が表示された後、その上に`XIMGPH_N`が残っている場合は、そのプレースホルダーを正確に選択して最初に`Delete`を押します。`Delete`が失敗し、選択されたテキストが正確にプレースホルダーであることが確認された場合にのみ`Backspace`を使用します。
   - その`XIMGPH_N`のプレースホルダー数が`0`であることを確認します。
9. プレビューを開き、タイトル、カバー、本文、リンク、画像を確認します。
10. `Publish`をクリックする前に明示的な確認を求めます。

## 設定（EXTEND.md）

優先順にEXTEND.mdを確認します — 最初に見つかったものが優先されます：

| 優先順位 | パス | スコープ |
|----------|------|-------|
| 1 | `.baoyu-skills/baoyu-post-to-x/EXTEND.md` | プロジェクト |
| 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.md` | XDG |
| 3 | `$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md` | ユーザーホーム |

見つからない場合は、デフォルトを使用します。

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

## 前提条件

- Google ChromeまたはChromium
- `bun`ランタイム
- 初回実行時：手動でXにログイン（セッションが保存されます）

## プリフライトチェック（オプション）

初回使用前に、環境チェックを実行することをお勧めします。ユーザーが希望する場合はスキップできます。

```bash
${BUN_X} {baseDir}/scripts/check-paste-permissions.ts
```

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

**いずれかのチェックが失敗した場合**、項目ごとに修正ガイダンスを提供します：

| チェック | 修正 |
|-------|-----|
| Chrome | Chromeをインストールするか、環境変数`X_BROWSER_CHROME_PATH`を設定します |
| プロファイルディレクトリ | `baoyu-skills/chrome-profile`の共有プロファイル（CLAUDE.mdのChromeプロファイルセクションを参照） |
| Bunランタイム | `brew install oven-sh/bun/bun`（macOS）または`npm install -g bun` |
| アクセシビリティ（macOS） | システム設定 → プライバシーとセキュリティ → アクセシビリティ → ターミナルアプリを有効にする |
| クリップボードコピー | Swift/AppKitが利用可能であることを確認（macOS Xcode CLIツール：`xcode-select --install`） |
| 貼り付けキーストローク（macOS） | 上記のアクセシビリティ修正と同じ |
| 貼り付けキーストローク（Linux） | `xdotool`（X11）または`ydotool`（Wayland）をインストールします |

## 参照

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

---

## Chrome Computer Useモード

ユーザーがChrome Computer Useを明示的に要求した場合、またはChromeプラグインの指定がなくCodexがComputer Useで`Google Chrome`を制御できる場合にこのモードを使用します。既存のChromeウィンドウ、Cookie、ログイン、拡張機能、Xセッションを使用します。

**一般ルール**:
- Chromeを制御するアシスタントの各ターンで、`Google Chrome`に対して`get_app_state`を呼び出して開始します。
- 可能な場合は要素インデックスアクションを優先します。座標はエディターテキストの選択やドラッグ選択にのみ使用します。
- ユーザーがモード変更を承認しない限り、このモードでX UIアクションにアプリ内ブラウザ、Chromeプラグイン、Playwright、CDPを使用しないでください。
- 現在の会話でユーザーからの明示的な最終確認なしに、`Publish`、`Post`、または外部から見える送信アクションをクリックしないでください。

**通常の投稿**:
1. Chromeで`https://x.com/compose/post`を開くか移動します。
2. Computer Useを使用して、投稿テキストをコンポーザーに入力します。
3. 各画像に対して次を実行します：
   ```bash
   ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts image /absolute/path/to/image.png
   ```
4. Computer Useで貼り付け（macOSでは`super+v`、Windows/Linuxでは`control+v`）、Xがメディアのアップロードを完了するまで待ちます。
5. `Post`をクリックする前に確認を求めます。

**動画投稿**:
1. Chromeで`https://x.com/compose/post`を開くか移動します。
2. 投稿テキストをコンポーザーに入力します。
3. 可視のメディアアップロード/ファイルピッカーUIを使用して動画を添付します。
4. アップロードと処理が完了するのを待ちます。
5. `Post`をクリックする前に確認を求めます。

**引用ツイート**:
1. ChromeでツイートURLを開きます。
2. 可視の引用/リポストUIを使用して引用を選択します。
3. コメントを入力します。
4. `Post`をクリックする前に確認を求めます。

**X記事**:
1. Markdownを変換し、イメージマップを保持します：
   ```bash
   ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
   ```
2. JSON出力から`title`、`coverImage`、`contentImages`（`placeholder` → `localPath`）を読み取ります。
3. Chromeで`https://x.com/compose/articles`を開き、下書きを作成または開き、カバーがある場合はアップロードし、タイトルを入力します。
4. リッチHTMLをクリップボードにコピーします：
   ```bash
   ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
   ```
5. Computer Useで記事本文に貼り付けます。
6. 各`contentImages`エントリをプレースホルダー順に処理します：
   - 正確な可視プレースホルダーテキスト（例：`XIMGPH_3`）を見つけてクリックし、挿入ポイントを設定します。
   - ツールバーの`Insert`ドロップダウンを開き、`Media`を選択し、モーダルの`Add photos or video`というラベルのアイコンボタンをクリックします。
   - ネイティブファイルピッカーを使用して画像の`localPath`を選択します。
   - 画像ブロックが表示され、アップロードアクティビティが終了するまで待ちます。
   - 挿入された画像の上にプレースホルダーが残っている場合は、そのプレースホルダーテキストを正確に再選択し、まず`Delete`を押します。`Delete`が失敗し、選択されたテキストが正確にプレースホルダーであることが確認された場合にのみ`Backspace`を使用します。
7. `XIMGPH_`プレースホルダーが残っておらず、予想される画像が表示されることを確認します。
8. プレビューを開き、タイトル、カバー、本文、リンク、画像を確認します。
9. `Publish`をクリックする前に明示的な確認を求めます。

Computer Useの選択、ツールバーのアップロード、またはファイルピッカーの制御が信頼できなくなった場合は、サイレントにChromeプラグインやCDPに切り替えるのではなく、停止してブロッカーを報告します。

---

## CDPスクリプトモード（フォールバック）

以下のスクリプトセクションは、選択したブラウザ制御モードが利用できない、信頼できない、または明示的に要求されていない場合にのみ使用します。これらのスクリプトは、CDP経由で実際のChromeインスタンスを起動または再利用し、レビューのためにブラウザを開いたままにします。

ユーザーがCodex ChromeプラグインまたはChrome Computer Useを明示的に要求している場合、ブロッカーを説明してユーザーがフォールバックを承認しない限り、CDPスクリプトモードを使用しないでください。

---

## 投稿タイプの選択

ユーザーが投稿タイプを明示的に指定しない限り：
- **プレーンテキスト** + 10,000文字以内 → **通常の投稿**（プレミアム会員は最大10,000文字、非プレミアムは280文字）
- **Markdownファイル**（.md） → **X記事**

## 通常の投稿

```bash
${BUN_X} {baseDir}/scripts/x-browser.ts "Hello!" --image ./photo.png
```

**パラメータ**:
| パラメータ | 説明 |
|-----------|-------------|
| `<text>` | 投稿内容（位置指定） |
| `--image <path>` | 画像ファイル（繰り返し可能、最大4枚） |
| `--profile <dir>` | カスタムChromeプロファイル |

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

**Codexモードに関する注記**: ユーザーがCodex Chromeプラグインを明示的に要求した場合、**Codex Chromeプラグインモード**を使用します。それ以外の場合、Chrome Computer Useが有効であれば、`x-browser.ts`を実行する代わりに**Chrome Computer Useモード**を使用します。

---

## 動画投稿

テキスト＋動画ファイル。

```bash
${BUN_X} {baseDir}/scripts/x-video.ts "Check this out!" --video ./clip.mp4
```

**パラメータ**:
| パラメータ | 説明 |
|-----------|-------------|
| `<text>` | 投稿内容（位置指定） |
| `--video <path>` | 動画ファイル（MP4、MOV、WebM） |
| `--profile <dir>` | カスタムChromeプロファイル |

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

**Codexモードに関する注記**: ユーザーがCodex Chromeプラグインを明示的に要求した場合、**Codex Chromeプラグインモード**を使用します。それ以外の場合、Chrome Computer Useが有効であれば、`x-video.ts`を実行する代わりに**Chrome Computer Useモード**を使用します。

**制限**: 通常は最大140秒、プレミアムは最大60分。処理時間：30〜60秒。

---

## 引用ツイート

既存のツイートにコメントを付けて引用します。

```bash
${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"
```

**パラメータ**:
| パラメータ | 説明 |
|-----------|-------------|
| `<tweet-url>` | 引用するURL（位置指定） |
| `<comment>` | コメントテキスト（位置指定、オプション） |
| `--profile <dir>` | カスタムChromeプロファイル |

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

**Codexモードに関する注記**: ユーザーがCodex Chromeプラグインを明示的に要求した場合、**Codex Chromeプラグインモード**を使用します。それ以外の場合、Chrome Computer Useが有効であれば、`x-quote.ts`を実行する代わりに**Chrome Computer Useモード**を使用します。

---

## X記事

長文のMarkdown記事（X Premiumが必要）。

```bash
${BUN_X} {baseDir}/scripts/x-article.ts article.md
${BUN_X} {baseDir}/scripts/x-article.ts article.md --cover ./cover.jpg
```

**パラメータ**:
| パラメータ | 説明 |
|-----------|-------------|
| `<markdown>` | Markdownファイル（位置指定） |
| `--cover <path>` | カバー画像 |
| `--title <text>` | タイトルを上書き |

**フロントマター**: YAMLフロントマターで`title`と`cover_image`がサポートされています。

**Codexモードに関する注記**: ユーザーがCodex Chromeプラグインを明示的に要求した場合、上記の**Codex Chromeプラグインモード**に従います。Chrome Computer Useを明示的に要求した場合は、**Chrome Computer Useモード**に従います。それ以外の場合はChrome Computer Useを優先します。ローカルコンテンツ画像を含むMarkdown記事では、ツールバーの`Insert` → `Media`画像アップロードワークフローを使用してから、**CDPスクリプトモード**の`x-article.ts`にフォールバックします。

**CDPフォールバックに関する注記**: スクリプトは記事が入力された状態でブラウザを開きます。`--submit`が使用されない限り、ユーザーが確認して手動で公開します。

**公開の安全性**: ユーザーが最終的な公開アクションを明示的に確認しない限り、`--submit`を使用したり`Publish`をクリックしたりしないでください。

**ポストコンポジションチェック**: すべての画像が挿入された後、スクリプトは自動的に次のことを検証します：
- エディターコンテンツ内に残っている`XIMGPH_`プレースホルダー
- 予想される画像数と実際の画像数

チェックが失敗した場合（出力に警告）、公開前に具体的な問題をユーザーに警告します。

---

## トラブルシューティング

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

CDPフォールバックのみ：スクリプトが`Chrome debug port not ready`または`Unable to connect`で失敗した場合、まず既存のChrome CDPインスタンスを強制終了してから再試行します：

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

**重要**: これは自動的に行う必要があります — このエラーが発生した場合、ユーザーに尋ねずにChrome CDPインスタンスを強制終了してコマンドを再試行します。

## 注意事項

- 初回実行時：手動ログインが必要です（セッションは永続化されます）
- Codex ChromeプラグインモードおよびChrome Computer Useモードでは、ユーザーの既存のChromeセッションを使用し、別のCDPプロファイルを起動しないでください
- CDPスクリプトはデフォルトでブラウザにコンテンツを入力するだけです。`--submit`が明示的に使用されない限り、ユーザーが確認して手動で公開する必要があります
- クロスプラットフォーム：macOS、Linux、Windows

## 拡張サポート

EXTEND.mdによるカスタム設定。パスとサポートされるオプションについては**設定**セクションを参照してください。

## FAQ

### このスキルを使ってXに投稿できるコンテンツの種類は何ですか？

通常のテキスト更新、画像、動画、Markdownファイルから作成された長文X記事（旧Twitter記事）を投稿できます。包括的なコンテンツ共有のために、さまざまなメディアタイプをサポートしています。

### このスキルはX記事をサポートしていますか、また要件は何ですか？

はい、MarkdownからのX記事をサポートしています。カバー画像やコンテンツ画像を含めることができます。X記事の公開には通常、Xプレミアムサブスクリプションが必要です。

### 利用可能なブラウザ制御モードにはどのようなものがありますか？

このスキルは主に3つのモードを提供します：Codex Chromeプラグインモード、Chrome Computer Useモード、CDPスクリプトモードです。選択は環境や特定の要件によって異なり、Computer Useが推奨されるデフォルトです。

### 「Post to X」スキルをインストールするにはどうすればよいですか？

コマンド \`npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x\` を使用してスキルをインストールできます。\`bun\` または \`npx\` がインストールされていることを確認してください。

### Xに投稿を公開する前に手動レビューは必要ですか？

デフォルトでは、スキルはブラウザにコンテンツを入力し、手動でレビューして公開する必要があります。CDPスクリプトの \`--submit\` オプションは、最終的な公開のために明示的なユーザー確認がある場合にのみ使用する必要があります。

### 「Chrome debug port not ready」エラーが発生した場合、どうすればよいですか？

このエラーがCDPフォールバックモードで発生した場合、既存のChrome CDPインスタンスを終了してコマンドを再試行する必要があります。スキルはこれを自動的に試行するように設計されています。
