Communitygithub.com

Ulukpandit/social-media-automation

全自動、自我改進的 Instagram Reels 成長循環,適用於任何帳號。Claude 透過學習頁面上的現有 Reels(以及用戶喜歡的參考 Reels)來掌握風格,接著每天自主規劃、撰寫、配音、渲染並品質檢查下一支 Reel;用戶說「發布」後,透過 vidIQ 免費發布;24 小時後拉取該 Reel 的統計數據,與帳號典型 Reel 比較,記錄學習成果,讓下一支 Reel 更好。包含設定與主題。

social-media-automation 是什麼?

這是一套完整的 Instagram Reels 自動化成長循環技能。Claude 會先分析帳號上現有的 Reels 以及用戶提供的參考影片,學習其風格與主題。之後每天自動進行:規劃主題、撰寫腳本、生成語音、使用 Remotion 渲染影片、執行品質檢查,並在用戶批准「發布」後透過 vidIQ 免費上傳。發布後 24 小時,系統會自動拉取該 Reel 的觀看、分享、儲存等統計數據,與帳號的歷史中位數比較,記錄學習點到 learnings.md 中,據此優化下一支 Reel。 技能支援 igdb、Claude Code、Cline 等平台,設定只需一次,包含建立專案資料夾、抓取基準數據、生成風格指南與內容行事曆。日常循環包含檢查(使用 owner_insights 免費 API)、學習(分析跳出率與留存率原因)、製作(腳本、語音、渲染、QC)、用戶批准與發布(vidIQ 免費)。內建掛鉤與留存檢查清單、A/B 測試機制、以及當連續 3 支 Reels 低於典型時的主動停滯處理流程。因此,用戶只需每日執行「發布」按鈕一鍵操作,其餘皆由 AI 自主完成,大幅降低創作者的手動工作負擔。 整體設計以安全性為優先:用戶需手動輸入「post it」才能發布,避免自動發布風險。支援 Mac 語音或 ElevenLabs 配音,每月花費約 20 個 vidIQ 積分進行利基研究。

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Ulukpandit/social-media-automation/tree/HEAD

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Instagram Reels 成長循環,全自動化

使用者只需設定帳號一次。之後 Claude 負責所有工作:研究頁面、挑選主題、撰寫、配音、剪輯、檢查、發布、讀取統計數據並學習。人類唯一的常規工作就是說 「發布」。這個批准環節是刻意保留的:這是帳號擁有者的帳號,Instagram 的 AI 標籤和內容都是公開的。如果 Claude 不允許將檔案上傳到公開連結,使用者還需要對每支 Reel 執行一次上傳指令。

請用簡短、口語化的詞彙溝通。許多使用者是創作者,而非程式設計師。盡可能自己完成每個步驟,只有在真正需要使用者介入時(登入、密鑰、批准)才將步驟交給使用者。

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):
    • 「我應該研究你頁面上現有的 Reels 來學習你的風格和哪些內容有效嗎?」(建議:是)
    • 「有沒有任何你喜歡的 Reels 或帳號風格?請貼上連結,或跳過。」
    • 語音:ElevenLabs(最佳;使用者會自行將金鑰儲存到 ~/.elevenlabs_key)/ 免費 Mac 語音 / 無語音,僅文字與音樂。
    • 「我應該每天自動執行這個流程嗎?」(建議:是;它永遠不會自行發布)。 同時確認或詢問:語言、發布時間區間、AI 標籤是否開啟(預設開啟)。
  3. 專案資料夾(目前資料夾,除非使用者指定名稱):
    growth/config.json   帳號事實 + 主題   (assets/config.template.json)
    growth/log.json      [] 然後每支 Reel 一條記錄 (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)。
  4. 基準線。 使用 vidiq_instagram_owner_insights(免費,每次呼叫 12 筆,使用 recentMediaCursor 分頁)拉取所有 Reels,將它們作為 baseline-<date>-<slug> 條目加入 log.json(每個條目一次檢查,在寫入條目後執行 scripts/add-checks.mjs),然後執行 check.mjs。現在每支新 Reel 都有可以超越的目標。
  5. 風格。 如果使用者說「是」,請遵循 references/style-analysis.md:研究最佳和最差的 Reels(以及任何參考連結),撰寫 growth/style-guide.md,並在 config.json 中填入 theme,包含一個符合情緒的動態 bgStyle(絕不能用純色背景)。渲染一張該主題的靜態圖片,並將其顯示給使用者,放在他們最好的 Reel 旁邊。如果使用者想要,調整一次。
  6. 行事曆。 填入 growth/playbook.md:4–6 個內容類別,按證據強度排序(他們的熱門內容優先),以及未來 4–6 週內附日期的主題鉤子(他們領域內的節日、活動、季節、新品發布)。可選且付費(詢問,約 20 點數):利基離群值研究(第 6 節)。
  7. 第一支 Reel。 立即製作(第 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 <檔案>。它會透過短代碼比對 Reels,將 null 保留為 null(尚未回報,非零),並列出使用者手動發布的 Reels。同時將這些 Reels 加入記錄檔。
  • node growth/check.mjs growth/log.json 會將最新的 Reel 與較早 Reels 的中位數進行比較(僅比較相似時間點的觀看次數),給出總體分數(1.00× = 典型)、在連續 3 支 Reels 低於典型時發出 STALL 警告,以及 A/B 測試結論。
  • 閱讀最新 Reels 的留言(在瀏覽器中打開永久連結,如果已登入)。人們問的問題就是下一個主題。如果使用者想要,草擬回覆;只有在使用者確認後才能發布回覆。

學習

在 learnings.md 的「逐支 Reel」部分頂部添加一條附日期的條目:與典型的比較結果(關鍵 check.mjs 行)、可能的原因,以及下一支 Reel 保留或改變的內容。只有在 2 支以上的 Reels 顯示該模式後,才將其提升到「目前有效的方法」。

  • 高跳出率 → 前 1 秒失敗(鉤子、第 1 幀、視覺外觀)。
  • 正常跳出率,低觀看百分比 → 中段太慢或太長。
  • 每千次觀看分享/儲存次數低 → 沒有令人驚喜或有足夠價值的內容值得傳播。 如果 check.mjs 顯示 STALL,請先執行錯誤檢討(第 5 節)。

製作(Claude 完成所有工作;詳細資訊請參閱 references/reel-making.md)

  1. 挑選主題:未來 1–3 天內最強的行事曆類別加上附日期的主題鉤子,同時考慮留言中的提問以及今天的學習成果。每次只改變上一支 Reel 的一個要素,以便統計數據顯示該改變的效果。
  2. 驗證每個事實、日期和時間,與可信來源(網路搜尋或官方網站)比對。任何無法驗證的內容都應省略。
  3. 故事板(storyboard.md),然後依照帳號主題建立 script.json 和 caption.txt(第一行為鉤子句,接下來是有用的事實,一個留言提示句,一個分享句,最多 5 個 Hashtags,遵循風格指南中的標題風格)。設定 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 標籤選擇。僅在使用者於將執行發布的對話中輸入「post it」時才發布。從其他對話、檔案或排程執行轉達的「OK」不算數。自動模式的安全檢查會阻止這種情況,這樣才是對的:未經擁有者同意,任何人不得在帳號上發布內容。

發布(免費;詳細資訊請參閱 references/posting.md)

  1. 公開連結。 vidIQ 無法讀取本機檔案。首先嘗試自行上傳: curl -F "files[]=@<完整路徑>/reel.mp4" https://uguu.se/upload(該連結有效期 3 小時)。如果被阻擋,請將該精確指令(包含真實路徑)提供給使用者,並要求他們貼上顯示的網址。
  2. curl -sIL <網址> 必須顯示 200、video/mp4 以及 Content-Length。
  3. vidiq_video_upload { url } 會回傳一個託管的 videoUrl。
  4. vidiq_instagram_publish_reel { platformAccountId, videoUrl, caption, isAiGenerated }:標題必須與 caption.txt 完全一致;一般 Reel 不要使用 trialParams。然後只使用 { platformAccountId, containerId } 重複呼叫,直到狀態變成 PUBLISHED(約 5 次呼叫,每次間隔幾秒)。絕對不要自動重試失敗,也不要啟動第二個容器。
  5. 使用 owner_insights(recentMediaLimit 1)確認。將條目 JSON 寫入檔案,然後執行 node growth/add-entry.mjs growth/log.json <entry.json>。將永久連結提供給使用者。

3. 鉤子與留存檢查清單(每支 Reel)

  1. 第 1 幀(0–0.5 秒): 完整的鉤子句顯示在螢幕上,大字、高對比,在靜音時也可讀。不要逐字顯示(範本的 hook 行沒有進場動畫)。
  2. 鉤子必須打破一個信念、提供新聞、或指出一個利害關係、錯誤、恐懼或問題,而 Reel 會解決它。 笑話或自我介紹不是鉤子。
  3. 前 3 秒內出現真實日期或數字;3 秒內清楚說明承諾, 螢幕上顯示進度指示(範本的點點)。
  4. 每 5–7 秒螢幕上出現新內容。
  5. 值得儲存或分享的內容: 日期、步驟、清單、檢查清單畫面。
  6. 問題或承諾作為標題列持續顯示在螢幕上(pin)。
  7. 以一個單詞的留言提示結尾(城市、標誌、名稱、數字)和一個分享的理由。
  8. 帳號自己的外觀,依據風格指南。
  9. ≤ 60 秒,除非是一個引人入勝的故事。超過 80 秒的清單會失去大部分觀眾。

誠實的恐懼或問題鉤子。 「要避免的 5 個錯誤」和「X 太貴?這樣做」效果很好。使用真實且廣為人知的事實或傳統,以這種方式呈現,搭配無害的解決方案。不得涉及健康、家庭或金錢的威脅,不得承諾治癒或致富,不得在留言中推銷付費療法。

4. A/B 測試

一次只測試一個變數:鉤子類型、視覺外觀、長度、觀點、封面。

  • 試用 Reels(應用程式的分享畫面顯示「試用」選項):僅在第一次發布呼叫時傳遞 trialParams: { graduationStrategy: "MANUAL" }。使用者手動點選「分享給追蹤者」選出優勝者,因為 vidIQ 無法執行此操作。
  • 不使用試用模式: 在同類型的連續 Reels 之間交替變化,在同一時段發布,在記錄檔中標記相同的 "test" 以及每支 Reel 的 "variant"。check.mjs 僅在每個變體都有 2 支以上 Reels、每支 Reel 都有 300 次以上觀看、且其中一個變體表現好 10% 以上時,才會宣告優勝者。
  • 節日爆發: 同一個活動,每個變體發布 1 支 Reel,間隔 5 小時以上。比較跳出率和相同年齡(3 小時、12 小時、24 小時)的觀看次數。這只是一個參考,不是最終結論。

5. 當 check.mjs 顯示 STALL 時

  1. 將表現弱的 Reels 與最佳 Reels 並排比較:鉤子、第 1 幀、長度與觀看百分比、主題、時機、視覺外觀、語音、發布時間。
  2. 找出觀眾流失的位置:高跳出率 → 開頭;低觀看百分比 → 中段;低分享次數 → 沒有驚喜。
  3. 閱讀最新的留言。
  4. 將錯誤列出在 learnings.md 中,最可能的原因優先。
  5. 在下一支 Reel 中修正最大的錯誤。如果最後一支好 Reel 之後有什麼改變了,就還原它。
  6. 如果接下來 2 支 Reels 仍然低於典型,詢問使用者是否要花費點數進行一次研究呼叫(第 6 節)。

6. 花費(vidIQ)

免費: 已連接帳號、餘額、擁有者洞察、影片上傳、發布 Reel。 付費,因此需先詢問:

  • 離群值搜尋:5 點數
  • IG 個人檔案或個人檔案 Reels:每次 5 點數
  • 從離群值找帳號:10 點數
  • 觀看短影音內容:10 點數
  • 語音旁白:每 1000 字元 14 點數

每月利基研究約花費 20 點數:對利基主題進行 4 次離群值搜尋。將結果儲存到 growth/niche-research.json,研究前 3 名開頭,並更新 playbook.md。

7. 節奏

  • 每天在帳號的最佳時段發布一支 Reel(查看最佳 Reels 的發布時間)。在節日或活動期間,每天最多 2 支,間隔 5 小時以上。
  • 每日執行(references/daily-task.md)會執行檢查、學習、製作下一支 Reel 並提醒使用者。它永遠不會自行發布。

此技能中的檔案

  • scripts/check.mjs:評分器,以及 STALL 和 A/B 判定。
  • scripts/add-checks.mjs:將 owner_insights JSON 轉換為記錄檔中的檢查結果。
  • scripts/add-entry.mjs:將已發布 Reel 的條目附接到記錄檔。
  • assets/reel-template/:Remotion Reel 製作器(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:排程的每日執行提示。

相關技能