Community生產力與協作github.com

builtnotboosted/scheduling

將完成的貼文安全地排入社群媒體排程器(或手動發布)。僅佇列操作,使用明確時區偏移,即時去重(針對已排程與已發布貼文),檢查媒體就緒狀態,確保正確貼文類型(短片、Reels、輪播、首則留言、手動發布提醒)、替代文字、連結閘道(退回改寫而非刪除連結),並在發布前要求確認。會為每個內容包撰寫並保留排程清單。適用於任何排程器,以 Publer 為實作範例。當使用者說「排程這個」、「將這些貼文加入佇列」、「放到 Publer」、「預訂本週內容」、「在週二 7 點發布」、「移動那則貼文」、「查詢已排程項目」或交付完成的內容包時使用。

scheduling 是什麼?

這項技能負責「最後一哩路」:將已完成並審核通過的貼文,安全且準確地放入排程佇列。其核心理念是「錯過的貼文明天還能補發,但錯誤或重複的貼文一旦發布就無法挽回」,因此技能本身偏向保守,遇到不確定情況會暫停並提問,而非猜測。這項技能不處理文案撰寫、圖片生成或數據分析,而是專注於排程的「如何」執行。它支援透過任何排程器(例如 Publer)或瀏覽器直接操作平台,適用於 Claude Code、Cursor 等工具。技能強制執行十大標準,包括僅排程不立即發布、使用 ISO 格式帶時區偏移、即時雙向去重(檢查已排程和已發布貼文)、驗證後發布、以及發布前要求人工確認。它會為每個內容包建立並維護一份 `SCHEDULE.md` 清單,詳細記錄每則貼文的平台、帳號、時間、類型、媒體、替代文字與連結狀態。其「連結閘道」機制不會直接移除不允許的連結,而是將貼文退回「文案撰寫」技能進行改寫,確保貼文在沒有連結的情況下仍有意義。此外,技能也涵蓋編輯與移動貼文(傾向刪除重建)、非排程器情況下的瀏覽器操作指南,以及發布前的自我檢查清單。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/builtnotboosted/built-not-boosted-skills/tree/HEAD/plugins/built-not-boosted/skills/scheduling

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

排程

這項技能負責最後一哩路:將已完成、審核過的貼文,在正確的時間、正確的帳號、正確的格式下,準確地加入佇列一次。它掌握排程的方法。它不撰寫文案(由 writing 技能負責)、不選擇圖片(由 image-generation 技能負責)、也不讀取成效數據(由 platform-data 技能負責)。它完全決定不了什麼內容會發布出去;內容包和使用者決定一切。

整個技能建立在一個概念上:錯過的貼文明天還能補發,但錯誤或重複的貼文一旦發布就無法挽回。 因此,當有疑問時,它會暫停並提問,而不是猜測。

開始之前

  1. 尋找行銷工作區(預設為 marketing/)。如果沒有,用一句話說明,並提議執行 brand-setup;你仍可以透過直接詢問基本資訊(帳號、時區、時間)來進行排程。
  2. 讀取 brand/brand-profile.md,特別是 ## Platforms(帳號、發布途徑是手動或排程器、允許的連結?)、## Tools(使用哪個排程器)、## Compliance 和 ## CTA & contact。品牌設定檔在品牌常數與合規用語上優先;此技能則負責方法。
  3. 讀取內容包:content/<yyyy-mm-dd>-<slug>/PACKAGE.md 以及其中任何既有的 SCHEDULE.md。
  4. 確認時區。使用品牌設定檔中的時區(或使用者的所在地)。如果你無法判斷,問一次;絕不預設為 UTC。
  5. 檢查本次會話連接了哪些排程器工具。如果沒有,使用瀏覽器途徑(如下所述)或提供一份發布檢查清單。

標準(絕不違反)

  1. 僅佇列。 每則貼文都建立為已排程的未來時間。除非使用者明確對某則特定貼文說「立即發布」,否則絕對不要呼叫立即發布路徑。原因:立即發布會跳過所有安全網,失誤的貼文會在幾秒內公開。
  2. 每個時間都使用明確的時區偏移。 時間以 ISO 格式加上偏移來撰寫,例如英國冬季用 2026-11-12T18:00:00+00:00,夏季用 +01:00。針對貼文發布的日期檢查夏令時間,而不是今天的日期。原因:裸露的時間會被解讀為 UTC 或伺服器時區,導致貼文在時間變換前後偏移一小時。
  3. 即時去重,每次執行,同時針對已排程和已發布的內容。 在建立任何內容之前,先讀取已經在佇列中的內容以及已經在該帳號上發布過的內容。原因:昨天發布的內容不再顯示為「已排程」,所以只檢查已排程項目會看不到它,導致再次發布。
  4. 失敗則關閉。 空的、過短的、有錯誤或明顯不完整的讀取結果,不能證明貼文不存在。縮小範圍重新讀取(一個帳號、一天);如果仍然無法信任,就暫停該貼文並提出說明。
  5. 絕不盲目重試。 如果建立或上傳呼叫超時或掛起,在重新嘗試之前,先回頭讀取實際上建立了什麼。
  6. 建立後驗證。 逐則讀取回每則貼文,確認它存在,且時間、帳號、類型標記和媒體都正確。成功訊息不是證明;有些工具會回傳成功卻什麼也沒儲存。
  7. 發布任何內容前先確認。 向使用者展示計畫(排程清單表格),並在建立貼文前取得同意,除非他們已經批准了這個確切的計畫,或在品牌設定檔中設定了常態規則。

方法

  1. 建立排程清單。 在 content/<yyyy-mm-dd>-<slug>/SCHEDULE.md 中,每個平台每則貼文一行,使用 references/schedule-manifest-template.md。每一行:平台、帳號、貼文類型、含偏移的時間、說明檔、媒體檔案、替代文字、首則留言、連結狀態、狀態。這既是你要展示的計畫,也是你做了什麼的記錄。
  2. 放置時間。 使用內容包或使用者給定的時間。如果沒有,使用品牌設定檔中的發布節奏,然後是來自 brand/performance-learnings.md 或排程器的最佳時間數據。不同平台不一定要在同一天發布同一則內容;每個平台可以有自己的週期表。以確定性方式放置靈活的內容(相同輸入,相同位置),以便重新執行時能將它們放在相同位置。
  3. 對每則說明和留言執行連結閘道(見下文)。
  4. 檢查媒體就緒狀態。 每則有媒體的貼文都需要其檔案存在、形狀符合平台要求(見 references/platform-posting-notes.md),並且可以被排程器擷取。將成功上傳至排程器視為真正的就緒測試。如果工具會佇列匯入,則一次上傳一個檔案,並等待每個檔案完成。沒有媒體的貼文絕不發布;改為暫停它。
  5. 為每張圖片和輪播投影片附加替代文字,使用內容包提供的文字。如果內容包沒有替代文字,則撰寫一張圖片內容的簡明描述(不是重複說明),並在排程清單中註記。原因:螢幕閱讀器使用者是受眾的一部分,且部分平台會使用替代文字進行搜尋。
  6. 檢查段落間距。 說明在各段落之間包含真正的空行。有些排程器將說明儲存為 HTML 段落,呈現時沒有間距,因此間距良好的說明到來時會變成一整面文字牆。首次使用某個工具時,預覽一則貼文;如果段落合併了,在區塊之間插入該工具的間距符號(一個空的段落或行)。
  7. 去重(標準 3 和 4)。先檢查此內容包以及任何近期內容包的排程清單狀態(你自己寫的記錄比單次即時讀取更可靠),然後讀取排程器:已排程和已發布的內容,針對每個目標帳號,一次一天。比對項目:平台 + 帳號 + 說明開頭(+ 針對特定時間的貼文比對日期)。如果排程清單標記為已完成,但即時讀取找不到,不要重新建立;調查並標記。
  8. 展示計畫並取得同意。
  9. 以正確的類型(見下文)、逐字說明的內容、媒體、替代文字和首則留言來建立每則貼文。
  10. 驗證每一則(標準 6),並將狀態和排程器的貼文參考資訊寫入排程清單。
  11. 以簡短表格報告:哪些已排入佇列、哪些被暫停及原因、哪些需要使用者手動處理(手動貼文、置頂留言)。

貼文類型

  • 短片格式(YouTube Shorts、Instagram Reels、TikTok、Facebook Reels):明確標記類型;許多排程器預設將影片視為一般動態影片,而未標記的 Reel 或 Short 會失去其觸及優勢。YouTube Shorts 需要標題。驗證時確認標記已持續存在。
  • 輪播: 依序附加投影片,每張投影片有替代文字。LinkedIn 輪播通常是 PDF 文件貼文。在規劃包含影片和圖片的混合輪播前,先檢查工具是否支援。
  • 首則留言: 用於連結或主題標籤應放在留言中的情況。驗證留言確實已儲存;在某些工具和平台上,它會無聲地遺失。首則留言通常之後無法編輯,因此在建立前必須確保正確。
  • 手動發布提醒: 某些帳號無法由任何第三方工具自動發布,個人 Facebook 個人檔案是常見例子。如果工具支援,建立一則提醒或通知貼文;或者,在報告的手動清單中新增一行,附上準備好複製的說明和媒體。
  • 置頂留言和任何工具無法處理的事項(例如,YouTube 置頂留言):在報告中列為手動工作項目,並附上確切文字。
  • 在地商家頁面(例如 Google 商家檔案):通常每則貼文一個按鈕,附上專屬的商家頁面連結,絕不使用縮短網址或個人頁面連結。詳細資訊在 references/platform-posting-notes.md。

連結閘道(作為後備機制,不是編輯器)

連結在不同平台上的行為不同且經常變化(見 references/platform-posting-notes.md)。品牌設定檔 ## Platforms 規定了連結允許的位置。針對每則貼文:

  1. 掃描說明和留言中任何類似連結的內容:http、www.、.com/、.co.uk/、短網址、個人頁面服務。同時掃描留言關鍵字要求(如「留言 GUIDE 我會傳送給你」),大多數平台現在會將其視為互動誘餌而降級。
  2. 允許(平台和貼文目的允許):按原樣排程。
  3. 看起來應該允許但未標記(活動貼文中的預訂連結、新文章的連結):暫停並詢問。移除連結會讓貼文變得無意義。
  4. 不允許: 不要移除連結然後發布。圍繞連結撰寫的貼文在沒有連結的情況下會顯得不完整。將其退回給 writing 技能進行無連結的改寫(指向個人檔案、提及作品名稱、以真誠提問結尾),讓改寫內容通過 review-loop 審查,將新文案寫入內容包以使內容包和實際貼文一致,然後再排程。
  5. 在時間到來前沒有時間改寫和審查: 暫停並標記。錯過一個時段勝過發布一篇有問題的貼文。

如果品牌設定檔設定了連結預算(例如 Facebook 每月連結貼文上限),在報告中計入,並將超過預算的貼文視為「不允許」。

編輯與移動貼文

  • 當工具對編輯操作不穩定時(許多工具如此:時間偏移、媒體脫落、旗標重設),優先使用刪除後重建,而非原地編輯已排程時間。 先刪除,再重建,然後驗證。某些平台會拒絕同一個帳號在同一分鐘內發布兩則貼文,所以在新的貼文進入前,先讓舊的完全消失。有些工具在刪除後的幾分鐘內會封鎖相同的說明;僅在刻意重建時使用工具的「允許重複」選項。
  • 為純文字排程貼文加入媒體、變更首則留言或新增商家頁面按鈕,通常也需要刪除後重建。
  • 只移動使用者要求移動的內容。未經詢問,絕不刪除你未建立的貼文;絕不刪除提醒貼文。

沒有排程器?透過瀏覽器在平台上發布

如果沒有連接排程器,但有瀏覽器工具可用(例如 Chrome 中的 Claude),你可以使用平台的原生發布工具。大多數平台在發布編輯器中都有原生的「排程」選項(Facebook 和 Instagram 使用 Meta Business Suite、LinkedIn 的時鐘圖示、YouTube Studio、TikTok 的網頁上傳工具)。適用相同的規則:排程而非立即發布、檢查平台顯示的時區、附加替代文字、並為排程清單截取確認畫面。如果遇到登入、雙重驗證提示或付款畫面,請停止並交由使用者處理。如果也沒有瀏覽器工具可用,則根據排程清單產生一份發布檢查清單,讓使用者可以在幾分鐘內自行完成。

發布前的檢查

在第 8 步(展示計畫)之前,將排程清單提交給 review-loop 或自行檢查:每一行都有未來的時間含偏移、正確的帳號、貼文類型、媒體存在且可擷取、替代文字、連結狀態已解決、去重完成、說明與內容包逐字相符,以及品牌設定檔中的合規條款在需要時已存在。

調整適用

  • 你的排程器: 將其放入品牌設定檔 ## Tools。若是 Publer,請閱讀 references/publer.md。若是其他工具,先在測試草稿中學習其特性,並在你的工作區中記錄(一個簡短的 brand/tools-notes.md 即可)。
  • 你的節奏: 發布日與時間存在品牌設定檔中,platform-data 會根據你的實際結果進行調整。
  • 無人值守的執行: 如果排程是在計時器上運行而無人監看,可以透過在品牌設定檔中核准一個常態計畫來保留確認規則,並更嚴格地依賴失敗即關閉的暫停機制。有些工具要求每次刪除都在聊天中取得同意;這是優點,請將刪除操作保留在有人參與的會話中進行。

參考文件

  • references/schedule-manifest-template.md:排程清單格式。在建立或更新 SCHEDULE.md 時開啟。
  • references/platform-posting-notes.md:各平台的貼文類型、連結行為、媒體尺寸、已知特性。有時間敏感性;重要時請即時驗證。
  • references/publer.md:使用官方 Publer MCP 和開源 publer-mcp-server 的實作範例。

了解更多:https://builtnotboosted.com/skills/scheduling

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

builtnotboosted/image-generation

Produces finished social images with any image model (Google Gemini image, "Nano Banana", as the worked example) - feed statics, carousel slides, short-form video covers, YouTube and article thumbnails, local listing cards and animated statics. Bakes the headline into the scene instead of pasting text on top, keeps text inside the profile-grid safe zone, locks the likeness of real people to their reference photos, hits exact platform sizes, writes alt text and re-judges every re-roll on the filed file. Use when someone says "make an image for this post", "create a thumbnail", "make a cover from my video", "design a carousel", "animate this static", "the image model won't do 4:5", "my headline is getting cut off in the grid", or when a content pack needs its visuals.

builtnotboosted/review-loop

The quality gate every piece of content passes before it is filed, scheduled or posted. Runs a self-critique, then an independent review by a fresh subagent that sees only the finished work and the criteria (never the builder's reasoning), then fix and re-judge until there is a clean pass. Covers what to do when a piece can't pass unattended (hold, flag, ship the rest). Use when someone says "review this", "check this before it goes out", "QA the pack", "is this ready to post", "get a second pair of eyes on this", "proofread the captions", or when any other Built Not Boosted skill hands work over for checks.

builtnotboosted/video-editing

Edits filmed talking-head footage into release-ready vertical shorts (1080x1920) and 16:9 YouTube long-forms with ffmpeg and Whisper. Keeps exactly one clean read of every script line (no stumbles, restarts or double reads), never leaves a flat single shot (punch-ins, reframes, B-roll, motion graphics), captions from the finished audio, normalises loudness to -14 LUFS, makes a real-frame cover and runs a QA gate that re-transcribes the render and refuses delivery until it passes. Syncs extra cameras by sound and writes YouTube chapters. Use when someone says "edit my video", "cut this clip", "remove my retakes", "edit out the fluffs", "add captions to my video", "make a short from this footage", "sync my two cameras", "make a thumbnail from my video", or hands over raw footage and a script.

builtnotboosted/video-scripting

Writes video scripts that sound like the person who will say them, for shorts (Reels, TikTok, YouTube Shorts) and long-form YouTube. Warm hook rather than a shout, who-am-I and follow early, a retention shape that delays the answer, a soft earned close, length that follows the story, real-problem substance, reactive scripts for news and data releases. Output is teleprompter-ready (think-breaks, shot reminders) with short edit notes for the video-editing skill. Use when someone says "write me a script", "script a reel about", "I need a short on", "plan a YouTube video", "turn this post into a video", "react to today's news on video", "what should I say on camera", or before a filming session.

相關技能