eternityspring/shuohao-skills

novel-staging

给 AI 短剧的每一场排开场站位:先从场景图里认出能站能坐的东西(推算到俯视平面上), 再按剧本给每一场排谁在哪件东西的哪一侧、坐还是站、面朝哪、有没有群演, 程序写出每一场的开场走位句,分镜这一场第一段照抄它。 默认交付能拖动调整站位的 HTML 工具报告,页面内可导出 staging.json;JSON 同时作为工作数据保存,Markdown 按需导出。 8 道质量门全部由脚本确定性检查(认图件数、东西在图上、出场人物不多不少、在场的人落在认出来的东西上、 同一侧不叠人、群演写明在哪……)。吃 novel…

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/eternityspring/shuohao-skills --skill novel-staging

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

novel-staging

给 AI 短剧的每一场排开场站位:这一场一开始,每个出场的人在哪件东西旁、坐还是站、面朝哪。

为什么要单独排:短剧的每一段视频是一次独立生成,各段自己决定谁坐哪。群戏里六个人围一张长桌,第一段桌边多出五个没名字的宾客,第三段端酒坐着的人穿着主角的衣服。分镜的走位句一段接一段地交接,可每一场第一段的那一句是分镜自己编的,人看不到、改不动。所以在分镜之前,每场先定一份站位,分镜照抄。

交付解决什么
认图结果(每个地点 4–20 件东西)站位只落在图上真有的东西旁——提示词里写了、图上没画的高台,人坐上去,每段视频都不一样
俯视平面在透视的场景图上「桌子北侧」只是桌子后面一小条,前后深浅说不清;摆平了从上往下看,方位一目了然
开场站位(每场)谁开场就在、谁后来才进;坐还是站跟着剧本;主位、对立、孤立用位置说出来
开场走位句程序按站位写,一字不差交给分镜:「胡二爷坐在第三排坐板上,面朝北;其余座位空着,没有其他人。」
能调整的报告人在页面上拖动、改坐站和朝向,改完导出就是新的 staging.json,不用手改 JSON

{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/novel-staging.mjs,零依赖,node 直接跑。

边界(不做的事):不写分镜、不写剧本、不出图。只管开场那一刻——中途谁站起来、走到哪,是分镜的事,分镜从这一刻往后接着写。


Step 0 — 定输入

  • script.json(novel-script 的产出)——硬前提:有哪几场、每场在哪个地点、谁出场、剧本怎么写的
  • art.json(novel-art 的产出)——地点的名字;还没有图时,按它的锚点和主视角提示词推算
  • outline.json(novel-outline 的产出)——人物编号对应的名字(C01 → 沈知微)
  • 场景图——每个地点一张,放在 images/<地点名>-sheet.png(novel-art 的设定图版面,主视角在左上)。最好有:站位要落在图上真有的东西旁。没有图也能先排,但只是草稿(见 Step 2)

Step 1 — seed 骨架

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

确定性搬运:地点(按第一次出现的顺序)、每一场的集号场号、在哪个地点、光照时段、出场人物,每个人一条空的站位。这些事实不要让模型重新想一遍。 只要其中几集就加 --eps 1-3。

Step 2 — 认图(每个地点一次)

每个地点一份任务,能并发就并发。读 {baseDir}/references/read-pass.md,照着做:看场景图的主视角,认出人会站在旁边、坐在上面的东西,每件写名字、另一种语言、图上的框(box)、平面上的位置(plan)、能不能坐(on)、是不是圆的(round),4–20 件,readFrom 写 picture。

最重的两条:图里看不到的不写(提示词里有、图上没有的一律不写);`plan` 按透视推算,不是照抄 box。

还没有图:按 art.json 的锚点和主视角提示词推算,readFrom 写 prompt、不写 box。报告会标出来;图出来以后重新认一遍、核对站位。

Step 3 — 排站位(每场一次)

每场一份任务,能并发就并发(同一个地点连着几场的,按顺序排,保持位置连贯)。读 {baseDir}/references/staging-pass.md,拿这一场的剧本、出场人物和这个地点认出来的东西,给 places 里每个人填:开场在不在(present)、在哪件东西(item)的哪一侧(side)、沿这一侧多远(along)、坐还是站(posture)、面朝哪(facing);再填群演(extras / extrasWhere)和一句 why。

最重的三条:后来才进来的人开场不在;剧本没写有别人就没有群演;只使用认出来的那些东西。

Step 4 — 校验 ⛔ 不能跳

bash
node {baseDir}/scripts/novel-staging.mjs validate <staging.json> --script <script.json> --art <art.json>

8 道质量门全是代码:每个地点认了图且 4–20 件、东西的名字不重复且框合法(按图认的必须有 box)、每一场的地点都有认图结果、出场人物不多不少(给了 --script 还核对跟剧本一致)、每个人都定了在不在场且至少一人在场、在场的人落在认出来的东西上且方位坐站朝向合法、同一侧不叠人、群演人数是整数且写明在哪。

有违规逐条修,改完重跑,直到通过。

Step 5 — 默认交付 HTML 工具报告

bash
cd <输出目录>
node {baseDir}/scripts/novel-staging.mjs render staging.json > staging-report.html

默认主交付是 `staging-report.html`,完成后直接给用户报告链接或路径,不要只返回 JSON、Markdown 或一段聊天摘要。 render 不指定格式时直接输出 HTML,显式 --html 仍然支持。staging.json 作为工作数据保存,供校验、再次渲染和后续交接;仅在用户需要文本版时执行 render staging.json --md > staging.md。

staging-report.html 双击就能开,每一场一张俯视平面:

  • 拖动一个人换位置,松手时落在最近那件东西最近的一侧;拖回下面的托盘就是开场不在,从托盘拖进来就是在场
  • 点一下一个人,调整坐着/站着、朝向(八个方位)
  • 群演加减、写在哪;开场走位句和这一场的检查跟着实时更新
  • 改动存在浏览器里,刷新不丢;「导出 JSON」下载改过的 staging.json

把导出的文件覆盖回 staging.json,再跑一次 Step 4。报告界面默认中文,--lang en 出英文界面(走位句改用认图时写的另一种语言名字)。图在别处就用 --images <目录> 指过去。

用户也可以用一句话要求调整(「把胡二爷挪到船头」):照 staging-pass.md「按一句话调整」改,只动说到的人,再校验。

Step 6 — 交给分镜

bash
node {baseDir}/scripts/novel-staging.mjs blocking staging.json            # 每场一行:场次 + 开场走位句
node {baseDir}/scripts/novel-staging.mjs blocking staging.json --lang en  # 英文

分镜写每一场第一段的开场走位(novel-storyboard 的 blocking)时,照抄这一句;之后各段照旧由上一段的段末走位接下去。

先提供 HTML 工具报告链接或路径,再用一句话说清:几个地点(几个按图认的、几个按提示词推算的)、几场、几场有人开场不在、群演多少;没过的门明说。JSON 是配套工作数据,Markdown 不是默认交付项。

最终落地:

<输出目录>/
├── staging-report.html            ← 默认主交付,双击打开,拖动调整并导出 JSON
├── staging.json                   ← 工作数据,供校验、渲染和后续交接
└── images/                        ← 本 skill 不写这个目录
    └── <地点名>-sheet.png          ← novel-art 的场景设定图放这儿,认图和报告都使用它

在管线里的位置

novel-outline    → outline.json (人物名字)
novel-art        → art.json     (地点 + 场景图)
novel-script     → script.json  (每一场谁出场、怎么演)
novel-staging    → staging.json (每一场开场谁在哪)
novel-storyboard → storyboard.json(每一场第一段的开场走位照抄 staging)

seed 吃 script.json,--art 给地点名字,--outline 给人物名字。novel-storyboard 目前不自动读 staging.json:使用 blocking 命令打出的句子,写进分镜每场第一段的 blocking。

边界

  • 只排开场那一刻;中途换位置归分镜
  • 本 skill 不出图;场景图是 novel-art 的设定图出完以后放进 images/
  • 方位一律按场景说(东南西北、在哪件东西旁),不按画面说(左右)——画面左右由机位推出,机位一换就翻

自测

bash
node {baseDir}/scripts/selftest.mjs

99 项断言,不调模型、不花额度。8 道质量门每一道都有击穿用例;平面几何、拖动落点、走位句、seed、报告(中英界面、转义、嵌图)都覆盖;还会单独拿嵌进页面的那份算法的源码重建一份,核对跟命令行算的一样。改完脚本先跑这个。

自带样例

{baseDir}/examples/渡口-staging.json:《渡口》三个地点(渡口栈桥、渡船船舱、对岸芦苇滩)、九场的开场站位,全部质量门通过(对着样例剧本和美术)。样例没有场景图,三个地点都是按设定提示词推算的(readFrom: prompt)。当质量基准,也是自测夹具。

같은 저장소의 Skills

더 많은 Skills

모든 Skills
eternityspring
커뮤니티

character-refs

给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。 支持 Qwen Image(ComfyUI)、codex 内置出图、OpenAI Images API(GPT Image 2)和自定义命令,主图与派生图可以使用不同模型。 产出 asset.json + 一组 PNG + 双击就能开的报告。零依赖。 只要提示词、不出图的话使用 novel-characters。 Use when asked to 出角色图、做角色参考图、给我的角色出图、定妆照、真出三视图、character reference images。

설치 수
1
GitHub Stars
5천
업데이트
10월 15일
eternityspring
커뮤니티

novel-art

给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。 产出 art.json + Markdown + 单页评审报告(含导出 JSON)。 为 AI 生成而设计,不是实拍——环境和道具都是生成资产,交付的是让它们跨集长一样的一致性方案; 10 道质量门全部由脚本确定性检查(锚点 3–5、无人无手、白底可抠、尺度短语、提示词英文……)。 有 novel-outline 的 outline.json 就用 seed 预填场景清单与出现集。 零依赖、零 API key、不出图——交付的是提示词,出图在下游。 Use when asked to 场景设定、出场景、环境设定集、场景一致性、scene bibles for AI short drama。

설치 수
1
GitHub Stars
5천
업데이트
10월 15일
eternityspring
커뮤니티

novel-characters

从小说或短故事里拆出角色表、人物画像、形象提示词、音色提示词, 其中形象提示词含一张角色设定图的完整版面指令(左半身像 + 右全身三视图 + 细节条), 产出 JSON + Markdown + 可交互的 report.html。 报告语言可指定(--lang),默认中文,任意语言都支持;零依赖、零 API key、不出图。 Use when asked to 拆小说角色、分析人物、生成角色卡、character sheets from a novel。

설치 수
1
GitHub Stars
5천
업데이트
10월 15일
eternityspring
커뮤니티

novel-outline

把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。 14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉; 支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。 零依赖、零 API key,用当前会话额度。 Use when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。

설치 수
1
GitHub Stars
5천
업데이트
10월 15일