mcpField
S
schedule-social

schedule-social

github.com/indranilbanerjeeマーケティング・グロース913125 回インストール今日更新
リポジトリ

schedule-social について

複数のプラットフォームに向けてソーシャル投稿を調整し、予約するマーケティングスキルです。各プラットフォームに合わせた文案を作成し、接続済みのソーシャル MCP サーバー経由で予約する前に明示的な承認を求めます。

主な機能

  1. 01プラットフォーム別の投稿案
  2. 02投稿時間の推奨
  3. 03ハッシュタグ分析
  4. 04ブランドトーンとコンプライアンスの確認
  5. 05メディア素材の検証
  6. 06承認後の投稿予約

活用シーン

  1. 01複数プラットフォーム用に一つの概要を展開
  2. 02プラットフォームの制限に合わせて文案を調整
  3. 03承認済みキャンペーン投稿を予約
  4. 04公開前に素材を確認

MCP 対応

対象プラットフォームをカバーするソーシャル MCP サーバーの接続を確認し、投稿の送信と予約状況の検証に使用します。予約前にユーザーの明示的な承認が必要です。

インストール

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

$npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill schedule-social

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

詳細

/digital-marketing-pro:schedule-social

スクリプトの場所。 ホストで ${CLAUDE_PLUGIN_ROOT} が設定されていない場合、スクリプトはこのプラグインの scripts/ フォルダー(skills/ と同じ階層)にあります。Python 3.10 以降で実行してください。python が見つからない場合は、python3 を使用してください(macOS、多くの Linux システム)。

目的

プラットフォームごとの書式、最適な投稿時間、ハッシュタグ戦略、エンゲージメント監視の設定を活用して、1 つ以上のプラットフォームにソーシャルメディアの投稿を予約します。単一のコンテンツ概要から複数のプラットフォームへの配信に対応し、各プラットフォームの文字数制限、メディア仕様、オーディエンスの慣習に合わせたバリエーションを作成しながら、すべてのチャネルで中心となるメッセージを維持します。

実行ゲート(必須 — 省略不可)

  1. ライブシステムに触れる前に、受信者/費用/変更内容/コンプライアンスを含む全プレビューを実行サマリーとして提示します。
  2. ユーザーが yes(または同等の明示的な承認)を入力する必要があります。それ以外の入力(曖昧、暗示的、一部のみの承認、または承認なし)はすべて実行をキャンセルします。
  3. 曖昧な入力に基づいて処理を進めてはいけません。失敗した実行を自動で再試行してはいけません。再実行の前に人による確認が必要です。
  4. ユーザーが yes を入力した後に限り、次のコマンドを実行して記録します。python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"schedule-social","platform":"<platform>","content_summary":"<実行サマリーからの1行>","risk_level":"<tier>"}'、続いて python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}。どちらかのコマンドでエラーが発生した場合は、停止してエラーを報告します。別のツールで回避してはいけません。この記録は、このアクションに対して承認手順が実行されたことを証明しますが、誰が yes と入力したかは証明できません。
  5. 実行します。connector_executor.py 経由で送信する書き込みには --approval-id が必要で、一致する未使用かつ有効期限内の記録がある場合に限り実行されます(/digital-marketing-pro:execute-action を参照)。接続済みの MCP サーバーツール経由の書き込みは、このコードによるチェックの対象外です。入力された yes と、ホストの権限確認に依存します。その後、python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}' を実行します(または failure を指定します)。

入力必須項目

ユーザーは次の情報を提供する必要があります(または、入力を求められます)。

  • 投稿内容:メッセージの本文と、含める画像、動画、カルーセル素材、リンク。全プラットフォーム共通の下書き、またはプラットフォームごとに作成済みのバリエーションを指定できます
  • 対象プラットフォーム:投稿先のプラットフォーム。Twitter/X、Instagram(フィード、ストーリーズ、リール)、LinkedIn(投稿または記事)、TikTok、YouTube(ショートまたはコミュニティ)、Pinterestから選択します。対応する MCP サーバーが接続されている必要があります
  • 投稿日時:各プラットフォームのタイムゾーンを含む具体的な日時、またはオーディエンスのエンゲージメントパターンに基づくデータ主導のタイミング推奨を使用する「最適」
  • ハッシュタグ:使用するハッシュタグ、候補を自動提案するためのトピック、またはコンテンツ分析、トレンドのタグ、ブランドのハッシュタグ戦略に基づいてハッシュタグを生成する「自動」
  • プラットフォーム固有の調整:プラットフォームごとの調整。コピーの長さ、画像やアスペクト比、CTA、トーンの調整、またはプラットフォーム固有の機能(Instagramのアンケート、LinkedInのドキュメントカルーセル、Twitter/Xのスレッド)などを指定できます
  • リンクとUTMパラメーター:アトリビューション用のUTMトラッキングパラメーター(source、medium、campaign、content)付きのURL、またはブランドプロフィールのキャンペーン命名規則に基づいて自動生成するUTM
  • メディア素材:プラットフォームごとのアスペクト比の希望を含む画像ファイルまたはURL、長さの要件に適合した動画ファイル、または投稿順のカルーセル画像セット
  • エンゲージメントの指示:返信のモニタリングを設定するか、コメントへの返信ガイドライン、エンゲージメント促進の条件(エンゲージメントがしきい値を超えた場合に宣伝する)、クロスポストのルールなど
  • コンテンツカレンダーのコンテキスト:任意。カレンダーでの追跡や、投稿スケジュール全体を通したテーマの一貫性を保つための、投稿が属するキャンペーン名またはコンテンツの柱
  • アクセシビリティ要件:画像の代替テキスト、動画のキャプションまたは字幕ファイル、アクセシビリティに配慮した書式設定(平易な表現、コントラストの高いテキストオーバーレイなど)
  • 最初のコメントまたはスレッド:任意。メインの投稿直後に投稿するフォローアップコメント(ハッシュタグ用のInstagramの最初のコメント、Twitter/Xのスレッドの続き、LinkedInでのエンゲージメントを促すコメント)
  • 地域ターゲティング:任意。プラットフォームが対応している場合、特定の地域や言語に投稿の表示を限定します(LinkedInの地域ターゲティング、Facebookの位置情報ターゲティング)
  • クロスプロモーションの参照先:任意。投稿に含める、他のプラットフォーム上の関連コンテンツへの参照(例:「YouTubeで動画の全編を見る」または「ブログで記事の全文を読む」)
  • メンションとタグ付け:任意。各プラットフォームのタグ付けルールに従って、投稿内で@メンションまたはタグ付けするアカウント(パートナー、協力者、インフルエンサー、紹介する顧客)

プロセス

  1. ブランドのコンテキストを読み込む:アクティブなスラッグを確認するために ~/.claude-marketing/brands/_active-brand.json を読み込み、次に ~/.claude-marketing/brands/{slug}/profile.json を読み込みます。ブランドの声、対象市場向けのコンプライアンスルール(skills/context-engine/compliance-rules.md)、業界のコンテキストを適用します。また、~/.claude-marketing/brands/{slug}/guidelines/_manifest.json にガイドラインがあるか確認し、存在する場合は制約を読み込みます。~/.claude-marketing/sops/ に代理店の SOP があるかも確認します。ブランドが存在しない場合は、「まずブランドを設定しますか(/digital-marketing-pro:brand-setup)?」と尋ねるか、デフォルト設定で続行します。
  2. 接続されているソーシャル MCP を確認する:どのソーシャルメディアプラットフォームの MCP サーバーが接続されているかを確認し、ユーザーが対象とするすべてのプラットフォームに対応していることを確認します。不足している接続があれば、設定手順とともに一覧表示します。各プラットフォームの API 権限にスケジュール機能が含まれていることを確認します。
  3. プラットフォームの仕様に合わせてコンテンツを整える:各プラットフォームの要件に合わせてコンテンツを調整します。文字数制限(Twitter/X:280、LinkedIn:3,000、Instagram:2,200、TikTok:2,200、Pinterest:500)、画像サイズ(1:1、4:5、9:16、16:9)、動画の長さ制限、カルーセルのスライド数上限、リンクプレビューの動作については、skills/context-engine/platform-publishing-specs.md を参照します。プラットフォーム間で同一のコンテンツを共有できない場合は、それぞれに合わせたバリエーションを作成します。
  4. 投稿時刻を最適化する — まずはブランドのデータを使用:ブランドに投稿単位のエンゲージメント履歴(プラットフォーム分析からエクスポートした、各投稿のタイムスタンプとエンゲージメント)がある場合は、JSON ファイルに書き出し、python "${CLAUDE_PLUGIN_ROOT}/scripts/posting-time-analyzer.py" --platform {platform} --history {file} を実行します。独自データに基づく時間帯がサンプル数とともに順位付けされて出力され、高い信頼度を得られる推奨はこれだけです。履歴がない場合は、--platform {platform} --industry {industry} --audience-type {b2b|b2c|mixed} を指定して実行し、日付付きの全体集団のベースラインを取得します(出力には baseline_as_of と上限が中程度に制限されることが示されます。ベースラインが古い場合は終了コード 3 で処理が拒否されるため、更新するか履歴を指定してください)。出力の algorithm_note を必ず提示します。興味に基づくフィードでは、タイミングよりコンテンツの質が重要です。オーディエンスのタイムゾーン分布も考慮します。
  5. ハッシュタグを分析して最適化する:hashtag-analyzer.py を実行し、候補のハッシュタグについて、リーチの可能性、競合度、関連性スコア、トレンド状況を評価します。プラットフォームごとの適切な数(Instagram:15~20、Twitter/X:2~3、LinkedIn:3~5、TikTok:4~6、Pinterest:キーワードタグとして2~5)に合わせて、ブランド、ニッチなコミュニティ、幅広いリーチ向けのハッシュタグをバランスよく組み合わせて提案します。
  6. ブランドの声に対するコンテンツのスコアを算出する:各プラットフォーム向けのバリエーションに brand-voice-scorer.py を実行し、ブランドのトーン、語彙、メッセージングのガイドラインに沿っているか確認します。ブランドの最低スコアを下回るバリエーションにはフラグを立て、具体的な修正案を提示します。
  7. プラットフォームごとのバリエーションを作成する:ユーザーがプラットフォームごとの文面を明示的に指定していない場合は、それぞれに適したバリエーションを生成します。Twitter/X 向けは短く力強く、LinkedIn 向けはプロフェッショナルで洞察を重視し、Instagram 向けは改行を活用したビジュアル優先のキャプションに、TikTok 向けはトレンドを意識したカジュアルな文面に、Pinterest 向けはキーワードを豊富に含め、縦長の画像に合わせます。核となるメッセージと CTA はすべてで維持しながら、各プラットフォーム固有の文体に合わせて調整します。
  8. メディアアセットを検証する:すべての画像と動画が各プラットフォームの要件(サイズ、アスペクト比、ファイルサイズ上限、動画の長さ、形式。画像は JPEG/PNG、動画は MP4)を満たしているか確認します。サイズ変更や形式変換が必要なアセットにはフラグを立て、プラットフォームごとに最適なトリミングを提案します。
  9. 承認レコードを作成する:approval-manager.py --action create-approval を使ってレコードを作成し、リスクレベルは --data の JSON 内に含めます。{"type":"schedule-social","platform":"<platform>","content_summary":"...","risk_level":"medium"}。--risk-level フラグはありません。正確なコマンドについては、上記の実行ゲートを参照してください。各プラットフォームの投稿内容、メディアプレビュー、ハッシュタグ、投稿時刻、UTM タグ付きリンク、ブランドの声のスコアをまとめたスケジュール概要を作成します。
  10. スケジュール概要を提示する:ユーザーが確認できるよう、複数のプラットフォームを含むスケジュール全体を表示します。プラットフォームごとにセクションを分け、文字数付きの最終文面、サイズを記載したメディア添付ファイル、ハッシュタグ、タイムゾーン付きの投稿時刻、プラットフォーム固有の注記や警告を示します。明示的な承認を待ちます。
  11. 各プラットフォームの MCP 経由でスケジュールする:承認後、接続されている MCP サーバーを通じて各投稿を対象プラットフォームに送信します。プラットフォーム固有のスケジュール API、メディアのアップロード、ハッシュタグの書式、リンクの短縮に対応します。各プラットフォームのスケジュール状況を個別に確認します。
  12. スケジュール状況を検証する:スケジュール後、各プラットフォームの API に問い合わせ、投稿が正しい時刻に正しい内容でキューに登録されていることを確認します。スケジュールの失敗、コンテンツの切り捨て、メディアのアップロードエラーがあればフラグを立てます。書き込みがプラットフォームに到達していないことが確実な場合(接続拒否、DNS エラー、または 429 のレート制限による拒否)に限り再試行します。タイムアウトや応答の消失後は、まずプラットフォーム上で該当レコードを確認し(投稿はすでにプラットフォームのキューに入っているか)、不足しているものだけを再スケジュールします。それ以外の場合はエスカレーションします。
  13. 最初のコメントやスレッドをスケジュールする:最初のコメントの内容が提供されている場合は、該当する各プラットフォームでメイン投稿の公開直後に投稿されるよう、後続のコメントまたはスレッドの続きをキューに登録します。
  14. コンテンツカレンダーを更新する:複数チャネルでの可視性を確保し、重複を防ぐため、キャンペーン名、コンテンツの柱、プラットフォーム、投稿時刻を含め、スケジュールした投稿をブランドのコンテンツカレンダーに記録します。
  15. プラットフォームごとに実行を記録する:各プラットフォームについて execution-tracker.py を実行し、タイムスタンプ、プラットフォーム、スケジュールした投稿時刻、コンテンツの概要、ハッシュタグ、UTM パラメーター、メディアアセットの参照情報とともに、スケジュールの実行イベントを記録します。

出力

以下を含む、構造化された投稿スケジュール確認情報です。

  • 予約投稿の確認:プラットフォームごとの確認情報。投稿 ID、タイムゾーン付きの予約日時、利用可能な場合はプレビューリンクまたは下書き URL を含みます
  • プラットフォーム固有のコンテンツ:各プラットフォームの最終投稿文。文字数と上限、ハッシュタグの位置(本文内またはコメント)、メディア添付ファイルの寸法、UTM タグ付きリンクを示します
  • 投稿時間とその根拠:データに基づく根拠を添えたプラットフォームごとの予約時間。過去のエンゲージメントのピーク時間、オーディエンスのタイムゾーンとの整合性、競合投稿時間帯の分析、またはユーザー指定の時間を示します
  • ハッシュタグの推奨:根拠となる指標を添えた、プラットフォームごとの最終ハッシュタグセット。ハッシュタグごとの推定リーチ、競合レベル、トレンド状況、関連性スコアを含みます
  • ブランドボイスのスコア:プラットフォームごとの適合スコア。バリエーション作成時に行ったトーン調整に関するメモと、残っている推奨事項を含みます
  • メディア仕様への準拠:すべての画像と動画が、寸法、ファイルサイズ、形式、アスペクト比、動画の長さに関するプラットフォーム要件を満たしていることの確認。適用したトリミングや調整も含みます
  • UTM トラッキングの概要:Google Analytics またはブランドの分析プラットフォームでアトリビューションを追跡するための、プラットフォームごとの完全な UTM パラメーター(source、medium、campaign、content)
  • クロスプラットフォーム連携メモ:投稿時間をずらす場合の投稿順序の根拠と、プラットフォーム間の相互プロモーションに関する参照(例:「YouTube で動画全編を視聴」というリンクを Twitter/X の投稿に掲載)
  • アクセシビリティへの準拠:すべての画像への代替テキストの適用、動画へのキャプションファイルの添付、プラットフォーム全体でアクセシブルなコンテンツになっているかの平易な言葉による確認
  • 最初のコメントまたはスレッドのステータス:プラットフォームごとのフォローアップコメントの予約確認。コンテンツのプレビューと投稿タイミング(メイン投稿の直後)を含みます
  • コンテンツカレンダーへの登録:ブランドの公開スケジュールとの相互参照に使うキャンペーン名、コンテンツの柱、カレンダー上の日付
  • メンションとタグの適用状況:プラットフォームごとに含めたすべての @メンションとアカウントタグの確認、およびハンドルの検証状況
  • 実行ログの記録:監査証跡、コンテンツカレンダーとの同期、チャネル間のスケジュール調整のための、プラットフォームごとのタイムスタンプ付き記録

使用するエージェント

  • social-media-manager — プラットフォームの慣例に沿ったコンテンツの書式設定、投稿時間の最適化、ハッシュタグ戦略と分析、ブランドボイスのスコアリング、プラットフォーム固有のバリエーション作成、メディアアセットの検証、アクセシビリティへの準拠、最初のコメントの予約、エンゲージメントモニタリングの設定
  • execution-coordinator — 承認ワークフロー、MCP サーバー経由での複数プラットフォームへの投稿予約の実行、プラットフォームごとのステータス確認、最初のコメントとスレッドのキュー登録、コンテンツカレンダーの更新、プラットフォームに到達しなかったことが確実に証明された書き込みに限った再試行、プラットフォームごとの実行ログ記録

コメント