x-post について
Publora を通じて X の投稿を作成・予約するスキルです。メディアに対応し、長文を自動でスレッドに分割でき、エージェント連携のワークフローで投稿や下書きを管理できます。
主な機能
- 01投稿の作成と予約
- 02長文のスレッド分割
- 03画像や動画の添付
- 04下書きと予約投稿の管理
- 05投稿の更新と削除
活用シーン
- 01X の告知を予約
- 02長文をスレッドとして投稿
- 03投稿への画像添付
- 04予約投稿の修正
MCP 対応
`https://mcp.publora.com/mcp` の Publora MCP サーバーに接続し、X の投稿を作成・管理します。REST API による代替手段も記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ publora/ skills --skill x-postインストール後、Claude Code で/x-postを入力して読み込まれたか確認します。
詳細
X/Twitterの投稿
Publora MCP サーバーを使用して、X(Twitter)への投稿を作成、予約できます。テキスト投稿、画像(最大4枚)、動画に対応し、長文コンテンツは自動的にスレッドに分割します。
前提条件
プラン: 有料プランが必要です(X API の料金は別途請求されます)。現在の上限と料金については、publora.com/pricingをご覧ください。
重要: Twitter API の料金が発生するため、X/Twitter は無料の Starter プランでは利用できません。
はじめに
- publora.com/registerでアカウントを作成します。
- Pro または Premium プランを選択します(X/Twitter の利用には有料プランが必要です)。
- Publora Dashboardで OAuth を使用してX/Twitter を接続します。
- app.publora.com/dashboard/apiでAPI キーを取得します。エージェントが OAuth でサインインできない場合、または以下の REST API フォールバックを使用する場合にのみ必要です。
https://mcp.publora.com/mcpの MCP サーバーにエージェントを接続します。/mcpを付けずに手動で接続した場合の更新方法: Claude はhttps://mcp.publora.comをバンドル版とは別のサーバーとして扱います。現在のスコープで既存の接続先をhttps://mcp.publora.com/mcpに変更し、認証情報と選択済みのアカウントをそのまま維持してください。要求された場合は、再度サインインします。または、バンドル版の接続先で意図したアカウントが使用されていることを確認してから、古い手動エントリーだけを削除してください。2つ目のエントリーを追加したり、認証情報を自動的に削除したりしないでください。- Publora ツールがすでに利用可能な場合(
publora-skillsプラグインまたは Claude の Publora コネクター):設定は不要です。初めてツールを実行するときに、Claude が Publora へのサインインを求めます。 - OAuth に対応するエージェント(Claude Code、Cursor、Claude アプリ、ChatGPT アプリ):サーバーを URL で追加してサインインすれば、API キーは不要です。Claude Code では、サーバーを追加してから
/mcpを実行してサインインします。
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp
- OAuth に対応していないエージェント: API キーを
Authorization: Bearer sk_YOUR_API_KEYとして送信します。
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp \
--header "Authorization: Bearer sk_YOUR_API_KEY"
Claude Desktop、Cursor、Codex、OpenClaw、claude.ai コネクターでは、それぞれ異なる設定ファイルまたは手順が必要です。正確なパスとコード例については、クライアントの設定をご覧ください。
REST API フォールバック
MCP を利用できない場合は、REST API を直接使用します。
ベース URL: https://api.publora.com/api/v1
認証: x-publora-key ヘッダー
# Get connected platforms
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# Create a post
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["twitter-123456789"],
"content": "Your tweet content",
"scheduledTime": "2026-03-25T10:00:00Z"
}'
プラットフォーム ID の形式: twitter-{id}(例:twitter-123456789)
📖 ドキュメント: docs.publora.com
プラットフォームの制限
| 機能 | API の上限 | 備考 |
|---|---|---|
| 文字数 | 280 | 絵文字は2文字としてカウントされます |
| 画像 | 最大4枚 | 自動的に PNG に変換されます(幅は最大1000px) |
| 動画の長さ | 2 min 20 s (140 s) | Publora は X の動画を140秒で検証します |
| 動画サイズ | 512 MB | MP4、MOV 形式 |
| スレッド化 | 自動 | 280文字を超えるコンテンツは (1/N) マーカーを付けて分割されます |
文字数のカウント
X には固有の文字数カウント規則があります。Publora が自動的に処理します。
- 通常の文字=1文字
- 絵文字=2文字
- URL は文字列の長さどおりにカウントされます
- スレッドマーカーは各ツイートで10文字分を確保します
スレッドの自動作成
コンテンツが280文字を超えると、Publora は自動的に連続したスレッドを作成します。
- コンテンツは段落の区切り、次に文の区切り、最後に単語の区切りで分割されます。
- 各パートに
(1/N)、(2/N)形式の番号が付けられます。 - X の
reply_to_idパラメーターを使用して、ツイートが連結されます。
手動でスレッドを分割する
スレッドの区切りを指定するには、単独の行に --- を記述します。
This is my first tweet in the thread.
---
This is my second tweet in the thread.
---
And this is my third tweet!
利用可能なツール
create_post
新しいX/Twitter投稿またはスレッドを作成します。
パラメーター:
platforms:X接続IDの配列(例:["twitter-12345678"])content:投稿テキスト(280文字を超えると自動的にスレッド化されます)scheduledTime:ISO 8601形式のUTC日時。省略可:省略すると、投稿は下書きとして作成されます。未来の日時を指定すると予約投稿されます。5分以上前の日時はSCHEDULED_TIME_IN_PASTで拒否されるため、すぐに投稿する場合は現在時刻に1分を加えた時刻を指定してください。mediaUrls:最大10件の公開https画像または動画URL。Publoraはサーバー側でダウンロードし、検証前に添付するため、メディアの添付と予約投稿を1回の呼び出しで行えます。下書きの作成後にget_upload_url、続けてcomplete_mediaを呼び出すフローに代わる、1回で完了する方法です。取り込みは1時間あたり60件のURLに制限されています。
get_upload_url
メディアのアップロード用に、署名付きURLを取得します。
パラメーター:
postGroupId:メディアを添付する投稿IDfileName:ファイル名(例:"image.png"、"video.mp4")contentType:image/png、image/jpeg、video/mp4type:"image"または"video"
complete_media
署名付きPUTが成功した後、get_upload_urlでアップロードしたファイルを確定します。予約投稿時にも保留中のメディアが確定されるため省略可能ですが、先に呼び出すことで公開前に形式やプローブのエラーを確認できます。mediaUrlsで添付したメディアには不要です。
パラメーター:
mediaId:get_upload_urlから返されたID
list_connections
接続済みアカウントとそのプラットフォームIDを一覧表示します。最初にこれを呼び出し、IDをそのままコピーしてください。IDを推測することはできません。
list_posts / get_post / update_post / delete_post
予約投稿と下書きを管理します。update_postでは、下書きまたは予約投稿のcontentとplatformsも更新できるため、誤字の修正や投稿先の変更のために削除して作り直す必要はありません。delete_mediaとprune_media_referenceを使うと、アップロード済みファイルをクリーンアップできます。
例
シンプルなツイート
Post this to X:
"Just shipped our new API documentation. Check it out!"
画像付きツイート
Post this to Twitter with screenshots of the new dashboard:
"Before and after our redesign. What do you think?"
注:画像は最大4枚まで使用できます。すべての画像は自動的にPNGに変換されます。
長文スレッド
Create a Twitter thread:
"Thread: 5 lessons from building our startup
---
1. Ship early, iterate fast. We launched with a buggy MVP and improved based on real feedback.
---
2. Talk to users daily. Our best features came from customer conversations.
---
3. Focus beats features. We killed 3 products to focus on the one that worked."
予約投稿ツイート
Schedule this for tomorrow at 9 AM:
"Monday motivation: Start before you're ready."
重要な制限事項
-
Proプランが必要:Twitter APIのコストにより、X/Twitterは無料のStarterプランの対象外です。
-
動画の長さは140秒まで:PubloraはXの動画を2分20秒(140秒)までとして検証します。これを超える動画は検証に失敗します。
-
画像の自動変換:アップロード前にすべての画像がPNG(幅は最大1000px)に変換されます。アニメーションGIFは動かなくなります。
-
画像と動画の混在不可:ツイートには画像か動画のどちらかを添付できます。両方は添付できません。
-
メディアは最初のツイートにのみ添付:スレッドでは、画像や動画は最初のツイートにのみ添付されます。
ベストプラクティス
コンテンツ
- 1行目にフックを置く:エンゲージメントの大半は最初のツイートで発生します
- 最適なスレッドの長さ:エンゲージメントを高めるには3~7件のツイートが最適です
- 絵文字に注意する:絵文字は2文字として数えられることを忘れないでください
タイミング
- 最適な時間帯:対象のタイムゾーンで午前8~10時、午後12~1時、午後5~6時
- 頻度:成長を促すには1日3~5件のツイート
- スレッド:最大限の視認性を得るには、午前中に投稿してください
エンゲージメント
- 最初の1時間以内にコメントへ返信します
- 自分のスレッドを引用ツイートして視認性を高めます
- 関連性の高いハッシュタグを使用します(ツイート1件につき1~2個)
トラブルシューティング
| エラー | 原因 | 解決策 |
|---|---|---|
| "X/Twitter requires Pro plan" | Starterプランを使用している | publora.com/settingsでProにアップグレードします |
| "Content too long" | 280文字を超えており、スレッド化に失敗した | ---を手動で挿入して区切ります |
| "Video too long" | 140秒を超えている | 動画を2分20秒未満に編集します |
| "Too many images" | 画像が4枚を超えている | 4枚以下に減らします |
| "Rate limit exceeded" | X APIの制限に達した | しばらく待ってから再試行します |