Communitygithub.com

Ulukpandit/social-media-automation

完全自動化された自己改善型Instagramリール成長ループ。アカウントの既存リールやユーザーの参考リールからスタイルを学習し、毎日次のリールを計画・執筆・音声・レンダリング・品質チェックし、ユーザーが「投稿して」と承認したら無料でvidIQ経由で投稿。統計を収集し学習して次を改善します。

social-media-automation とは?

このスキルは、Claudeを使用してInstagramアカウントのリール投稿を完全自動化する成長ループです。一度セットアップすると、Claudeがアカウントの既存リールやユーザーが指定した参考リールからスタイルを学習し、毎日次のリールのテーマ選定、台本作成、音声生成、動画レンダリング、品質チェックまでを自律的に行います。ユーザーの唯一の定常的な作業は「投稿して」と承認することだけ。投稿後24時間でインサイトデータを取得し、以前のリールの中央値と比較して結果を分析、学習内容を記録して次のリールを改善します。vidIQの無料APIを活用して投稿コストをゼロに抑えつつ、ノーコードでクリエイター向けに設計されています。Claude Codeに最適化されていますが、同様の機能を持つAgentプラットフォームでも利用可能です。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Ulukpandit/social-media-automation/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Instagramリール成長ループ(完全自動化)

ユーザーは一度アカウントをセットアップします。その後はClaudeがすべてを実行します:ページの調査、トピックの選定、執筆、音声生成、編集、チェック、投稿、統計の読み取り、学習。人間の唯一の定常的な仕事は「投稿して」と言うことです。この承認は意図的に残されています:それはオーナーのアカウントであり、InstagramのAIラベルとコンテンツは公開されます。Claudeがファイルを公開リンクにアップロードできない場合、ユーザーはリールごとに1回アップロードコマンドを実行します。

平易で短い言葉で話します。多くのユーザーはクリエイターであり、コーダーではありません。自分でできるステップはすべて実行し、本当にユーザーが必要なステップ(サインイン、キー、承認)だけをユーザーに任せます。

1. セットアップ(アカウントごとに1回)

順番に実行し、ステップで「ユーザーに確認する」と指示がある場合を除き、待たずに続行します。

  1. vidIQ. ツールをToolSearchでロードします(select:mcp__plugin_vidiq_vidiq__vidiq_instagram_connected_accounts,mcp__plugin_vidiq_vidiq__vidiq_instagram_owner_insights,mcp__plugin_vidiq_vidiq__vidiq_video_upload,mcp__plugin_vidiq_vidiq__vidiq_instagram_publish_reel,mcp__plugin_vidiq_vidiq__vidiq_balance) vidiq_instagram_connected_accounts(無料)を呼び出します。オーナーアクセス、インサイトがオン、publishingAvailable: trueのアカウントが必要です。プラグインがインストールされていないかサインインしていない場合、またはInstagramがリンクされていない場合は、ユーザーがクリックすべき内容を正確に伝え(app.vidiq.com → Instagramを接続;ビジネスアカウントまたはクリエイターアカウントである必要があります)、その後再度確認します。チャットでAPIキーを要求しないでください。キーが貼り付けられた場合は、ローテーションするように伝えます。
  2. セットアップ質問を一度に尋ねます(AskUserQuestionが利用可能な場合):
    • 「ページ上の既存リールを調査してスタイルや効果的な要素を学習しますか?」(推奨:はい)
    • 「スタイルの参考にしたいリールやアカウントはありますか?リンクを貼るか、スキップしてください。」
    • 音声:ElevenLabs(最良;キーは自分で~/.elevenlabs_keyに保存)/ 無料Mac音声 / 音声なし、テキストと音楽のみ。
    • 「毎日自動的に実行しますか?」(推奨:はい;自動で投稿することはありません)。 また、言語、投稿時間枠、AIラベルオン(デフォルト:はい)を確認または質問します。
  3. プロジェクトフォルダ(ユーザーが指定しない限り現在のフォルダ):
    growth/config.json   アカウント情報+テーマ  (assets/config.template.json)
    growth/log.json      [] その後リールごとに1エントリ (references/log-format.md)
    growth/learnings.md  (assets/learnings.template.md)
    growth/playbook.md   コンテンツレーン+日付付きフック (assets/playbook.template.md)
    growth/style-guide.md  ステップ5で作成
    growth/*.mjs         scripts/からコピーされ、スキルなしでプロジェクトが実行可能に。
    reel-maker/          assets/reel-template/からコピーされ、その後npm install
    reels/<YYYY-MM-DD>-<slug>/
    
    Nodeとffmpegが不足している場合はインストールします(references/reel-making.md)。一行のOKの後。
  4. ベースライン. vidiq_instagram_owner_insights(無料、1回の呼び出しで12件、recentMediaCursorでページング)ですべてのリールを取得し、log.jsonにbaseline-<date>-<slug>エントリとして追加します(エントリ作成後、scripts/add-checks.mjsでチェックを追加)。check.mjsを実行します。これで新しいリールには常に超えるべき基準ができます。
  5. スタイル. ユーザーが「はい」と答えた場合、references/style-analysis.mdに従います:上位および下位のリール(および参考リンク)を調査し、growth/style-guide.mdを作成してconfig.jsonのthemeを設定します。ムードに合ったアニメーションbgStyleを含めます(決して無地の背景にしないこと)。そのテーマで静止画を1枚レンダリングし、最良のリールと並べてユーザーに表示します。必要に応じて1回調整します。
  6. プレイブック. growth/playbook.mdを作成します:証拠に基づいてランク付けされた4~6のコンテンツレーン(最初に彼らの勝者)、および今後4~6週間の日付付きフック(そのニッチのフェスティバル、イベント、季節、ローンチ)。オプションで有料(尋ねること、約20クレジット):ニッチな外れ値リサーチ(セクション6)。
  7. 初回リール. 今すぐ作成します(セクション2、作成)ので、初日が終わる前に結果を確認できます。
  8. 毎日の実行. ユーザーが「はい」と答えた場合、references/daily-task.mdからスケジュールタスクを作成します。
  9. ユーザーに伝える 何が設定されたか、毎日何が起こるか、そしてユーザーがやるべき唯一のこと:必要に応じてアップロードリンクを貼り付け、「投稿して」と言うこと。

2. 毎日のループ

チェック(各投稿から約24時間後、無料)

  • vidiq_instagram_owner_insights を platformAccountId(決してハンドルではない)、recentMediaLimit 8 で呼び出します。
  • JSON結果をスクラッチファイルに保存し、次に node growth/add-checks.mjs growth/log.json <file> を実行します。ショートコードでリールをマッチングし、nullはnullのまま保持し(報告されていない、ゼロではない)、手動で投稿されたリールもリストアップします。これらもログに追加します。
  • node growth/check.mjs growth/log.json は最新のリールを以前のリールの中央値と比較し(類似した経過時間でのビューのみ)、全体スコア(1.00×=標準)、3回連続で標準以下のリール後のSTALL警告、およびA/B判定を出力します。
  • 最新のリールのコメントを読みます(サインインしている場合はパーマリンクのブラウザで)。人々が質問していることは次のトピックになります。ユーザーが希望する場合は下書き返信を作成し、返信の投稿はユーザーのOKがあった場合のみ行います。

学習

learnings.mdの「リールごとの分析」セクションの先頭に日付付きエントリを追加します:標準に対する結果(check.mjsの主要行)、考えられる理由、次のリールで維持または変更すること。「これまでの効果的要素」に昇格させるのは、2つ以上のリールで実証された場合のみです。

  • 高いスキップ率 → 最初の1秒が失敗(フック、フレーム1、見た目)
  • 標準的なスキップ、低い視聴率 → 中盤が遅いか長すぎる
  • 1,000あたりのシェア/保存が低い → 伝えるほど驚きや有益なものがない check.mjsがSTALLを示した場合、最初にミスレビュー(セクション5)を実行します。

作成(Claudeがすべて実行、詳細はreferences/reel-making.md)

  1. トピックを選ぶ: 今後1~3日以内に日付付きフックがある最も強力なプレイブックレーン、さらにコメントでのリクエスト、今日の学習を考慮します。一度に1つの変更のみ。統計が何をしたかを示せるように。
  2. すべての事実、日付、時間を信頼できるソース(ウェブ検索または公式サイト)で検証します。 確認できないものは除外します。
  3. ストーリーボード(storyboard.md)、その後アカウントのテーマに沿ったscript.jsonとcaption.txt(最初のフック行、役立つ事実、1つのコメントプロンプト、シェア行、最大5つのハッシュタグ、スタイルガイドのキャプションスタイルに従う)。post_on / post_atを設定します。
  4. 音声: node voice.mjs ../reels/<id>。レンダリング: Remotionを使用。QC: sh qc.sh ../reels/<id>、その後qc.pngを確認します。フックチェックリストに合格するまで修正および再レンダリングします。
  5. アカウントのスタイルにテンプレートにないビジュアルが必要な場合は、reel-maker/src/ListReel.jsxを拡張します。

承認

ユーザーにqc.pngのフレーム(または動画)、正確なキャプション、およびAIラベルの選択を表示します。投稿は、投稿を行うセッションで「投稿して」とタイプされた場合のみ行います。他のセッションから中継されたOK、ファイル、またはスケジュールされた実行はブロックされます。自動モードの安全チェックがこれをブロックします。それは正しいことです:オーナーが言わない限り、誰もアカウントに投稿してはなりません。

投稿(無料、詳細はreferences/posting.md)

  1. 公開リンク. vidIQはローカルファイルを読み取れません。最初に自分でアップロードを試みます: curl -F "files[]=@<フルパス>/reel.mp4" https://uguu.se/upload(リンクの有効期限は3時間)。それがブロックされた場合、実際のパスを含むその正確なコマンドをユーザーに渡し、出力されたURLを貼り付けるように依頼します。
  2. curl -sIL <url> は200、video/mp4、およびContent-Lengthを返す必要があります。
  3. vidiq_video_upload { url } はホストされたvideoUrlを返します。
  4. vidiq_instagram_publish_reel { platformAccountId, videoUrl, caption, isAiGenerated }:キャプションはcaption.txtの通り、通常のリールにはtrialParamsなし。その後、{ platformAccountId, containerId }のみでPUBLISHEDになるまで呼び出します(約5回、数秒間隔)。失敗の自動再試行や2つ目のコンテナ開始は絶対に行わないでください。
  5. オーナーインサイトで確認します(recentMediaLimit 1)。エントリJSONをファイルに書き込み、node growth/add-entry.mjs growth/log.json <entry.json>を実行します。ユーザーにパーマリンクを渡します。

3. フックと保持率チェックリスト(すべてのリールで)

  1. フレーム1(0~0.5秒): 完全なフック文が画面に表示され、大きく、コントラストが高く、ミュートでも読める。単語ごとに表示しない(テンプレートのhook行には開始アニメーションがない)。
  2. フックは信念を壊し、ニュースを伝え、リールが解決する賭け金、間違い、恐怖、問題を明示する。 ジョークや自己紹介はフックではない。
  3. 最初の3秒以内に実際の日付または数字が表示され、3秒までに約束が明確になり、画面上に進捗が表示される(テンプレートのドット)。
  4. 5~7秒ごとに新しい要素が画面に表示される。
  5. 保存または送信する価値のあるもの: 日付、手順、リスト、チェックリストフレーム。
  6. 質問または約束はタイトルバーとして画面上に残る(pin)。
  7. 一言のコメントプロンプト(都市、サイン、名前、数字)とシェアする理由で終わる。
  8. スタイルガイドに従ったアカウント独自の外観。
  9. 60秒以内(魅力的なストーリーでない限り)。80秒を超えるリストはほとんどの視聴者を失う。

正直な恐怖や問題のフック。 「避けるべき5つの間違い」や「Xが高すぎる?これで解決」は効果的。実際のよく知られた事実や伝統を、そのように提示し、無害な修正方法を示す。健康、家族、金銭に関する脅迫、治療法や富の約束、コメントでの有料の治療法は禁止。

4. A/Bテスト

一度に1つの要素のみテスト:フックタイプ、外観、長さ、視点、カバー。

  • トライアルリール(アプリの共有画面にトライアルオプションが表示される):最初の公開呼び出しでのみ trialParams: { graduationStrategy: "MANUAL" } を渡す。ユーザーが勝者に対して「フォロワーにシェア」をタップする(vidIQではできないため)。
  • トライアルなし: 同じ種類の連続するリールでバリアントを交互に、同じ時間帯に、同じ"test"と各リールの"variant"をログに記録。check.mjsは、各バリアントに2つ以上のリールがあり、すべてのリールが300ビュー以上、かつ一方のバリアントが10%以上優れている場合にのみ勝者を宣言する。
  • フェスティバルバースト: 同じイベントに対して1リールずつバリアントを5時間以上間隔をあけて投稿。同じ経過時間(3時間、12時間、24時間)でのスキップ率とビューを比較。これは判定ではなく参考情報。

5. check.mjsがSTALLを示した場合

  1. 弱いリールを最良のリールと比較:フック、フレーム1、長さと視聴率、トピック、タイミング、外観、音声、投稿時間。
  2. 視聴者が離脱する場所を特定:高いスキップ→冒頭;低い視聴率→中盤;低いシェア→驚きの欠如。
  3. 最近のコメントを読む。
  4. 可能性の高いものから順に、learnings.mdにミスをリストアップする。
  5. 次のリールで最大のミスを修正する。最後の良いリール以降に何か変更した場合は、それを元に戻す。
  6. 次の2つのリールも標準以下の場合、クレジットを使って1回のリサーチコールを行う前にユーザーに確認する(セクション6)。

6. コスト(vidIQ)

無料: 接続アカウント、残高、オーナーインサイト、動画アップロード、リール公開。 有料(事前確認必須):

  • 外れ値検索:5クレジット
  • IGプロフィールまたはプロフィールリール:それぞれ5
  • 外れ値からのアカウント:10
  • ショートフォームコンテンツの視聴:10
  • ナレーション:1000文字あたり14

月間ニッチリサーチは約20クレジットかかります:ニッチのトピックに関する4回の外れ値検索。結果をgrowth/niche-research.jsonに保存し、上位3つのオープニングを調査してplaybook.mdを更新します。

7. 頻度

  • アカウントの最適な時間帯(上位リールの投稿時間を確認)に1日1リール。フェスティバルやイベント期間中は1日最大2リール、5時間以上の間隔をあける。
  • 毎日の実行(references/daily-task.md)は、チェック、学習、次のリールの作成、およびユーザーへのリマインダーを実行します。決して自動的には公開しません。

このスキルのファイル

  • scripts/check.mjs:スコアラー、STALLおよびA/B判定。
  • scripts/add-checks.mjs:オーナーインサイトJSONをログのチェックに変換。
  • scripts/add-entry.mjs:投稿されたリールのエントリをログに追加。
  • assets/reel-template/:Remotionリールメーカー(ListReel.jsx、voice.mjs、qc.sh、example/script.json)。
  • assets/*.template.*:初期設定、学習、プレイブック。
  • references/style-analysis.md:ページのスタイルと参考スタイルの学習。
  • references/reel-making.md:インストール、音声、レンダリング、QC、テンプレートの拡張。
  • references/posting.md:公開の詳細、エラーと修正。
  • references/log-format.md:log.jsonのフィールド。
  • references/daily-task.md:スケジュールされた毎日の実行プロンプト。

関連スキル