Community程式設計與開發github.com

eternityspring/shuohao-skills

為 AI 短劇產出美術設定集(場景 + 敘事道具):場景的設計意圖、一致性錨點、光照時段變體、空景提示詞;道具的戲劇功能、狀態變體、尺度參照、白底無手提示詞。產出 art.json + Markdown + 單頁評審報告(含匯出 JSON)。

shuohao-skills 是什麼?

此技能專為 AI 短劇(如短影集、微電影)產出「美術設定集」,核心目標是確保 AI 生成的場景與道具在外觀上保持一致。它與實拍不同,不需搭景或採買,而是專注於產出可供下游 AI 生成工具使用的提示詞與規範。技能支援從 `novel-outline` 的 `outline.json` 中自動匯入場景清單與道具種子數據,並要求每個場景定義 3–5 個「一致性錨點」(如補丁船篷、特定色調),供後續 QC 核對。此外,它為每個道具定義狀態變體(如皮箱的合上與打開)、尺度參照(防止 AI 將手持道具畫成家具尺寸),並強制要求白底無手的設定圖,確保可被後製貼合到不同鏡頭。技能透過 10 道質量門(包含錨點數量、無人物、提示詞全英文、不含角色名等)進行程式化校驗,並產出包含 KPI 面板、場景/道具設定卡、質量門報告與 JSON 匯出功能的 HTML 報告。此技能零依賴、不需 API key、不出圖,專注交付高品質的提示詞與一致性方案,適合與 `novel-outline`(大綱)和 `novel-characters`(角色)技能協作,形成完整的 AI 短劇資產產出鏈。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/eternityspring/shuohao-skills/tree/HEAD/skills/novel-art

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

novel-art

給 AI 短劇出美術設定集:場景 + 敘事道具。前提刻在骨子裡:這是 AI 生成,不是實拍——沒有堪景搭景置景採買,環境和道具都是要被生成幾十次還得長一樣的資產,所以交付物全部圍繞一致性:

交付解決什麼
一致性錨點(每景 3–5 個)觀眾靠它認場景,QC 靠它核對生成鏡頭有沒有漂
光照時段變體AI 換時段是重新生成不是重新打燈,每個狀態落成完整提示詞
空景出圖提示詞環境和角色是兩層資產,參考圖裡混進人,一致性全毀
變體機制(variantOf)生成新景便宜,但變體複用母場景資產更一致
道具狀態變體皮箱的合上與打開是兩張參考圖——道具有狀態弧,場景沒有
道具尺度參照AI 經常把手持道具畫成家具尺寸,提示詞必須帶尺度短語
道具白底無手道具圖要被貼進各種鏡頭,必須可摳;拿著道具的手是最常見污染

{baseDir} = 本文件所在目錄。腳本 {baseDir}/scripts/novel-art.mjs,零依賴,node 直接跑。

邊界(不做的事):不做分鏡、不寫劇本、不管角色(novel-characters 的活)、不排大綱(novel-outline 的活)。道具只收敘事道具(有特寫、跨集、承載劇情的,通常 3–8 件)——場景陳設歸場景錨點,一次性手部道具鏡頭級提示詞解決,都不單獨建資產。


Step 0 — 定輸入

三種輸入,優先級從高到低:

  1. outline.json(novel-outline 的產出)——最優,場景清單、出現集、承載爽點、複用方案都是現成的
  2. 小說原文——自己歸納場景清單(主舞台優先,參考 novel-outline 的主場景上限思路:別貪多)
  3. 用戶手寫的場景清單

有 cast.json(novel-characters 的產出)也帶上——校驗「提示詞不含角色名」要用。

Step 1 — seed 骨架(有 outline.json 才有這步)

node {baseDir}/scripts/novel-art.mjs seed <outline.json> > <workdir>/art.json

確定性搬運:場景 id/名稱/主場景標記/出現集/承載爽點,帶複用方案的場景會有 seedNote 提示做成變體。這些事實不要讓模型重新想一遍。

沒有 outline.json 就自己按 references/schema.md 建清單。

Step 2 — 逐場景填設定 + 提取敘事道具

每個場景一份,能並發就並發。每份任務拿到:

  • {baseDir}/references/scene-pass.md 和 {baseDir}/references/schema.md(讀它們,照著做)
  • 該場景的骨架 + 原文/大綱裡關於這個空間的全部資訊
  • 同批其他場景的名字(空間氣質要區分開,別都寫成同一種破舊)

核心要求都在 scene-pass.md 裡,最重的三條:錨點要可畫可認可核對(「補丁船篷」是錨點,「陳舊的氛圍」是形容詞);光照狀態從分集反推,不寫用不上的全家桶;能做變體就別開新景。

敘事道具優先吃大綱:outline.json 從 1.1.0 起帶 props,seed 會把道具表連同「承載什麼」「托起哪幾個爽點」「哪幾集出現」一起搬過來,這一層只填設計欄位(尺度、錨點、狀態變體、白底提示詞)。大綱沒有 props 就從原文提取,那時這步是模型的活:只收有特寫、跨集出現、承載劇情的,通常 3–8 件,跟主角數量一個量級。每件按 references/prop-pass.md 填:戲劇功能、錨點、狀態變體、尺度、白底無手提示詞。皮箱這種「跟人走的道具」就該在這——塞進場景錨點和角色畫像都不對。

Step 3 — 校驗 ⛔ 不能跳

node {baseDir}/scripts/novel-art.mjs validate <art.json> --cast <cast.json>

10 道質量門全是程式碼。場景 + 共用 6 道:錨點 3–5、光照狀態 ≥1、無人、提示詞全英文、不含角色名(給了 --cast 才查)、變體引用完整。道具專屬 4 道:狀態 ≥1、尺度短語寫進提示詞、反向詞禁手、設定圖純白背景。

有違規逐條修,改完重跑,直到通過。

Step 4 — 輸出與彙報

cd <輸出目錄>
node {baseDir}/scripts/novel-art.mjs render <劇名>-art.json --md   > <劇名>-art.md
node {baseDir}/scripts/novel-art.mjs render <劇名>-art.json --html > art-report.html

報告介面預設中文;用戶要英文介面就加 --lang en(或在 art.json 頂層寫 "lang": "en",--lang 優先)。render 預設去 art.json 同級的 images/<slug>-sheet.png 找圖(場景和道具都找),圖在別處就用 --images <目錄> 指過去——本 skill 不產生這些檔案,下游出完圖重跑一次 render 就能嵌進報告。報告含:KPI 帶、場景清單、場景設定卡、道具清單、道具設定卡(錨點核對表 / 狀態變體 / 提示詞包全帶複製按鈕)、質量門面板、匯出 JSON(下載的就是 art.json 原樣)。

彙報一句話說清:幾個場景(主場景/變體各幾)、幾件道具、錨點總數、報告路徑;沒過的門明說。

不要說「已出圖」——這一步不存在了,交付的是提示詞。

最終落地:

<輸出目錄>/
├── <劇名>-art.json
├── <劇名>-art.md
├── art-report.html                ← 雙擊就能開
└── images/                        ← 本 skill 不寫這個目錄
    └── <slug>-sheet.png           ← 下游出完圖放這兒,render 會撿起來

三個 skill 的接力

novel-outline    → outline.json (什麼:結構與分集)
novel-characters → cast.json    (誰:角色資產)
novel-art        → art.json     (哪裡 + 手裡拿的:美術資產)

seed 吃 outline.json 的場景與道具兩塊(大綱沒有 props 時道具留空,模型從原文提取),--cast 吃 cast.json。三份 JSON 各自的報告都帶匯出按鈕,改完都能餵回各自的 render/validate。

邊界

  • 報告介面內建中英(--lang,預設中文、或跟 art.json 的 lang 欄位);出圖提示詞永遠英文
  • 本 skill 不出圖。image.sheet 是給下游的版面指令,版面規格見 references/sheet.md
  • 場景數量不設硬上限——上限在 novel-outline 的主場景門那裡管;這裡管的是每個資產的品質
  • 道具只收敘事道具,3–8 件為宜——每多一件就多一份跨集一致性維護

自測

node {baseDir}/scripts/selftest.mjs

151 項斷言,不調模型、不花額度。10 道質量門每一道都有擊穿用例。改完腳本先跑這個。

自帶範例

{baseDir}/examples/渡口-art.json:《渡口》三場景 + 兩件敘事道具(舊皮箱、縣衙舊硯)的完整設定,全部質量門通過(含對著 novel-characters 範例 cast 的角色名檢查)。當品質基準,也是自測夾具。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能