Agent Skills › anymouschina/TapCanvas › wardrobe-continuity-director

wardrobe-continuity-director

GitHub

追踪角色、道具及场景的物理状态时间线,防止跨镜穿帮。通过建立状态进度表和版本卡,确保视觉连续性,仅输出客观物理事实映射,供下游分镜与生成使用。

apps/agents-cli/skills/wardrobe-continuity-director/SKILL.md anymouschina/TapCanvas

触发场景

多镜头/章节内容生成 角色或场景状态需保持一致性

安装

npx skills add anymouschina/TapCanvas --skill wardrobe-continuity-director -g -y
更多选项

非标准路径

npx skills add https://github.com/anymouschina/TapCanvas/tree/main/apps/agents-cli/skills/wardrobe-continuity-director -g -y

不安装直接使用

npx skills use anymouschina/TapCanvas@wardrobe-continuity-director

指定 Agent (Claude Code)

npx skills add anymouschina/TapCanvas --skill wardrobe-continuity-director -a claude-code -g -y

安装 repo 全部 skill

npx skills add anymouschina/TapCanvas --all -g -y

预览 repo 内 skill

npx skills add anymouschina/TapCanvas --list

SKILL.md

Frontmatter
{
    "name": "wardrobe-continuity-director",
    "description": "妆造师\/连续性指导方法论(对标影视化妆造型师 + 场记 script supervisor):唯一职责=追踪并锁定每个角色\/道具\/关键场景的物理状态时间线,产出状态差量与逐镜绑定。角色状态卡统一交给 `tapcanvas-character-card`,场景状态与灯光版本统一交给 `tapcanvas-scene-card`;本 skill 不维护平行 prompt,只管有因果来源的可见状态。",
    "knowledge-role": "continuity",
    "requires-skills": [
        "tapcanvas-character-card",
        "tapcanvas-scene-card"
    ],
    "knowledge-domains": [
        "状态连续性",
        "角色一致性",
        "场景一致性"
    ],
    "disable-model-invocation": false
}

妆造师 / 连续性指导(物理状态时间线 · 跨镜跨章不穿帮)

定位:你对标影视剧组里两个真实工种的合体——化妆造型师(特效化妆/做旧)+ 场记(script supervisor / continuity)。剧组里场记每条镜都拍「连续性 stills」、按 story day 记录每个角色的伤口/血污/服装状态,化妆师按「伤情进度表」复刻跳拍镜次的伤况。你在 AI 管线里干同一件事:追踪并锁定每个角色/道具/关键场景的物理状态时间线,让状态演进连续、不忽好忽坏、不跨章重置。

病根案例(修仙片《地煞七十二变》ch38-39 实测):山蜘蛛 ch38 被剑划开肢节、破腹喷绿血,ch39 又被贯穿一眼(八眼→七眼、眼里插着剑);李长安虎口迸裂流血、力竭、最后被裹成人头茧——但角色卡永远是「完好基态」,于是带伤镜里角色却毫发无损=穿帮。这正是缺了妆造师/连续性指导。

职责边界(先划清,别越界)

你只管「物理状态事实层」——身体上、衣服上、道具上、场景里看得见、有因果来源的客观变化:

你管 ✅ 不归你 ❌
伤口/血痕/淤青/断肢/缺眼缺指 角色此刻是痛苦还是隐忍(=情绪导演 seedance-emotion-director)
血污溅身(自己的血/敌人的绿血) 痛得龇牙咧嘴的微表情演法(=情绪导演 + 生成师)
服装由整到破/脏/烧焦/浸湿的破损档 这一镜怎么运镜、景别、构图(=分镜师)
道具损耗(剑卷刃/断裂/带血/丢失) 镜头时长、节奏、模型选择(=导演)
关键场景的环境状态变化(着火→焦土、完好→坍塌、白天→入夜的场景实体改变) 写 clipPrompt / seedancePrompt 正文(=生成师,你只交「这镜用哪张状态卡」)

铁律:

  1. 你不拍片、不写 clipPrompt。你的产物是「状态版本卡(参考图) + 逐镜状态绑定映射」,交给分镜师/生成师去执行。
  2. 你只描述客观状态,不描述表演。状态卡上写「右眼眼眶撕裂、剑身斜插入眼、伤口外翻渗血」(事实),不写「痛苦地嘶吼」(那是情绪)。情绪是每镜变化层、由情绪导演写进 clipPrompt;状态是固定层、由你固化进参考卡——两者分离,否则把表演烤进状态卡会污染所有后续镜(和 emotion-director「禁把情绪写进锚定卡」同源)。

资产引用职责账本(给 Prompt Project Packet 的上游合同)

连续性指导不只登记“这一镜用哪张卡”,还要登记这张卡允许向下游证明什么、禁止顺手带走什么。这一步吸收 Hell Grind 公开提示词里最有价值的资产组织方式,但不改变 TapCanvas 现有 nodeId/assetId 与状态卡协议,也不要求你写视频提示词正文。

对每个角色、场景、道具、VFX 和画风资产,随状态映射补一条最小职责记录:

assetRef: 真实 nodeId / assetId / 父任务 @图N
referenceRole: character-appearance | environment-spatial-texture | prop-material-function | vfx-shape-motion | style-palette
locks: 当前版本必须保持的身份、材质、尺度、状态或空间事实
forbiddenTransfer: 不得从参考图继承的背景、构图、姿势、人物、镜头或色彩关系
stateVersion: 当前物理状态版本(若有)
source: 角色卡、场景卡、道具卡、状态版本卡或真实项目事实

职责边界:

  • character-appearance 只锁脸、发型、服装、体型、身份和物理状态,不锁角色卡的偶然姿势、背景或机位。
  • environment-spatial-texture 只锁空间布局、尺度、材质、天气和破坏状态,不把环境图里的角色、构图或镜头带入。
  • prop-material-function 只锁道具形状、材质、损耗、持有功能和尺度,不决定当前镜头的摆放路径。
  • vfx-shape-motion 只锁特效主形、边界、运动方向和材质反馈,不把参考图中的角色姿势或整套光晕继承下来。
  • style-palette 只锁媒介、颗粒、光影和色彩,不承担角色身份和场景事实。

如果父任务要求只从一张参考图取出一个元素,状态映射中明确记录 isolate-and-extract 意图:只提取目标对象,排除其余背景、地面、墙体、人物、构图和环境关系。无法判断一张图的职责是否冲突时,在交付映射中显式报告证据不足,不把整张图无边界传给 writer。

这份账本仍然只输出事实卡和映射:你不修改 clipPrompt,不替主代理选择 hard cut/长镜,不替 writer 决定镜头运动;你只保证下游知道哪张真实卡在当前状态、空间和引用职责上是合法的。

步骤一 · 建「状态进度表」(开工第一件事)

每个 clip 在分镜定稿前必须形成一份客观物理状态快照,至少逐角色记录:identityVersion / wardrobeVersion / hairState / bodyAndInjuryState / heldProps / wetDryState / dirtBloodState / positionFacingGaze,并逐道具/场景记录当前版本、所有者、损耗和空间位置。positionFacingGaze 只记录可观察的物理事实,不推断情绪。

相邻 clip 同时提交 stateIn/stateDelta/stateOut/resetCause:stateIn 必须逐字继承上一镜 stateOut;stateDelta 只能包含本镜有可见来源的变化;没有剧情明确的换装、清洁、治疗、时间跳跃或空间重置时,resetCause 必须为空且状态只允许单调累积。任何字段突然回到基态都视为连续性错误并显式报告,禁止用默认状态卡掩盖。

开工先读三样:本章/本条剧本原文 + 分镜师的镜头表 + 已有的角色卡/道具卡/场景卡。然后逐角色、逐关键道具、逐关键场景,沿本段时间线列出状态进度表(对标场记的 continuity breakdown / 化妆师的 injury progression chart):

角色:李长安
  S0 基态        = 已有角色卡(青衫整洁、虎口完好、双手健全、神态如常)
  S1 受伤        = 右手虎口迸裂渗血、衣袖少量血迹           ← 发生在【第7镜】之后
  S2 力竭+重伤   = 虎口血污扩散、青衫前襟溅满腥绿妖血、衣摆破损 ← 发生在【第19镜】之后
  S3 人头茧      = 全身被白色丝茧包裹、仅露头脸、面色惨白     ← 发生在【第31镜】之后

道具:青芒长剑
  P0 基态        = 一柄直剑、剑身青芒、无损(已有道具卡)
  P1 带血        = 剑身沾敌方绿血、刃口有一处缺口            ← 发生在【第12镜】之后

角色:山蜘蛛(妖)
  E0 基态        = 八眼俱全、八肢、腹部完好(已有怪物卡)
  E1 断肢        = 左侧两肢节被剑划断、断口外翻、腹部裂开喷绿血 ← 【第15镜】之后
  E2 贯眼        = 八眼→七眼,左上一眼被剑贯穿、剑身斜插眼中    ← 【第26镜】之后

场景:藏剑洞窟
  L0 基态        = 完好石窟(已有场景卡)
  L1 战损        = 石柱崩裂、地面绿血与碎石、洞壁多处剑痕      ← 【第20镜】之后

要点:

  • 每个状态档标注「发生在第几镜之后」——这是后面逐镜绑定的依据,也保证状态升级有来源镜(先有「受伤那一下」,后续才带伤;禁凭空出现/凭空消失)。
  • 状态单调累积:越打越惨、越用越损,符合因果。除非剧情明写「清创/换装/愈合」,否则后档不得回退到前档。
  • 跨段连点成线:山蜘蛛的 E1→E2 是连续的(断肢之后又被贯眼,断肢不会自愈),不是两个孤立事件。

步骤二 · 建档原则(控成本,但质量优先)

核心判断:只在「状态显著跳变处」建一张状态版本卡,轻微变化靠 clipPrompt 描述补,绝不每镜一张。

对标剧组:化妆师不是每个 take 重做妆,而是定几个「关键伤况节点」做参考,中间靠复刻;场记拍 stills 也只在状态变化的镜次重点记。

该建档(显著跳变):

  • 失一眼 / 断一肢 / 缺指——肢体拓扑改变(八眼变七眼这种数量/结构变化,模型靠文字描述根本守不住,必须给图)。
  • 重伤 + 大面积血污(虎口迸裂血流如注、满身溅血)。
  • 服装大破损档(整 → 大面积撕破/烧焦/浸透)。
  • 道具结构性损坏(断剑、剑插眼、卷刃带血)。
  • 被茧/被缚/被覆盖等整体外形改写。
  • 关键场景实体改变(着火、坍塌、被血与碎石覆盖)。

不建档(靠描述补即可):

  • 灰尘、薄汗、微弱喘息、轻微脏污——clipPrompt 一句话写清即可(生成师写)。
  • 同一伤况在多镜间的细微加深(血迹"略多一点")——不值一张卡,写进描述。

成本-质量平衡:一章里一个主角通常 2-4 个状态档足够(基态 + 1-3 个跳变),不是十几张。建档数 = 剧本里真正的状态跳变次数,按进度表数出来,别多建(浪费生图预算)也别漏建(漏了就穿帮)。

步骤三 · 状态卡生成纪律(反趋同 · 防换脸漂画风)

每个角色状态档必须把确定性差量交给 tapcanvas-character-card,由它以基态卡或上一状态卡做 image-edit 派生;本 skill 不直接编写或生成角色卡。

为什么:裸文字生成一个「受伤的李长安」,模型会重新发明一张脸、漂掉画风、改掉服装款式——身份直接断裂(和角色一致性护栏 E 同源)。正确做法是只改状态层、锁死其它一切:

  • 输入:同名基态/上一状态卡的精确 node/asset/version ID + 本 skill 提供的可见状态差量。
  • 指令只写差量:保持参考图人物五官、发型、服装款式、画风、机位完全一致;仅在右手虎口处增加迸裂伤口与渗血,前襟增加腥绿色血污溅染,衣摆增加战斗破损。只说要加什么状态,不重新描述这个人是谁——身份/五官/画风由参考图承载,不靠文字复述。
  • 断肢/缺眼类用 image-edit(局部改写)最稳:在基态怪物卡上「擦掉一肢/一眼、画上断口与插着的剑」,五官与画风不动。
  • 链式派生:S2 在 S1 卡上继续 edit(而非回到 S0),保证血污位置/破损形态承接前档,不是各档各画一套。
  • 项目画风由服务端 style lock 自动注入;不得在本 skill 复制画风 URL 或自行拼角色卡参考图。

注册为 material 状态版本(跨章复用的关键):tapcanvas-character-card 生成的状态卡注册回该角色设定库,带精确 stateDescription + stateKey + stateVersionId + visualStateFacts。道具/场景状态仍由各自资产职责处理,不冒充角色卡。

步骤四 · 逐镜状态绑定(交付给分镜师/生成师)

按状态进度表里每档的「发生在第几镜之后」,产出一张逐镜状态映射表:

镜1-7   → 李长安 S0 基态卡 | 山蜘蛛 E0 基态卡 | 剑 P0
镜8-11  → 李长安 S1 受伤卡 | 山蜘蛛 E0       | 剑 P0
镜12-14 → 李长安 S1       | 山蜘蛛 E0       | 剑 P1 带血
镜15-18 → 李长安 S1       | 山蜘蛛 E1 断肢卡 | 剑 P1
镜19-25 → 李长安 S2 重伤卡 | 山蜘蛛 E1       | 剑 P1
镜26-30 → 李长安 S2       | 山蜘蛛 E2 贯眼卡 | 剑 P1
镜31-末 → 李长安 S3 人头茧 | 山蜘蛛 E2       | 剑 P1
  • 伤前镜用前档,伤后镜用后档——这是「越打越惨、不忽好忽坏」的执行抓手。
  • 交给分镜师/生成师后,让 storyPlan 的每镜 referenceImageNodeIds / storyboardImageNodeId 指向该镜对应的正确状态卡,而不是一律指基态卡。你不改 storyPlan,只交「哪镜配哪卡」的映射,由他们落进引用。
  • 状态切换的那一镜本身(受伤那一下、被贯眼那一下):前帧用前档、后帧/产物用后档,绑定要标清楚(这是状态跳变的"来源镜")。

步骤五 · 跨章末态延续(开新章第一查)

新章/新条开工,先查上一章末态作为本章起始状态。 不是回到「完好基态」。

  • 例:ch40 开工 → 查 ch39 末态 → 李长安起始 = 人头茧 S3(不是青衫整洁基态)、山蜘蛛起始 = 七眼+剑插眼 E2、洞窟 = 战损 L1。把这些末态卡作为 ch40 的 S0/E0/L0 起点,再在其上继续推状态进度表。
  • 实现:按名查设定库该角色/道具的最新状态版本(latest state version)作为本章基线;若上一章末态没注册卡,回查上一章进度表末档补建。
  • 忌:每章都从干净基态卡起跑——这是跨章穿帮最常见的源头(前一章打成重伤,下一章又精神抖擞)。

自检清单(产出状态卡 + 绑定映射后逐条对照)

  • 已读剧本原文 + 镜头表 + 已有角色/道具/场景卡,逐角色/道具/关键场景列了状态进度表
  • 每个状态档标注了「发生在第几镜之后」,且状态升级有来源镜(非凭空出现/消失)
  • 状态单调累积(越打越惨/越用越损),无剧情依据的回退已排除
  • 只在显著跳变处建档(失眼/断肢/重伤血污/大破损/道具损坏/外形改写),轻微变化交描述补——没出现「每镜一张卡」的浪费
  • 每张状态卡都是基态卡 image-edit 派生(参考图 + 只写差量伤情),没有裸文字重生;链式档在前档上继续 edit
  • 状态卡只含客观物理状态,未把表演/情绪烤进卡(情绪归 emotion-director 写每镜 clipPrompt)
  • 状态卡已注册为 material 状态版本(stateDescription + stateKey),可跨章按名复用
  • 产出了逐镜状态绑定映射(第N镜→哪档卡),伤前镜用前档、伤后镜用后档
  • 新章已查上一章末态作为起始状态(非回到干净基态)

反例(这些就是穿帮)

  • ❌ 剧本明写「虎口迸裂血流如注、满身绿血」,全章所有镜都用干净基态卡 → 伤不见伤(最常见)。
  • ❌ 这镜满身血、下一镜干净如新(忽好忽坏)→ 没做逐镜绑定、所有镜都指基态卡。
  • ❌ 山蜘蛛被贯一眼后,后续镜又是八眼俱全 → 肢体拓扑改变没建状态卡、靠文字守不住。
  • ❌ 用「裸文字生成受伤的李长安」→ 换了张脸、漂了画风(没做 image-edit 派生)。
  • ❌ ch40 开工,李长安回到青衫整洁基态、蜘蛛八眼俱全 → 没查上一章末态。
  • ❌ 状态卡上写「李长安痛苦地嘶吼着」→ 把情绪烤进固定层,污染所有引用此卡的镜(越界 emotion-director 的活)。

版本历史

  • 2.0.1 当前 2026-09-22 10:29

同 Skill 集合

apps/agents-cli/skills/aesthetic-audit/SKILL.md
apps/agents-cli/skills/agent-builder/SKILL.md
apps/agents-cli/skills/agents-team-book-metadata/SKILL.md
apps/agents-cli/skills/agents-team/SKILL.md
apps/agents-cli/skills/cinematic-feel-director/SKILL.md
apps/agents-cli/skills/code-review/SKILL.md
apps/agents-cli/skills/cognitive-memory/SKILL.md
apps/agents-cli/skills/ecom-details-image/SKILL.md
apps/agents-cli/skills/evolver/SKILL.md
apps/agents-cli/skills/generate-media/SKILL.md
apps/agents-cli/skills/gpt-image-2-gen/SKILL.md
apps/agents-cli/skills/khazix-writer/SKILL.md
apps/agents-cli/skills/long-running-app-harness/SKILL.md
apps/agents-cli/skills/mcp-builder/SKILL.md
apps/agents-cli/skills/pdf/SKILL.md
apps/agents-cli/skills/seamless-transition-director/SKILL.md
apps/agents-cli/skills/seedance-2-video-gen/SKILL.md
apps/agents-cli/skills/seedance-3d-cartoon/SKILL.md
apps/agents-cli/skills/seedance-car-vehicle/SKILL.md
apps/agents-cli/skills/seedance-emotion-director/SKILL.md
apps/agents-cli/skills/seedance-epic-fantasy-scifi/SKILL.md
apps/agents-cli/skills/seedance-fashion-lookbook/SKILL.md
apps/agents-cli/skills/seedance-horror-suspense/SKILL.md
apps/agents-cli/skills/seedance-meme-comedy/SKILL.md
apps/agents-cli/skills/seedance-pet-animal/SKILL.md
apps/agents-cli/skills/seedance-retro-dv-home-video/SKILL.md
apps/agents-cli/skills/seedance-sports-extreme/SKILL.md
apps/agents-cli/skills/seedance-storyboard-grid-to-video/SKILL.md
apps/agents-cli/skills/seedance-travel-city-walk/SKILL.md
apps/agents-cli/skills/skill-creator/SKILL.md
apps/agents-cli/skills/tapcanvas-api/SKILL.md
apps/agents-cli/skills/tapcanvas-character-card/SKILL.md
apps/agents-cli/skills/tapcanvas-collage-local/SKILL.md
apps/agents-cli/skills/tapcanvas-continuity/SKILL.md
apps/agents-cli/skills/tapcanvas-design-to-web/SKILL.md
apps/agents-cli/skills/tapcanvas-dialogue-drama/SKILL.md
apps/agents-cli/skills/tapcanvas-dramatic-adapter/SKILL.md
apps/agents-cli/skills/tapcanvas-generate-scene-references/SKILL.md
apps/agents-cli/skills/tapcanvas-generate-shot-placeholders/SKILL.md
apps/agents-cli/skills/tapcanvas-high-energy-action/SKILL.md
apps/agents-cli/skills/tapcanvas-parse-video/SKILL.md
apps/agents-cli/skills/tapcanvas-prompt-specialists/SKILL.md
apps/agents-cli/skills/tapcanvas-prop-card/SKILL.md
apps/agents-cli/skills/tapcanvas-public-chat/SKILL.md
apps/agents-cli/skills/tapcanvas-scene-card/SKILL.md
apps/agents-cli/skills/tapcanvas-screenwriter/SKILL.md
apps/agents-cli/skills/tapcanvas-source-coverage/SKILL.md
apps/agents-cli/skills/tapcanvas-storyboard-expert/SKILL.md
apps/agents-cli/skills/tapcanvas-style-pack/SKILL.md
apps/agents-cli/skills/tapcanvas-video-authoring-stages/SKILL.md

元信息

文件数
0
版本
2.0.1
Hash
95326313
收录时间
2026-09-22 10:29

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-15 16:08
浙ICP备14020137号-1