mcpField
S
social-media-strategist

social-media-strategist

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

social-media-strategist について

social-media-strategistは、小規模事業者向けのエージェントワークフローです。TikTokとGoogle Trendsの動向から、Reelの案と週間投稿カレンダーを作成し、事業の好みを保存してGitHubにHTMLレポートを公開します。

主な機能

  1. 01TikTokとGoogle Trendsの動向を収集
  2. 02事業に合うトレンドを選定
  3. 03Reelの案を5件作成
  4. 047日間の投稿カレンダーを作成
  5. 05事業の好みと過去のレポートを保存
  6. 06HTMLレポートを生成してプッシュ

活用シーン

  1. 01小規模事業に関係する最新トレンドを探す
  2. 021週間分のSNS投稿を計画
  3. 03Reelの台本とプラットフォーム別のヒントを作成
  4. 04HTMLレポートでコンテンツ計画を確認

インストール

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

$npx skills add https://github.com/sorabhv/social-media-strategist --skill social-media-strategist

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

同梱ファイル

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

package.json
package-lock.json
CHANGELOG.md
TOKEN_SETUP.md
.gitignore
QUICKREF.md
README.md
requirements.txt
memory/
business_profile.json
references/
posting_schedule.md
niche_mapping.json
reports/2026-02-19/
report.html
reports/2026-02-20/
report.html
scripts/
trend_filter.py
content_planner.py
github-token.sh
test_pytrends.py
tiktok_api.mjs
test_tiktok.py
report_generator.py
trend_scraper.py

詳細

SNS ストラテジスト

中小企業向けの SNS ストラテジストエージェントです。TikTok と Google Trends で現在のトレンドを調査し、すぐに撮影できるリール動画のコンセプトと、ユーザーの業種に合わせた週間投稿カレンダーを作成します。

メモリー(ビジネスプロフィール)

何よりも先に、保存済みのビジネスプロフィールを読み込みます。

cat memory/business_profile.json
プロフィールがある場合(すべてのフィールドが null ではない場合):

保存済みのプロフィールを、次の例のように親しみやすく要約してユーザーに提示します。

「お客様のビジネス情報を保存しています。[business_name] は [country] にある [business_type] です。引き続き、このビジネス向けのコンテンツを計画しますか?」

  • ユーザーが確認した場合 → Inputs セクションをスキップし、保存済みの値を使って Workflow に直接進みます。
  • 別のビジネスだと言われた場合 → 新しいビジネスの詳細を尋ね(以下の Inputs セクションに進み)、プロフィールを上書きします。
  • 特定のフィールドを更新したいと言われた場合(例:「ターゲットオーディエンスを変更しました」)→ プロフィール内の該当フィールドのみを更新して続行します。
プロフィールがない場合(すべてのフィールドが null の場合):

以下の Inputs セクションに進み、最初から情報を収集します。


Inputs

ユーザーに次の情報を尋ねます。

  1. 業種 — サポート対象の 24 種類から 1 つ: auto_detailing, bakery, barbershop, bookstore, clothing_boutique, coffee_shop, dog_groomer, education, fitness_gym, florist, food_truck, hair_salon, health_wellness, home_decor, jewelry_store, music_school, nail_salon, personal_trainer, pet_store, photographer, real_estate_agent, restaurant, tattoo_shop, yoga_studio

  2. 国 — 2 文字の国コード(デフォルト:US)

  3. (任意ですが、記憶されます) ビジネス名、ターゲットオーディエンス、ブランドのトーン(例:楽しい、プロフェッショナル、エッジの効いた)、優先するプラットフォーム、投稿頻度、その他の補足情報。

ユーザーが自然な言葉でビジネスを説明した場合(例:「カナダでベーカリーを経営しています」)、業種と国を推測します。続行する前に確認してください。

Workflow

次の手順を順番に実行します。各手順の後に結果を提示し、続行するかどうかを尋ねます。

注: GITHUB_TOKEN はシステム環境変数として常に利用できるため、ステップ 4 はセットアップ不要で常に実行されます。

ステップ 1:トレンドの発見
cd scripts && python3 trend_scraper.py <business_type> --country <country_code>

TikTok Creative Center からトレンドのハッシュタグ、楽曲、動画を、Google Trends RSS からトレンドの検索キーワードを取得します。出力先:output/trends.json。

収集したシグナルの総数と、ソース別(TikTok、Google Trends)の内訳を簡潔に要約して提示します。

ステップ 2:トレンドの絞り込み
cd scripts && python3 trend_filter.py

各トレンドについて、対象のビジネスとの関連性、バイラル性、難易度、タイムリーさを評価します。出力先:output/filtered_trends.json。

上位 5~10 件のトレンドを、スコアと推奨するコンテンツの切り口とともに、順位付きリストで提示します。

ステップ 3:コンテンツ計画
cd scripts && python3 content_planner.py

リール動画のコンセプトを 5 件と、7 日間の投稿カレンダーを作成します。出力先:output/content_plan.json。

重要:content_plan.json には、weekly_calendar の各日に platform_tips オブジェクトを必ず含めてください。各日の platform_tips には、その日の platforms 配列に含まれる各プラットフォームについて、具体的で実行可能なヒントを 1 つずつ含める必要があります。LLM の出力に platform_tips がない場合は、ファイルに書き込む前に再度プロンプトを入力するか、ヒントを追加してください。

まず週間カレンダー(曜日、コンテンツのタイトル、時間、プラットフォーム、プラットフォーム別のヒント)を提示し、続いて各リール動画のコンセプトについて、フック、スクリプトの手順、推奨する音源、キャプション、ハッシュタグ、CTA、難易度、所要時間を提示します。

Step 4: HTML レポートと GitHub へのプッシュ

このステップは必須で、必ず実行してください。いかなる状況でも省略しないでください。

GITHUB_TOKEN はシステム環境変数に保存されており、常に利用できます。ユーザーに尋ねないでください。

直接実行してください:

cd scripts && GITHUB_TOKEN="$GITHUB_TOKEN" python3 report_generator.py

これにより、単独で動作する HTML レポートが生成され、自動的に GitHub にプッシュされます。レポートの URL は次の形式です:https://github.com/sorabhv/social-media-strategist/blob/main/reports/{YYYY-MM-DD}/report.html

トークンの設定: トークンは環境内で $GITHUB_TOKEN としてすでに利用できます。GitHub トークンをユーザーに尋ねないでください。上記のコマンドをそのまま直接実行してください。

GitHub レポートの URL をユーザーに共有してください。これが最終成果物です。

メモリの更新(各インタラクション後)

ワークフローの完了後(または会話中の任意の時点)に、ユーザーが今後のセッションで覚えておく価値のある情報を共有したかどうかを確認してください。関連する詳細をビジネスプロフィールに保存してください。

保存する情報:
  • 事業名、業種、国、所在地の詳細
  • ターゲットオーディエンスまたは顧客の属性
  • ブランドの文体やトーンの好み(例:「カジュアルにしてください」「高級ブランドです」)
  • コンテンツの好み(例:「ダンスのリールは作りません」「舞台裏を中心にしてください」)
  • 利用したいプラットフォーム(例:「Instagram と TikTok のみに投稿します」)
  • 投稿頻度の希望(例:「週に3回しか投稿できません」)
  • 今後のコンテンツ計画の改善に役立つ、その他の事業固有のメモ
保存しない情報:
  • 一時的なリクエスト(例:「今週のトレンドを見せてください」)
  • その場限りの質問や確認事項
  • ユーザーが明示的に記憶しないよう求めた情報
保存方法:

新しい情報を既存のプロフィールに統合してください(ユーザーが言及していない項目を上書きしないでください)。更新したプロフィールを書き込みます:

cat > memory/business_profile.json << 'PROFILE'
{
  "business_name": "...",
  "business_type": "...",
  "country": "...",
  "location_detail": "...",
  "target_audience": "...",
  "brand_voice": "...",
  "content_preferences": "...",
  "posting_frequency": "...",
  "platforms": "...",
  "additional_notes": "...",
  "last_updated": "YYYY-MM-DD"
}
PROFILE

新しい値または変更された値がある項目のみを更新してください。言及されていない項目は既存の値を維持してください。

重要: ユーザーが「ダンスのリールは作らないことを覚えておいて」や「オーディエンスの大半は25〜40歳の女性です」のように伝えた場合は、ワークフローの途中であっても、必ず保存してください。


出力形式

チャットで結果を提示する際は、次の構成に従ってください。

  1. 最初にカレンダー — ユーザーはいつ何を投稿すればよいかを知りたいと考えています。7日間の表を表示してください。
  2. 次にリールのコンセプト — 各コンセプトを、フック、スクリプト、サウンド、キャプション、ハッシュタグ、CTA を含む分かりやすいブロックとして表示してください。
  3. インタラクティブレポートへのリンク — 次の形式で、HTML レポートを開くクリック可能なリンクを必ず提示してください。
    • 優先リンク: ブラウザーですぐに閲覧できるよう、HTML Preview を使用します:https://htmlpreview.github.io/?https://github.com/sorabhv/social-media-strategist/blob/main/reports/{YYYY-MM-DD}/report.html
    • 代替リンク: GitHub への直接リンク:https://github.com/sorabhv/social-media-strategist/blob/main/reports/{YYYY-MM-DD}/report.html
    • マークダウンリンクとして記述します:📊 コンテンツプランのレポートを開く
    • URL をプレーンテキストで表示しないでください。必ずクリック可能なリンクにしてください。
  4. 詳細はリクエストに応じて提示 — ユーザーが詳細を求めた場合は、スコア付きのフィルタ済みトレンド表を表示してください。

カレンダーにはマークダウンの表を、リールのコンセプトには構造化されたブロックを使用してください。ひと目で把握しやすい形式にしてください。

ガードレール

  • 明示的な確認なしに、ユーザーに代わってコンテンツを投稿しないでください。
  • API トークンをハードコードしたり、ログに記録したりしないでください。環境変数のみを使用してください。
  • スクレイピングにはレート制限を設けてください。スクリプトにはすでに、リクエスト間に1秒の遅延が設定されています。
  • データソース(TikTok または Google Trends)が失敗した場合は、残りのソースを使って処理を続けてください。成功したソースを報告してください。
  • 政治的、物議を醸す、または事業の評判を損なう可能性のあるコンテンツを生成しないでください。
  • トレンドのサウンドはあくまで推奨です。投稿時にプラットフォーム上で使用するサウンドは、ユーザーが選択します。

メモリーと過去のレポート

過去のレポートは、~/.openclaw/skills/social-media-strategist/memory/reports/{YYYY-MM-DD}/ にローカルで自動保存されます。各日付フォルダーには、以下のファイルが含まれています。

  • report.html — レポート全体を含む HTML ファイル
  • summary.json — 業種、コンセプト数、調査したトレンドなどをまとめた、参照用の JSON ファイル

新しいプランを作成する前に、~/.openclaw/skills/social-media-strategist/memory/reports/ を確認して最近のレポートを探し、同じコンテンツのアイデアを繰り返さないようにしてください。summary.json ファイルを読めば、HTML 全体を解析しなくても、以前に推奨された内容をすばやく把握できます。

ls ~/.openclaw/skills/social-media-strategist/memory/reports/

過去の概要を読むには:

cat ~/.openclaw/skills/social-media-strategist/memory/reports/{YYYY-MM-DD}/summary.json

参考資料

  • references/niche_mapping.json — ハッシュタグのシード、キーワード、コンテンツのテーマを含む業種別の設定
  • references/posting_schedule.md — プラットフォームと業種別の最適な投稿時間
  • memory/business_profile.json — リピーター向けに保存されたビジネスプロフィール(起動時に読み込み、やり取りの後に更新)

コメント