Cut as Code 入口點
請將此作為 cut-as-code 影片工作的強制入口點。僅負責路由與專案狀態恢復。所選的葉子技能負責編輯決策、審查關卡、腳本、渲染細節與自我檢查。
1. 從專案狀態開始
套用第一個符合的資料列。不要評估較低層級的列。
| 狀態 | 動作 |
|---|---|
| 使用者指定對現有專案進行特定操作 | 僅檢查該操作所需的狀態,然後載入其所有者技能。跳過一般擷取。 |
明確的專案根目錄包含 work/project.json | 讀取 work/project.json、work/timeline.json,以及僅所選操作的計畫/證據。從記錄的狀態恢復。若所有者不唯一,則提出一個僅關乎路由的問題。 |
| 使用者提供來源檔案或 URL,無專案,且有明確的交付成果 | 載入 /video-understand 以初始化專案與共享證據,然後繼續進行要求的操作。 |
| 無法識別專案/來源或無意圖的交付成果 | 提出一個簡潔的問題,請求提供缺失的專案/來源與期望的結果。請勿立即啟動技能。 |
專案根目錄必須明確;切勿將儲存庫根目錄視為影片專案。將 work/project.json 視為唯一的共享清單。根據操作 status、revision、based_on、check 與渲染狀態來判斷進度,而非根據目錄是否存在。不要重新執行已驗證的工作。若缺少相依性或相依性已過期,請先完成該相依性,然後恢復要求的操作。
路由是唯讀的。在決定將任務發送到何處時,切勿修復、重設、核准、移除或啟動操作。
2. 依交付成果路由
比對要求的輸出,而非順帶提及的關鍵字。
| 要求的結果 | 所有者技能或工作流程 |
|---|---|
| 探測、逐字稿、客觀分析、語義理解或新專案初始化 | /video-understand |
| 緊湊、縮短、移除薄弱環節或建立初剪/粗剪 | 先執行 /video-understand,再執行 /video-cut |
| 校正色彩、建立/選擇風格或交付/套用 LUT | /video-color-grade;僅當使用者明確要求不交付 Project Protocol 時,才使用其獨立路徑 |
| 加入與逐字稿時間同步的視覺覆蓋片段 | 先執行 /video-understand,再執行 /video-add-b-roll |
| 加入有來源的動態圖形或動畫語義疊加 | 先執行 /video-understand,再執行 /video-add-graphic-motion |
| 加入標題、下方三分之一、統計資料、引言、章節或行動呼籲 | 先執行 /video-understand,再執行 /video-add-content-cards |
| 加入字幕、隱藏字幕或卡拉 OK 字幕 | 先執行 /video-understand,再執行 /video-add-captions |
| 比較原始素材與來源時間中實際的最終像素 | 驗證的主要交付成果存在後,執行 /video-edit-compare |
| 選取、審查並規劃短格式範圍 | 先執行 /video-understand,再執行 /video-to-shorts;請在要求的內容卡片與字幕之前執行此步驟 |
| 完成並提取已核准的橫向或直向短格式衍生作品 | 驗證的主要交付成果存在後,從 work/project.json 記錄的狀態恢復 /video-to-shorts |
| 編譯或渲染現有的 Project Protocol 交付成果 | 在每個選定的活躍操作通過其自身關卡後,使用來自 /video-understand 的 build_render_plan.py 與 render_project.py |
諸如「編輯此影片」這類的通用請求並未唯一選取 /video-cut。除非從現有的專案狀態或周遭請求中可清楚看出期望的輸出,否則請提出一個路由問題。
3. 協調多操作請求
僅凍結使用者要求的操作;切勿將路由表變成預設套件。執行一次共享理解的前提條件。以規範順序執行選定的主序列操作:
剪輯 -> 調色 -> B-roll -> 字幕 -> 內容卡片 -> 圖形動畫
對於包含 Shorts、內容卡片或字幕的請求,請使用此階段流程:
/video-understand
-> /video-to-shorts 僅規劃與候選審查
-> /video-add-captions
-> /video-add-content-cards
-> /video-add-graphic-motion
-> 編譯並渲染一次共享的主要交付成果
-> /video-to-shorts 完成並提取已核准的衍生作品
在 Shorts 規劃之前,請先完成任何要求的時間線變更操作(例如 /video-cut);變更後的 work/timeline.json 會使候選核准失效。Shorts 規劃會寫入共享的計畫/審查狀態,且不得建立 final.mp4 或 final/shorts/ 下的任何內容。依此相對順序,字幕、內容卡片與圖形動畫會接著加入它們自己的共享計畫與疊加貢獻。當僅選取任意配對時,也適用相同順序:字幕優先,內容卡片其次,圖形動畫最後。在每次交接前,請重新讀取 work/project.json。當葉子技能可能寫入 work/project.json、work/timeline.json、操作計畫或共享渲染成品時,請勿同時執行它們。在所有選定的活躍操作通過驗證後,再建置並渲染主要交付成果一次。針對該經過驗證的交付成果,執行 /video-edit-compare 以及 /video-to-shorts 的完成/提取階段;短格式作品仍位於 sequences.main.operations 之外。
對於 /video-add-content-cards 與 /video-add-graphic-motion,請為完整的線索保留每位主要或前景人物、說話者、主持人、受訪者或語義重要人物的可見面部與頭部輪廓。僅背景中非敘事或視覺焦點的附帶人員可豁免;對於不確定的情況,請予以保護。若疊加層觸碰到受保護的面部或頭部,請先重新定位,然後再縮放或重新設計;當無法找到合規位置時,則跳過該線索。
當所有者技能允許時,全部跳過或零線索的結果是有效的。請勿為了保持操作活躍而憑空發明填充性工作。
4. 交接,然後離開
在執行之前,請先讀取所選技能的完整 SKILL.md 以及所有必要的子技能。對於單一操作,交接一次,然後離開此入口點。對於要求的多操作執行,請一次進入一個所有者;在其自我檢查之後,恢復專案狀態,並繼續執行下一個凍結的操作,無需重新開啟擷取程序。
請勿要求使用者核准已明確無歧義的路由。使用者互動應僅限於缺失的輸入、真正的路由不明確、憑證或所有者技能要求的編輯/審查決策。除非使用者明確授權,否則切勿以代理程式的決策取代必要的人類決策。
範例
對於「繼續此已理解並已剪輯的專案,加入字幕」,請讀取目前的專案與時間線修訂版本,然後進入 /video-add-captions。請勿重新轉錄、重新剪輯或詢問字幕是否為預期路由。未結的待處理操作不會改變路由,但活躍的未驗證操作可能會阻擋最終的共享渲染,編譯器必須報告此情況。
失敗規則
- 無效的專案狀態:報告確切的驗證問題;切勿在其上重新初始化。
- 缺少葉子技能或前提條件:停止並指名;請勿憑記憶重建。
- 缺少來源/專案路徑:在單一的路由問題中要求提供。
- 要求的輸出衝突:詢問哪個交付成果擁有目前執行週期的所有權。
- 現有的使用者變更或成品:予以保留,並以記錄的狀態進行處理。