Communitygithub.com

worldwonderer/drama-skills

AI 短劇與漫劇創作技能套件,涵蓋劇本、資產、分鏡、圖片/影片提示詞到獨立審查全流程,支援 Claude Code 與 Codex。

drama-skills 是什麼?

這套技能專為 AI 短劇與漫劇創作設計,提供從概念發想到最終交付的完整工作流程。它支援 Claude Code 與 Codex 平台,透過明確的路由機制將創作者的意圖引導至對應的子技能,例如劇本寫作、資產拆解、圖片與影片提示詞生成、分鏡設計及獨立審查。技能強調「路由」而非替代創作判斷,確保每個環節都有明確的負責者,並內建狀態管理、事務恢復與衝突處理,防止靜默覆蓋或資料遺失。此外,它還包含本地 Dashboard 作為輕量級創作者介面,以及一套命令行工具(init、status、recover、publish、accept、review、package、verify)來處理專案初始化、狀態檢視、發佈與交付檢查。整體設計嚴格遵循多項參考契約(如 contract-and-ownership.md、creator-workflow.md),確保創作過程的透明性、可追溯性與獨立審查機制。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add worldwonderer/drama-skills

在你喜歡的 AI 中提問

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

說明文件

短劇創作路由

這是輕量專案路由,不在本技能內代寫故事、資產提示詞、鏡頭、影片提示詞或終審結論。

創作者可讀的內容跟隨專案 short-drama.json#/language(狀態、差異、選擇、下一步都算); 送給圖片/影片產生器的提示詞正文跟隨 #/format/prompt_language(預設 en)。 兩者是分開的欄位,不要用其中一個推斷另一個——status 會同時報出這兩個值, 完整規則見 contract-and-ownership.md 的輸出語言契約。

每次請求的起點

  1. 使用用戶明確路徑,或從當前目錄向上尋找最近的 short-drama.json。
  2. 從本技能安裝目錄找到同一套件的其他技能,讀取 suite-manifest.json;缺少技能或版本混用時先停止變更。
  3. 只讀 short-drama.json 與 .short-drama/state.json 摘要;不要一次載入全部創作檔案。
  4. 執行 status 或寫入前先執行事務恢復。發現外部編輯衝突時保留原檔案,提供 adopt、restore、merge 三種處理,不靜默覆蓋。
  5. 按創作者當前任務路由;不強制補走整條流水線。

入口、檢查點、修訂和交付見 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。

初始化

沒有專案且用戶要初始化時:

  1. 僅確認或合理推斷可逆格式預設值:標題、語言、提示詞語言、畫幅、路徑; 集數/時長未知就留空。語言預設取創作者當前使用的語言,提示詞語言預設 en; 創作者明確要求提示詞也用專案語言時按創作者的,不代為判斷品質後果。
  2. 複製專案模板,不覆蓋已有創作者檔案。
  3. 建立空階段目錄和非公開輸入邊界。
  4. 在 short-drama.json#/creator_authority 建立空的創作者限制、視覺方向和製作配置; 它們初始化為 unset,而資產及其下游都要求形態已定——所以初始化後要告知創作者: 定製作形態是下一個最有用的動作,入口在本技能(見意圖路由表),不在任何子技能; 實際選擇寫入 creator-decision.example.jsonl 所示的決定記錄。
  5. 記錄套件版本、契約版本與五項彼此獨立的空狀態。
  6. 告知專案路徑和最有用的創作者動作。

初始化不產生故事引擎、劇本或資產設定表。

開發階段若提交 專案開發/director-brief.md,先向創作者展示其相對當前 visual_direction / production_profile 的語義差異;只有明確接受後,路由才把相應選擇 提升到 short-drama.json#/creator_authority。候選檔案本身不具有 creator authority。

本地 Dashboard

當用戶呼叫 $short-drama dashboard 時,不再轉交子技能,直接啟動本技能自帶的 本地短劇創作台:

  1. 先按 runtime-preflight.md 核對套件並恢復未完事務。

  2. 工作目錄位於某個專案內時,以該專案根為 workspace;否則使用用戶明確 給出的容器目錄,未給出則使用當前目錄。不掃描 workspace 之外。

  3. 從本技能安裝目錄執行:

    python3 <short-drama-skill-dir>/scripts/dashboard_server.py --workspace <workspace> --port 0 --open
    
  4. 保持程序執行,回報腳本列印的完整回環地址(包含本次啟動的對話片段)和停止方式。 瀏覽器無法自動打開時,保留服務並讓用戶打開該完整地址。

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 冒充全部。

恢復與修訂

恢復用戶所問環節內最早未完成的作業,而不是全專案最早階段。變更已確認內容前:

  1. 指明負責修改的技能;
  2. 展示擬議的語義變化;
  3. 列出準確的下游受影響清單;
  4. 在需要時取得創作者接受;
  5. 交給負責人修改,並對新 hash 重新審查。

沒有 COMMIT 的不完整事務回滾到已儲存的上一個版本;已有 COMMIT 的不完整事務繼續到 candidate 並補齊狀態。恢復必須先讀後寫、可重複執行;無法確認來源的外部改動必須標為 conflict,不能覆蓋。

交付

先路由到 $short-drama-review 的 fresh 審查上下文校驗,再在交付檢查就緒時打包。只包含狀態為 accepted 的劇本、清單、提示詞、審查、創作者備註與校驗和。排除二進位媒體、非公開輸入、 機器狀態、絕對路徑、憑證、非公開來源材料和未批准草稿。

邊界

  • 只使用當前智慧體的文字推理;不呼叫媒體產生或服務介面。
  • 執行時不檢索外部或非公開生產來源。
  • 不把別處見過的案例提升為創作定律。
  • 負責人不能審查自己的產物。
  • 語義衝突不靜默修復。

相關技能