短劇創作路由
這是輕量專案路由,不在本技能內代寫故事、資產提示詞、鏡頭、影片提示詞或終審結論。
創作者可讀的內容跟隨專案 short-drama.json#/language(狀態、差異、選擇、下一步都算);
送給圖片/影片產生器的提示詞正文跟隨 #/format/prompt_language(預設 en)。
兩者是分開的欄位,不要用其中一個推斷另一個——status 會同時報出這兩個值,
完整規則見 contract-and-ownership.md 的輸出語言契約。
每次請求的起點
- 使用用戶明確路徑,或從當前目錄向上尋找最近的
short-drama.json。 - 從本技能安裝目錄找到同一套件的其他技能,讀取
suite-manifest.json;缺少技能或版本混用時先停止變更。 - 只讀
short-drama.json與.short-drama/state.json摘要;不要一次載入全部創作檔案。 - 執行
status或寫入前先執行事務恢復。發現外部編輯衝突時保留原檔案,提供adopt、restore、merge三種處理,不靜默覆蓋。 - 按創作者當前任務路由;不強制補走整條流水線。
入口、檢查點、修訂和交付見 creator-workflow.md。
每次入口先執行 runtime-preflight.md,統一驗證安裝、恢復事務並讀取專案狀態。
所有權、檔案過期標記 stale、隱私或恢復有疑問時讀
contract-and-ownership.md。
意圖含混時讀 routing-examples.md。
只在需要把規則 ID 定位到負責技能時讀
knowhow-index.md;路由只負責分派,不代替創作技能判斷。
一張參考圖可以決定什麼、以及首尾幀契約見 reference-roles.md;
觀眾此刻可以知道什麼見 audience-reveal.md;
補拍與替代版和母版的關係見 pickup-and-alternate.md。
不同製作形態的執行翻譯見 production-form-profiles.md。
需要在正式分鏡前用人物、地點和高壓力代表幀統一視覺語言時讀
look-development.md。
意圖路由
| 創作者意圖 | 路由 |
|---|---|
| 開發點子、故事承諾、系列、分集地圖 | $short-drama-develop |
| 導入小說/長材料並做可追溯分集與資產候選預覽 | $short-drama-novel-analyze → $short-drama-develop → 接受改編/分集 → $short-drama-write → 接受劇本 → $short-drama-assets |
| 判斷一本長篇值不值得改、先看抽樣快評 | $short-drama-novel-analyze |
| 寫/改單集契約、因果節拍、劇本 | $short-drama-write |
| 拆人物/造型、地點/視圖、道具/狀態 | $short-drama-assets |
| 寫人物/地點/道具/局部修改的圖片提示詞 | $short-drama-image-prompts |
| 做原文覆蓋、鏡頭或凍結關鍵幀 | $short-drama-storyboard |
| 寫動作/表演/運鏡/聲音影片提示詞 | $short-drama-video-prompts |
| 定畫風、製作形態或視覺方向 | $short-drama 本身:按 production-form-profiles.md 定位一張形態卡,產出候選並請創作者接受,再提升到 creator_authority。資產、圖片提示詞、分鏡與影片提示詞都要求形態已定,且都不自行選擇,所以這一步必須在這裡完成 |
| 做 Look Development / 風格幀 | $short-drama 先明確並接受可觀察視覺方向 → $short-drama-image-prompts 寫 lookdev_frame 文字規格;不產生圖片,也不讓風格參考接管身份、地理或劇情狀態 |
| 用授權生產觀察校準本專案 | $short-drama-review 綁定準確版本並診斷 → 對應 owner 做有 preserve_set 的定點修訂 → 重新接受與 fresh re-review;沒有授權觀察時只報文字風險 |
| 校驗、審查或發修訂請求 | $short-drama-review |
| 只檢查或診斷模板感、AI 味 | fresh $short-drama-review,只發帶證據 finding |
| 直接去 AI 味、潤色或定點改稿 | $short-drama-write,保留作者聲音並展示語義差異 |
| 先檢查再改 | fresh review → write owner 定點修訂 → fresh re-review |
| 打開 Dashboard、短劇創作台或管理創作內容 | $short-drama dashboard:執行下方「本地 Dashboard」啟動契約 |
創作者明確意圖優先於名義上的「下一檢查點」。Look Development 是可選的專案級分支,不是通用前置; C2 資產接受後,圖片提示詞和分鏡是平行分支;創作者只要其中一支時,不強迫等待另一支。
若當前上下文參與過目標檔案的創作,審查路由必須優先啟動 fresh reviewer agent/context,
只傳目標、已接受限制和審查表;執行環境不支援 fresh agent 時透明降級為 PROVISIONAL
自檢,不能把切換 Skill 名稱當成獨立審查。
「像不像模板/AI 寫的」是診斷請求;「把它改掉」是 owner 修訂請求。不要讓 write owner
先自診斷再給自己簽發結論,也不要讓 reviewer 越權直接改正文。組合請求先凍結目標版本,
由 fresh reviewer 定位證據和損失,再交 write owner 只改被接受的範圍,最後換一個 fresh
reviewer 對新 hash 做 re-review;任何無法取得獨立上下文的環節都保持 PROVISIONAL。
初始化
沒有專案且用戶要初始化時:
- 僅確認或合理推斷可逆格式預設值:標題、語言、提示詞語言、畫幅、路徑;
集數/時長未知就留空。語言預設取創作者當前使用的語言,提示詞語言預設
en; 創作者明確要求提示詞也用專案語言時按創作者的,不代為判斷品質後果。 - 複製專案模板,不覆蓋已有創作者檔案。
- 建立空階段目錄和非公開輸入邊界。
- 在
short-drama.json#/creator_authority建立空的創作者限制、視覺方向和製作配置; 它們初始化為unset,而資產及其下游都要求形態已定——所以初始化後要告知創作者: 定製作形態是下一個最有用的動作,入口在本技能(見意圖路由表),不在任何子技能; 實際選擇寫入 creator-decision.example.jsonl 所示的決定記錄。 - 記錄套件版本、契約版本與五項彼此獨立的空狀態。
- 告知專案路徑和最有用的創作者動作。
初始化不產生故事引擎、劇本或資產設定表。
開發階段若提交 專案開發/director-brief.md,先向創作者展示其相對當前
visual_direction / production_profile 的語義差異;只有明確接受後,路由才把相應選擇
提升到 short-drama.json#/creator_authority。候選檔案本身不具有 creator authority。
本地 Dashboard
當用戶呼叫 $short-drama dashboard 時,不再轉交子技能,直接啟動本技能自帶的
本地短劇創作台:
-
先按 runtime-preflight.md 核對套件並恢復未完事務。
-
工作目錄位於某個專案內時,以該專案根為
workspace;否則使用用戶明確 給出的容器目錄,未給出則使用當前目錄。不掃描 workspace 之外。 -
從本技能安裝目錄執行:
python3 <short-drama-skill-dir>/scripts/dashboard_server.py --workspace <workspace> --port 0 --open -
保持程序執行,回報腳本列印的完整回環地址(包含本次啟動的對話片段)和停止方式。 瀏覽器無法自動打開時,保留服務並讓用戶打開該完整地址。
Dashboard 只有一個創作頁面:左側是按專案與劇集整理的通俗內容目錄,右側是常駐正文;
打開專案後自動載入劇本,切換內容只替換正文,不打開新頁面或浮層。待辦與匯出只作為
正文下方的簡短提示。介面不顯示檔案樹、真實路徑、結構化格式、生命週期或工程詳細入口。
Markdown 作為文稿閱讀和編輯;結構化資料轉換為卡片;圖片和影片只預覽。
short-drama.json、.short-drama/**、創作者決定、檢查證據和匯出校驗均由系統維護,
不成為創作者導航。儲存只表示儲存修改,不能替代創作者明確採用某個版本。
它不連接外部資料源、不呼叫媒體產生介面,也不向瀏覽器注入金鑰。
每次啟動產生獨立對話憑證和 API 路徑;瀏覽器用位址片段換取 HttpOnly 本機會話,
專案 API 僅接受該對話。
具體參數見 lifecycle-commands.md。
確定性工具
從本技能安裝目錄呼叫 scripts/project_tool.py,不依賴當前工作目錄:
| 命令 | 用途 |
|---|---|
init | 初始化最小專案 |
status | 讀取生命週期與恢復摘要 |
recover | 恢復全部或指定事務 |
publish | 透過預寫日誌發布 candidate,不附帶接受或審查結論 |
accept | 用創作者決定記錄接受準確的 candidate 目標 |
review | 用獨立審查結論更新校驗與審查狀態 |
package | 複驗五軸、依賴和證據後產生文字交付包 |
verify | 用交付包自帶的校驗和複核它,並報告未登記的新增檔案 |
只有實際呼叫這些命令、診斷失敗或核對記錄格式時,才讀取 lifecycle-commands.md 中的完整呼叫範例、預寫日誌、接受、 審查、下游過期影響與打包約束。
狀態與下一步
用創作者語言說明:
- 已存在且狀態為
accepted的來源; - 狀態為
provisional、stale、blocked或待創作者接受的內容; - 當前可平行進入的分支;
- 推動用戶所求結果的最小動作。
除非用戶要求診斷,不列印 hash、事務 ID、內部資料結構或原始狀態內容。
五項狀態彼此獨立:建構、校驗、創作者接受、獨立審查和交付檢查;不得用一個
accepted 冒充全部。
恢復與修訂
恢復用戶所問環節內最早未完成的作業,而不是全專案最早階段。變更已確認內容前:
- 指明負責修改的技能;
- 展示擬議的語義變化;
- 列出準確的下游受影響清單;
- 在需要時取得創作者接受;
- 交給負責人修改,並對新
hash重新審查。
沒有 COMMIT 的不完整事務回滾到已儲存的上一個版本;已有 COMMIT 的不完整事務繼續到
candidate 並補齊狀態。恢復必須先讀後寫、可重複執行;無法確認來源的外部改動必須標為
conflict,不能覆蓋。
交付
先路由到 $short-drama-review 的 fresh 審查上下文校驗,再在交付檢查就緒時打包。只包含狀態為 accepted
的劇本、清單、提示詞、審查、創作者備註與校驗和。排除二進位媒體、非公開輸入、
機器狀態、絕對路徑、憑證、非公開來源材料和未批准草稿。
邊界
- 只使用當前智慧體的文字推理;不呼叫媒體產生或服務介面。
- 執行時不檢索外部或非公開生產來源。
- 不把別處見過的案例提升為創作定律。
- 負責人不能審查自己的產物。
- 語義衝突不靜默修復。