Communitygithub.com

講解影片:一個指令從素材到 YouTube 排程發布

Claude Code 的 YouTube 總控 Skill,每個階段都設審核關卡:紙上剪輯、推近鏡頭、短影音切條、封面、文字動畫、縮圖與標題,最後透過 Metricool 排程發布短影音和長影片。

講解影片:一個指令從素材到 YouTube 排程發布 是什麼?

「講解影片」配方第 3 步(發布與分發),來自 beachyphotoandfilm-arch/video-skills。輸入 /youtube 或直接丟給它原始素材。每支影片一個狀態檔,隨時可以停下,之後說一句繼續這支影片就能接著做。階段包括:在 DaVinci Resolve 裡做紙上剪輯,剪掉 NG 和空白;規劃推近鏡頭;切出鉤子開頭的直式短影音並加字幕;為每支短影音設計專屬封面;透過 Metricool 把短影音排程到 Instagram、TikTok 和 YouTube Shorts;依你說話的節奏產生文字動畫疊層;產出 1920x1080 縮圖方案和標題建議;最後排程 YouTube 長影片。沒有你的確認,它絕不會連跑兩個階段。需要 macOS、Resolve、ffmpeg 和 whisper.cpp。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/beachyphotoandfilm-arch/video-skills/tree/HEAD/skills/youtube

在你喜歡的 AI 中提問

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

說明文件

YouTube 指揮官

一條指令取代記憶多個技能。你已拍攝素材;此流程將素材一路轉化為已發布的資產,並在每個閘門處暫停等待你的同意。

設定:填入以下欄位

佔位符說明
<YOUR_FOOTAGE_DRIVE>原始素材存放位置,例如 /Volumes/<drive name>
<YOUR_VIDEO_LIBRARY>成品檔案存放位置,例如 ~/Videos/Finished
<YOUR_LUT>套用至所有片段的 LUT,例如 MyCamera_Log_to_Rec709.cube(若使用標準設定檔則留空)
<YOUR_TIMEZONE>, <YOUR_POST_TIME>預設排程時段(請參閱 schedule-social)

絕不在未經核准的情況下,連續執行兩個階段。 每個階段都需要創作者的品味,錯誤的階段1會破壞後續所有階段。

狀態

每個影片一個檔案:drafts/videos/<slug>.json

{"slug":"my-video","title":"my video title",
 "footage":"<YOUR_FOOTAGE_DRIVE>/my video footage",
 "work":"/tmp/.../paperedit",
 "project":"My Video - Paper Edit",
 "stages":{"paper-edit":{"status":"approved","at":"YYYY-MM-DD","note":"v2, 10:16"},
           "punch-ins":{"status":"approved","at":"YYYY-MM-DD"},
           "reels":{"status":"approved","at":"YYYY-MM-DD"},
           "covers":{"status":"todo"},
           "schedule-reels":{"status":"todo"},
           "overlays":{"status":"pending"},
           "thumbnail":{"status":"todo"},
           "schedule-youtube":{"status":"todo"}}}

狀態:todo → running → review(等待創作者) → approved | skipped

當收到「繼續 影片」指令時: 讀取狀態檔案,以一行報告目前進度,然後從第一個不是 approved 或 skipped 的階段繼續執行。對於新影片: 先建立狀態檔案,再從階段1開始。

保持工作目錄在階段之間穩定。轉寫稿、segments-v2.json 和 cuts.json 會被後續所有階段重複使用,請勿將它們分散存放。

各階段

#階段技能創作者審核輸出
1紙本剪輯paper-edit剪輯清單,然後時間軸Paper Edit v1 + v2 (tight) 在新的 Resolve 專案中
2插播片段paper-edit 步驟 9構圖計畫Paper Edit v3 (punch-ins)
3Reelsvideo-reels每個 Reels 的鉤子垂直時間軸,完成:片段 V1、鉤子卡片 V2、字幕 V3
3bReels 封面reel-covers網格校樣、每個標題每個 Reels 一個獨特的 1080x1920 封面,採用你的封面風格,並以網格視圖搭配 Reels 圖示校樣
4排程 Reelsschedule-social每個說明文字和時間IG + TikTok + Shorts 在 Metricool 日曆上,從明天開始每天一篇,每篇貼文附帶其封面
5疊加效果video-overlays渲染前的片段清單透明 .mov 片段 + FCPXML
6縮圖 + 標題video-thumbnails選擇哪個變體1920x1080 PNG + 手機尺寸校樣 + 標題
7排程 YouTubeschedule-social標題、縮圖和說明長片在 Metricool 日曆上

Reels 刻意排在疊加效果之前。 它們不需要動畫,而且需要創作者動手修剪、渲染才能發布。提早產出 Reels 意味著它們可以在疊加效果仍在渲染時就發布。疊加效果是速度最慢的階段,也是最不需要等待的階段。

現場活動或分離音訊拍攝(領夾麥或錄音機的音頻檔案位於片段旁的 audio/ 資料夾中):在紙本剪輯或 Reels 之前執行 lapel-sync。它會將領夾麥音訊設為後續所有階段讀取的片段音訊。

在執行階段前載入該階段的技能。 此檔案是執行順序和閘門;每個技能包含實際的操作方法。

閘門:要顯示什麼,以及要詢問什麼

  1. 紙本剪輯。 顯示原始長度、v1、v2、剪輯數量,以及重要的剪輯及其原因。詢問:「這裡有你想保留的內容嗎?」 創作者看完後:「剪輯鎖定了嗎?」 後續任何操作都無法在其鎖定前開始,因為疊加效果和 Reels 都錨定於逐字時間碼。
  2. 插播片段。 根據創作者修剪過的 v2(segments-locked.json)建立 v3,然後無需詢問直接將 v2 的色彩分級複製到 v3(paper-edit 步驟 9)。如果影片談論的是真實專案,詢問是否有照片,並將它們放在 V2 軌道作為白色背景卡片(paper-edit 步驟 11)。顯示變更次數(大約每 20-40 秒一次),以及會進行特寫的台詞清單。詢問:「這些特寫是否落在正確的時機?」
  3. Reels。 如果影片有留言關鍵字的行動呼籲,請單獨拍攝一個 Reel 行動呼籲 片段(「在下方留言 KEYWORD,我會寄給你...」)。如果狀態檔案中有 reel_cta,則將該影片的 每個 Reel 以此片段結尾(起止點在連結的 cta.json 中,根據靜音偵測取得,因為 Whisper 在短片段上可能漂移達 2 秒)。留言關鍵字也要放在說明文字中。顯示每個 Reel 的鉤子台詞及其後續內容,以及文字鉤子卡片的用詞。詢問:「這些鉤子能讓人停下滑動嗎?」 精簡勝於繁多。然後交接:創作者修剪和渲染。字幕和鉤子卡片已放置在時間軸上。在此同時開始疊加效果。 沒有人需要空等。 3b. Reels 封面。預設不要跳過此階段。 一旦 Reel 鉤子獲得批准,就說 「下一步:這些 Reels 的封面」 並開始執行 reel-covers。它不需要渲染結果,只需要鉤子和轉寫稿,因此在修剪期間執行它。顯示 _grid-phone.png(繪有 Reel 圖示)以及每個標題。詢問:「這些封面能讓人停下滑動嗎?」 反覆調整直到獲得批准,然後記錄。如果創作者說跳過,標記為 skipped,並告知 Reels 將以自動幀發布。
  4. 排程 Reels。 在渲染完成後由「排程 Reels」觸發。顯示每個說明文字和每個時段,每個旁邊附上已批准的封面。詢問:「確定要排程這些嗎?」 如果 covers 不是 approved 或 skipped,則先停止並執行階段 3b。
  5. 疊加效果。 預設風格為畫面內文字位於說話者頭部旁邊或背後,絕不擋住臉部(請參閱 video-overlays)。在渲染前顯示提議的片段清單,包含時間碼和提示(渲染時間約為每 1 秒疊加效果 10 秒實際時間)。詢問:「哪些你想剪掉,還有哪些時機我漏掉了?」
  6. 縮圖 + 標題。 顯示手機尺寸的校樣頁,而非全尺寸渲染圖,以及 4-6 個標題及其字元數。詢問:「哪一個?需要不同的文字嗎?」
  7. 排程 YouTube。 在疊加效果已放上時間軸且最終影片已匯出後。顯示標題、選定的縮圖和完整說明。詢問:「確定要排程這個嗎?」

排程規則,階段 4 和 7 均適用:

預設排程規則:從明天開始,每天一篇貼文,時間為 <YOUR_POST_TIME> <YOUR_TIMEZONE>,跳過已有內容的日期(草稿也算)。 在選擇時段前先呼叫 getScheduledPosts;絕不重複預約同一天。

說明文字必須乾淨無誤。 每次都是完成的文案,不得有「測試草稿」文字。測試請標記 draft: true + autoPublish: false,並提供計劃表連結。

執行順序規則

  • 先剪輯,後圖形,永遠如此。 疊加效果時間碼錨定於口語文字;任何重新修剪都會偏移所有疊加效果。如果階段 5 後剪輯有變動,重新產生 FCPXML(只需數秒),但無需重新渲染片段。
  • Reels 來自原始素材,絕不來自加上疊加效果的剪輯。動畫是為 YouTube 設計的,因此 Reels 可以在疊加效果之前執行。
  • 兩次交接,而且它們重疊進行。 階段 3 後創作者在修剪 Reels;階段 6 後他們在時間軸上放置疊加效果並匯出。兩者對創作者來說都很耗時,但對你來說是空閒的,因此排入下一階段的工作而非等待。
  • LUT 套用在所有內容上(<YOUR_LUT>)。如果相機使用 Log 設定檔,未經調色的幀看起來是灰色的,包括縮圖靜態影像。
  • 任何會操作 Resolve 的步驟:先執行 bash .claude/skills/paper-edit/scripts/ensure_resolve.sh。它會開啟 Resolve(如果已關閉)並等待 API,無需要求使用者開啟。但仍需 外部腳本:區域 設定,以及 新專案,以免危害現有工作。命名為 <Video> - YYYY-MM-DD 以清楚區分最新版本;兩個同名專案會造成混淆哪個是當前專案。
  • 成品檔案存放在 <YOUR_VIDEO_LIBRARY>/<Video> YYYY-MM-DD/,工作檔案保留在 ~/Movies/<video>-*。每個影片兩種渲染:一個交付用版本和一個 60 Mbps 的歸檔主版本,加上 .drt/.drp 時間軸檔案。請參閱 schedule-social 以了解目錄結構。創作者絕不應該在 ~/Movies 中尋找可發布的內容,且沒有任何檔案會直接寫入桌面。
  • 4K 長片匯出(選用): 將 YouTube Final 複製為 YouTube Final 4K,將該複製的時間軸設定為 3840x2160(useCustomSettings 1 + timelineResolutionWidth/Height),並以 VideoQuality 40000 渲染 H.264 至 <Video>/YouTube/。縮放和插播片段在解析度變更後仍能保留,1080 的疊加效果片段也能乾淨放大。開始渲染後立即返回;絕不在 execute_resolve_code 內等待。 一部 6:30 的影片在 4K 解析度加上畫面內疊加效果可能需要約一小時渲染,而 MCP 呼叫會在 30 分鐘後超時,這也會阻塞後續所有呼叫直到渲染結束。改為透過 bash 監控檔案:MP4 只有在 Resolve 完成後才會變成可讀取(ffprobe 成功)。一次只能渲染一個專案,因此在前一個檔案落地後才開始下一個影片的渲染。每 6.5 分鐘約 1.9GB。
  • 發布是唯一不可逆的階段。 在此之前的所有內容都可以在幾分鐘內重建;一旦貼文發布就無法從這裡取消發布。階段 4 和 7 的閘門被視為最嚴格的。

時間與成本

階段實際時間備註
紙本剪輯~2 分鐘轉寫 + 閱讀時間唯一有實際思考成本的階段,約 5k tokens
插播片段數秒
Reels~1 分鐘包含字幕
疊加效果~10 分鐘乾淨剪輯渲染,然後每 1 秒疊加效果約 15-20 秒畫面內風格遮罩每幀處理:約 48 個片段可能需要 1 小時;需掛載素材磁碟;在 Reels 修剪期間執行
縮圖~1 分鐘4-6 個變體
排程~2 分鐘上傳延遲 + Metricool 寫入

相關

  • paper-edit, lapel-sync, video-overlays, video-reels, reel-covers, video-thumbnails, schedule-social
  • 選用:標題參考(長度與點擊率規則)以及影片主題規劃(如果你有保留的話)

Individual skills in this repo

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

beachyphotoandfilm-arch/video-skills

Sync camera footage to a separate lapel or field-recorder track (e.g. Tascam DR-10L and similar) and lay it up in DaVinci Resolve. Stitches the recorder's split files, finds each clip's exact place in the audio by matching words then waveforms, cuts one lapel slice per clip so every later skill works unchanged, checks for clipping, and builds a synced timeline in a new Resolve project. Trigger on "sync the lapel", "sync my audio", "line up the recorder", "I used a lav", or any shoot with a separate audio folder (live talks, events, workshops). Run it before paper-edit or video-reels.

beachyphotoandfilm-arch/video-skills

Turn raw talking-head footage into an assembled rough cut inside DaVinci Resolve. Pulls the clips off your footage drive, transcribes them locally, removes failed takes, restarts, asides and dead air, then creates a new Resolve project with two paper-edit timelines ready for your fine trim. Trigger on "paper edit", "cut my raw footage", "make a rough cut", "clean up this video", or when the user points at a folder of raw camera files for a YouTube video.

beachyphotoandfilm-arch/video-skills

Design a unique Instagram cover for each reel in your house style. Reads what the reel is about, writes a short hook headline, picks one of your own photos from a tagged photo library, lays it out like your existing covers, and proofs it in grid view at phone size. Renders locally, never with AI image generation. Can be called by a scheduling skill before reels are scheduled. Trigger on "make covers", "reel covers", "cover photo for this reel", "design the IG covers".

beachyphotoandfilm-arch/video-skills

Render finished reels out of DaVinci Resolve, write captions in the creator's voice, attach a custom Instagram cover from reel-covers, and schedule them to Instagram, TikTok and YouTube Shorts through Metricool. Handles the Drive upload hop, collision checks against the existing calendar, and cleanup. Trigger on "schedule the reels", "post these", "put these on the calendar", or after reels are approved.

beachyphotoandfilm-arch/video-skills

Build animated brand overlays (motion graphics) for a talking-head video, timed to the speaker's exact words, plus a DaVinci Resolve import file. House style is in-scene type (text beside and behind the speaker's head) plus diagrams. Transcribes the rough cut locally, picks the moments, renders transparent .mov clips, and writes an FCPXML that drops every clip onto the timeline already in position. Trigger on "make animations for this video", "add overlays/motion graphics", "animate this", "b-roll graphics for my YouTube video", or when the user shares a rough cut and asks for graphics.

beachyphotoandfilm-arch/video-skills

Cut vertical Instagram reels out of a long-form talking-head video, hook first. Picks the strongest standalone moments from the transcript, opens each reel on its punchiest line, builds vertical timelines in DaVinci Resolve framed on the speaker's face with the LUT applied, and finishes them: a hook (a held text card, or a word-by-word "build" hook with punch-in) and burned-look captions on V3; this-or-that reels get product graphics and a comment-keyword CTA card. You trim and render, nothing to import. Trigger on "make reels", "clip this for Instagram", "cut some verticals", or after a YouTube video is cut.

beachyphotoandfilm-arch/video-skills

Design YouTube thumbnails and titles for a talking-head video. Pulls graded full-res frames out of the raw footage, renders brand-styled variants in two proven layouts, and proofs them at phone size where the click actually gets decided. Trigger on "make thumbnails", "thumbnail for this video", "title and thumbnail", or after a video is cut.

相關技能