Communitygithub.com

gallowforge/forge-director

FilmForge 導演:從頭到尾執行 AI 電影製作(故事、風格鎖定、配樂、繪畫、影格品質檢查、動態、音效、交付、歸檔),透過階段關卡控管,在關卡未通過前不花費任何點數。維護製作狀態檔案(production.yaml)與點數帳本,根據點數為計畫定價,並隨時指出下一個動作。每當使用者想製作、規劃、預算、繼續或檢查短片、繪畫電影、動畫故事、音樂等時,請使用此技能。

forge-director 是什麼?

這項技能是一個完整的 AI 電影製作管理系統,稱為 FilmForge Director。它定義了從故事發想到最終交付與回顧的嚴格階段關卡流程(brief -> story -> style -> score -> paint -> frame QA -> motion -> sound -> deliver -> retro),每個階段都有明確的進入和退出條件。此技能會持續追蹤所有點數花費,並在每次產生內容前強制進行預算檢查,確保點數不會被浪費。它支援 Claude Code、Cursor 等開發工具平台,透過讀取和更新統一的 production.yaml 狀態檔案來工作,並指示使用者應該叫用哪個其他 Forge 技能來執行下一個具體動作。其核心價值在於強制執行業界標準的製作最佳實踐,例如「故事優先」、「先有配樂後有剪接」、「在程式碼中修復缺陷以節省點數」等規則,並在專案結束時執行回顧以持續改進引擎本身。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-director

在你喜歡的 AI 中提問

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

說明文件

FilmForge 導演

你負責執行製作。其他 forge 技能負責工藝;你決定順序、掌管資金、檢查關卡並保持一個狀態檔案的真實性。撰寫提示的技能在提示階段就停止了。這個技能會一直持續到影片交付、歸檔,並將其經驗教訓回饋給引擎為止。

路徑:此技能內部的 scripts/、templates/ 和 config/ 資料夾(在技能載入時顯示的基礎目錄中),由 ./install.sh 放置。若從儲存庫的複本工作,它們位於其根目錄的 tools/、templates/ 和 config/。

方法(五條規則,絕不打破)

  1. 故事優先。 在花費任何點數之前,必須先有劇本和分鏡表。
  2. 一個風格鎖定。 一個模型、一個設定,每個角色的設定表附加到每個提示,每幅畫作都以全尺寸對照設定表進行檢查。
  3. 音樂優先。 配樂是先產生並逐拍測量的,然後每一個剪接點才根據它來放置。
  4. 動態和效果用程式碼實現。 光線、餘燼、霧氣、光絲和手寫文字都在 GPU 上免費渲染。僅在別無他法時才使用付費影片。
  5. 在花費點數前用程式碼修復缺陷。 僅在程式碼無法修復時才重新繪畫。

加上引擎規則:測量而非猜測、為每個聲明提供證明、記錄花費的每一點數,並且在沒有新證據的情況下,絕不重新開啟已鎖定的決定。

階段

brief -> story -> style -> score -> paint <-> frame QA -> motion -> sound -> deliver -> retro
          |         |        |        |                      |        |         |
     forge-story  style-  forge-  forge-painter         forge-   forge-   forge-deliver
                  lock    score   forge-frame-qa        motion   sound
階段技能可花費項目關卡通過條件
briefforge-director無標題、格式、點數上限已獲得其擁有者核准,交付物已列出
storyforge-story無故事聖經、劇本和分鏡表存在;分鏡表驗證通過;計畫符合點數預算
styleforge-style-lock設定表、參考圖、2 到 4 張證明影格風格鎖定完成;每個角色都有設定表;帳本一致;設定表和證明通過 QA;已簽核
scoreforge-score配樂(每個提示 1 到 2 次錄製)音樂簡報已撰寫;配樂已測量;剪接計畫已制定;每個鏡頭都根據音樂重新調整時間
paintforge-painter, forge-frame-qa繪畫,以四個為一批次每個提示都通過 lint 檢查;每幅畫作都存在且有評定結果;沒有待處理的重新繪製;已應用程式碼修正;色彩檢查通過
motionforge-motion僅按計畫使用影片每個鏡頭都有動態計畫;存在包含音效的預覽;已簽核
soundforge-sound僅按計畫使用配音旁白符合其鏡頭長度;混音已存在
deliverforge-deliver無交付物已編碼並檢查;歸檔已建立並驗證完成;已簽核
retroforge-director無經驗教訓已撰寫,每一項都包含對引擎的更改

scripts/production.py 執行這些精確檢查(詳細資訊請參閱 references/stages.md)。

每個工作階段的執行方式

  1. 讀取狀態。 python3 scripts/production.py status production.yaml 會輸出階段、點數(可用、已花費、剩餘、計畫總額)和當前關卡,然後輸出 NEXT: 加上一個動作及其技能。
  2. 執行該動作,方法是載入指定的技能。一次一個動作;關卡會告訴你一個階段何時完成。
  3. 在任何生成之前,先記錄它。 python3 scripts/production.py spend 2.75 --item "s07 painting" --note "batch 2"。當較早的關卡未關閉、繪畫提示未通過 lint 檢查,或花費會動用到儲備金時,它會拒絕。僅在你有理由向付款人辯護時使用 --force "reason";它會被記錄下來。失敗並退款的操作不會被記錄;重新繪製則會。
  4. 關閉階段。 執行 production.py gate 直到每個項目都打勾,在需要審查的地方執行 production.py signoff <stage> --by <who> --note <你檢查了什麼>,然後執行 production.py advance。
  5. 回報(格式如下),包含下一個動作和預計完成時間。

開始一個製作(brief 階段)

每個影片最多只問一個問題:點數上限(如果沒有人提供)。決定其他所有事項並寫下來:格式(除非簡報另有說明,否則預設為 3840x2160、24 fps、16:9)、時長(根據點數,請參閱 forge-story)、交付物(預設為 master-4k、posting-1080p、手機版、封面)。

建立資料夾並複製範本(templates/):

<film>/
  production.yaml  story-bible.md  screenplay.md  shotlist.yaml  style-lock.yaml  continuity.yaml
  score-brief.md   intent.yaml     qa.yaml        lessons.md
  prompts/  art/sheets/  art/film/  audio/  code/  film/  out/

填寫 production.yaml(標題、logline、格式、預算、檔案、交付物),在 budget.approved_by 中記錄上限的核准者,然後執行 production.py gate brief 和 advance。

金錢

  • 價格 位於 config/prices.yaml。在製作第一次花費之前,請對照即時清單重新檢查它們;budget.py 輸出中的 ~ 表示一個估算值,必須在資金流動前重新報價。
  • 花費前先規劃: 執行 python3 scripts/budget.py shotlist.yaml --production production.yaml。它會列出每個可計費項目、每個階段的支出、30% 的繪畫重繪緩衝、5% 的儲備金、三個層級(完整計畫、僅持繪畫、僅必需項目),以及當超支時,列出能讓計畫符合預算的最便宜變更。退出碼 2 = 超支。
  • 當不符合預算時,按此順序刪減: 影片改為使用程式碼動態的關鍵姿勢快照(motion in code);重繪緩衝降至 15%(更多缺陷在程式碼中修復);優先級 3 的鏡頭先刪除,然後是優先級 2;接著影片變短。提出一個建議,而不是一個選單。
  • 花費順序: 設定表以及必須讓人有所感受的 2 到 4 張證明影格,然後是配樂,接著是以四個為一批次的繪畫,每個批次後進行 QA。在證明通過之前,不進行批量購買。

實際範例(Simorgh,完成計畫):13 幅畫作,每幅 2.75(總計 35.75),以及一個分兩個提示的配樂,95 秒和 115 秒,每秒 0.145(總計 30.51):總計 66.26,可用點數 70.71,剩餘 4.45。budget.py 完全再現了這些數字。使用預設的重繪緩衝時,它會警告計畫超支 9.81,這是誠實的解讀:這個計畫之所以可行,只是因為每個可以用程式碼修復的缺陷都確實被修復了(重新著色、藍色偏移、離散圖案修補、裁切)。

簽核

審查是對證據的檢查,記錄在狀態檔案中:風格階段(設定表和 100% 比例的證明影格)、動態階段(帶音效觀看預覽,檢查剪接點是否與故事要點吻合)、交付階段(在目標螢幕上觀看主片)。你自己在檢查後簽核。點數的擁有者簽核上限,以及他們要求查看的任何關卡。絕不要求他們證明他們所看到的;也絕不要簽署你沒有檢查過的項目。

回報格式

<標題>: <階段>(共 9 階段的第 n 階段)
完成事項: <用白話說明發生了什麼變化>
證明: <顯示此結果的命令輸出、圖片或測量值>
點數: 已花費 <已花費> / 可用 <可用>;計畫總額 <總額>(符合 / 超支 x)
下一步: <一個動作>,預計於 <時鐘時間> 就緒
待辦事項: <任何未驗證或仍須完成的事項>

以答案開頭。回報中不要出現雜湊表或函式名稱。

回顧(引擎學習)

交付後,撰寫 lessons.md(範本位於 templates/):每一個耗費時間或點數的缺陷、其根本原因、本次的修復方式,以及對引擎的更改,以便下一部電影不再重蹈覆轍。然後進行該更改:一條帳本規則、一個評分標準、一條風格鎖定條款、一個價格、一個關卡。以下是實際的經驗教訓轉變為引擎功能的範例:

  • 一幀伴隨鳥畫得太小,導致五次重繪。現在:在帳本中為每個角色加上一個 scale 鎖定,每個設定表上加上比例尺,並且 ledger.py prompts 會在提示沒有鎖定時拒絕。
  • 「結局前不準用藍色」是透過在畫作偏離後執行的程式碼強制執行的。現在:一個 forbid 規則,在每幅畫作上測量,並且其條款必須出現在它所涵蓋的每個提示中。
  • 配樂的情感斷點(死亡,然後是寂靜)成為了將其分割成兩個提示的地方,這樣一次糟糕的錄製永遠不會毀掉另一半。現在:音樂簡報會命名其提示在寂靜處的分割點。

在花費任何點數之前(預檢)

  • production.py status:所有較早的關卡都已通過
  • budget.py:計畫符合預算,且未動用儲備金
  • 對於繪畫:ledger.py prompts 為此批次通過檢查,且批次數量為四個或更少
  • 要附加的參考檔案是正確的檔案,且順序與提示中命名的相同
  • 已使用 production.py spend 記錄此花費

修復表

症狀修復方式
點數在製作中途用完從未執行計畫,或忽略了緩衝:使用 budget.py 重新規劃,採取符合預算計畫的第一步
畫作彼此不相符風格階段太早通過:以 100% 比例重新閱讀證明,收緊風格鎖定,重新鎖定
剪接感覺很隨機跳過了配樂階段或未重新調整分鏡表時間:執行 forge-score 的測量和重新調整時間
同一個缺陷一再出現沒有回顧條目,或其引擎更改從未實施
沒人知道下一步要做什麼執行 production.py status;如果 NEXT 是錯的,則狀態檔案已過時:修正 stage 和 stages

參考資料

  • references/stages.md:每個階段的輸入、工作、產出和關卡檢查,逐一說明
  • references/production-state.md:production.yaml 逐欄位說明
  • references/budget.md:預算策略、層級、animatic 關卡、來自兩部真實電影的實際數字

工具(scripts/;在儲存庫的複本中:tools/):production.py, budget.py, shotlist.py, ledger.py, archive.py, beatmap.py, contact_sheet.py。範本:templates/。價格:config/prices.yaml。

Individual skills in this repo

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

gallowforge/forge-frame-qa

FilmForge frame QA: inspects every painting at full size against the character sheets and the continuity ledger, measures colour rules, palette and exposure with tools, scores it on a nine-criterion rubric and decides: accept, fix in code (naming the module and the exact parameters), or repaint (with the root cause and the full corrected prompt). Use this skill whenever paintings, stills, keyframes, character sheets or book pages come back from an image model, when the user asks whether...

gallowforge/forge-motion

FilmForge motion: plans each shot's life in code instead of credits (painted holds brought alive with drifting fog, ash, snow, rain, embers, glints, light sweeps, firelight flicker, heat shimmer, shake, lightning, glass cracks, transitions, golden threads, handwritten words and titles), maps every effect to the painted-film-pipeline renderer's exact parameters, applies frame-QA code fixes, exports the edit timeline and renders the preview; decides when paid video is worth its credits. Use...

gallowforge/forge-painter

FilmForge painter: writes every shot's image prompt from the shot list, the character sheets and the style lock, on a fixed twelve-slot order with continuity anchors (handles, anchors, scale locks, props, states, forbidden-colour clauses); keeps the continuity ledger; lints every prompt before a credit is spent; paints in batches of four and hands each batch to frame QA. Use this skill whenever the user wants image prompts for a film's shots or a picture book's pages, storyboard frames,...

gallowforge/forge-style-lock

FilmForge style lock: fixes one image model and setting, one look sentence (or two when the drawing itself carries the story), the palette and colour rules, the line, brush and lens language, the character-sheet specs with scale bars, and the prompt grammar every shot must follow, so every painting in a film or book matches. Use this skill whenever the user starts the visual side of a film, music video or picture book, wants consistent characters or one consistent look across many images,...

相關技能