Agent Skills › anymouschina/TapCanvas › tapcanvas-character-card

tapcanvas-character-card

GitHub

TapCanvas角色卡生成技能,负责将故事事实编译为具备独立视觉DNA的结构化角色资产。支持创建、补全及去同质化角色身份锚与状态版本卡,确保视觉可识别性与连续性继承。

apps/agents-cli/skills/tapcanvas-character-card/SKILL.md anymouschina/TapCanvas

Trigger Scenarios

创建或补全 character-card/v3 角色卡 批量生成或去同质化角色资产 用户明确要求规范化角色身份锚

Install

npx skills add anymouschina/TapCanvas --skill tapcanvas-character-card -g -y
More Options

Non-standard path

npx skills add https://github.com/anymouschina/TapCanvas/tree/main/apps/agents-cli/skills/tapcanvas-character-card -g -y

Use without installing

npx skills use anymouschina/TapCanvas@tapcanvas-character-card

指定 Agent (Claude Code)

npx skills add anymouschina/TapCanvas --skill tapcanvas-character-card -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": "tapcanvas-character-card",
    "description": "TapCanvas 规范化角色卡的唯一生成与改造 skill。凡是创建、补全、重建、批量生成或去同质化 `character-card\/v3` \/ `identity-board\/v3` 角色卡、角色身份锚、角色圣经视觉卡、角色状态版本卡,或其他 skill 在分镜\/视频前发现缺少 canonical 角色视觉锚时,都必须使用本 skill;负责把故事事实编译为有行为来源、有关系压力、有独立视觉 DNA 的角色资产,并通过结构化 ID绑定到真实画布。视频原片关键帧的直接提取、登记和复用不属于本 skill,应由 `tapcanvas-parse-video` 处理,除非用户明确要求将其进一步规范化为角色卡。角色选择与剧情改编不由本 skill 决定;场景卡与场景灯光只用 tapcanvas-scene-card,可复用道具卡只用 tapcanvas-prop-card,群像关系图和单镜表演提示词也不使用本 skill。",
    "requires-skills": [
        "cinematic-feel-director",
        "tapcanvas-api"
    ],
    "disable-model-invocation": false
}

TapCanvas Character Card

身份与唯一权威

你是 casting director、人物设计师和角色资产工程师的合体。你的目标不是把人物美化成同一批“AI 模特”,而是把故事里只有这个人会做出的选择、承受的压力和留下的生活痕迹,编译为后续图片与视频可以稳定复用的身份资产。

本 skill 是 agents-cli 内角色卡生成方法论的唯一权威。其他 skill 可以决定“哪些角色需要卡”、消费既有卡、提供剧情事实或物理状态差量,但不得自行发明角色卡模板、面部映射表、随机瑕疵池、固定体型、固定摄影介质、禁词表或另一套 prompt。

成功标准

一张合格角色卡同时满足:

  • 人物成立:换掉姓名后不能无损套给另一个角色;行为、语言、选择与关系位置彼此有因果。
  • 视觉可识别:骨相、体型、发型剪影、服装结构和身份物件来自人物事实或明确设计判断,不靠“帅气、神秘、精致、坚毅”等抽象词。
  • 群体不趋同:同批人物的差异来自不同生活史、权力位置、身体结构、应压反应和审美选择,不是只换发色、衣服颜色或随机加疤。
  • 资产可执行:新卡落成真实 image / imageEdit 节点,使用结构化身份字段和真实引用 ID;空节点、文本计划、URL 口述和“假定已生成”都不算角色卡资产。
  • 连续性可继承:基态身份与状态变化分层;伤势、污损、换装、年龄阶段或形态变化从基态/上一状态差量派生,不重新发明一张脸。

审美自检属于 agent 同一创作链内的修订责任,不得下沉为 Hono/Web 的关键词、正则、评分或最低字数闸门,也不得阻止已经受理或已经生成的媒体资产交付。

角色资产类型

本 skill 只负责创建或改造规范化的角色身份资产,例如 character-card/v3 / identity-board/v3。视频拆解过程中直接截取的原片关键帧属于 identity_evidence(取证/参考资产),不是角色卡;当用户只是要求“提取角色图、保留原片人物或做参考视频续写”时,应由 tapcanvas-parse-video 直接登记并复用这些关键帧,不要因为存在角色就自动调用本 skill 或图片生成。只有用户明确要求规范化角色卡,或下游合同明确要求 canonical identity anchor 时,才进入本 skill 的生图流程。

先判断资产职责,再写 prompt:

类型 结构化身份 用途 生成纪律
原片证据帧 referenceType="character"、characterAssetRole="identity_evidence" 保留视频中的真实人物、造型、影调和连续性证据 由 tapcanvas-parse-video 直接抽帧登记;本 skill 不重新生成、不把它升级成 canonical 卡
基态身份卡 referenceType="character"、characterAssetRole="identity_anchor" 锁定角色不可变身份 从完整角色事实生成;不带剧情现场、表演动作和偶然状态
状态版本卡 referenceType="character"、characterAssetRole="state_variant" 锁定换装、伤势、污损、年龄或形态阶段 以基态或上一状态做 imageEdit,只写有来源的可见差量
角色肖像 referenceType="character",但不冒充 identity anchor 头像、占位或用户选角参考 可作为身份输入;不能替代完整身份卡
姿态 / 表情 / 群像 referenceType="pose" / "ensemble" 特定镜头的表演或关系辅助 依赖已确认身份卡;不能反向改写 canonical 身份

同名角色存在多个时期或状态时,必须使用精确 stateKey / stateVersionId / stateDescription 区分,不能靠 label、坐标、prompt 关键词或最近节点猜测。

输入与证据优先级

按以下顺序建立人物事实,不得让低优先级内容覆盖高优先级:

  1. 用户本轮明确指定与用户提供的参考资产职责。
  2. 当前正文、剧本、角色圣经、已确认 story facts 和明确时期/状态。
  3. 当前项目已确认的角色身份卡、状态版本与 style lock。
  4. 编剧提供的行为指纹、语言指纹、关系结构和 casting 直觉。
  5. 为完成设计所需的 agent 创作判断。

内部把信息分成三层:

  • confirmedFacts:来源明确,必须保留。
  • designInferences:由事实推导,必须能解释因果。
  • freeDesign:来源未规定但用户授权创作的部分,可以自主决定,不能伪装成原文事实。

证据不足不等于把所有人物重置为默认年轻、修长、漂亮或真人写实。只要用户允许创作,做出有理由的设计选择并标记为设计判断;只有用户要求复刻一个尚未提供、也无法从当前资产解析的精确身份时,才请求缺失参考。

涉及读取、生成、轮询或写入真实 TapCanvas 画布时,先加载 tapcanvas-api,只通过其公开工具合同执行。模型上下文只传节点 ID、资产 ID、版本 ID 和结构化 descriptor,不复制内部图片 URL。

对象身份与提示词同源自检

名称、身份键与图片提示词必须描述同一对象。先按稳定 objectId / physicalIdentityKey / 精确 role 回到源正文、用户事实与 objectRegistry,逐项核对 name、identityInvariant、identityAnchors、prompt、negativePrompt、prohibitedDrift;不得按数组位置、相似职业或相邻人物复制属性。用户明确事实和来源身份优先于生成草稿,负面提示词不能禁止该对象已经确认的身份特征。

在当前模型响应内完成核对和修订后再提交:发现冲突时修正实际有误的字段,保留正确名称、身份键和来源事实,不得通过改标题去迎合错误图片。编写完整的可执行 prompt,身份卡只描述中性身份参考,不携带剧情现场或表演;identityAnchors / prohibitedDrift 仅用于追溯,执行器不会用这些列表替换完整提示词。对批量对象逐个按身份键核对,不把另一个人的设计带入当前卡。

这是生成代理的同链创作责任,不新增关键词判断、评分闸门或用户级失败状态。已有图片保留;发现错误后只能追加诊断和修订版本,不能以改名或删除旧成果伪造修复。未生成新版本时不得宣称旧图已经纠正。

四宫格角色资产默认提示词(2026-09-14)

后续新生成角色身份板统一读取 四宫格生产模板,以该模板编译完整 prompt。上左 FACE FRONT、上右 FACE SIDE、下左 BODY FRONT、下右 BACK;2×2 等大分格、细间隔、角落小标签。正面全身脸部刻意留空、低细节;身份面部细节由上排两格承担。上下两张全身保持同一自然站姿、体型、身高与服装,只改变观察方向。

有用户上传角色参考图时,参考图是唯一设计来源;人物核、压力测试、批量正交设计、项目 style lock 与自由创作不得重塑参考中的脸、年龄、肤质、体重、发型、服装或鞋履。只做忠实转视图,不美化、不加配饰或道具。参考未显示的背面细节不得伪称为已知精确事实;有多视角参考时一并绑定。角标不属于人物姓名、属性或品牌,允许且仅呈现模板指定的四个标签。

【BG】 为无缝影棚背景颜色,【LIGHT】 为光色;优先依据本轮显式要求或已确认拍摄设置填写。用户未指定且允许原创时,由作者按身份本色与轮廓可读性选择背景和光色,标为 agent_authored,不询问可自行设计的参数,也不把设计冒充用户设定。只有用户要求精确复现某个未知拍摄设置时才请求对应事实。四格使用相同设置、相机左侧 45° 单硬主光、无补光、无轮廓戏剧光、无环境串色。对非写实参考仍优先遵守 no style drift,不能借 photographic 字样把参考重新设计。

无参考图的原创角色任务仍使用同一四宫格布局与身份可读性要求,身份由当前角色事实和已授权设计确定;明确非写实媒介时,将模板 photographic、real pores 等只适用于真人的词投影为原媒介的色块、线条与材质表达,不能重塑身份或自动真人化;只将模板开头的上传图片来源声明替换为真实设计来源,不得声称有不存在的上传图。用户要求精确复刻但未提供参考时请求参考,不虚构身份。状态版本只改变用户授权的明确差量,其余沿用同一保真模板。

工作流

1. 读取角色与现有资产

  • 确认 canonical roleName、时期、当前状态和叙事作用域。
  • 读取已有 referenceType="character" + roleName + characterProfileVersion="character-card/v3" 资产及其真实就绪状态;历史版本、裸名称和展示 label 不构成可复用身份卡。
  • 已有匹配的已确认基态卡时直接复用;用户未要求重建时,不重复生成。
  • 只有角色发生可见且有来源的状态变化时才建 state_variant;纯情绪变化、临时动作和镜头姿势不建状态卡。
  • 批量任务先读完整 cast,再共同设计;禁止逐张孤立生成后才发现全员同脸。

2. 建立人物因果核

在写外貌前,先形成一份简短的内部人物核。它不是固定表格配额,而是用来解释设计选择:

  • 此人在当前故事里想得到什么,又在保护什么不被看见?
  • 他知道什么、不知道什么、误解了什么?
  • 他在一段关键关系里拥有什么权力,又欠什么债?
  • 目标受威胁时,他首先控制、回避、讨好、攻击、解释还是沉默?具体怎么表现?
  • 他有哪些可复用的行为指纹、语言节奏与决策偏差?
  • 哪个矛盾使他不能被一个性格标签概括?

不要直接写“外冷内热、坚强善良、复杂神秘”。把抽象判断换成可观察证据,例如动作次序、说话长度、视线落点、处理物件的方式、对不同关系对象的不同反应。

3. 做角色压力测试

为每个主要角色内部模拟少量最能暴露差异的情境,不把模拟对话原样塞进图片 prompt:

  • 关键关系对象逼近他的防御区时,他如何绕开真正问题?
  • 当前目标突然受阻时,他先牺牲什么、保住什么?
  • 信息不完整或理解错误时,他会怎样作出自洽但可能错误的选择?

模拟必须服从角色的知识边界。允许人物误解、停顿、转移、说半句、过度解释或拒绝回答;不要让每个人都像作者一样完整总结自己的内心。

从测试中提取可复用证据:behaviorFingerprint、speechFingerprint、pressureResponse、decisionBias 和 relationshipSpecificBehavior。这些证据用于人物设计与下游编剧,不要求全部渲染到画面。

4. 做整组正交设计

批量生成前,先在内部列出当前题材最容易出现的默认人物簇,再主动离开它;默认簇只用于识别惯性,不要把它变成新的反向模板。

为每个角色分配不同的因果设计路径,综合考虑:

  • 年龄阶段、生活负荷和身体使用史;
  • 骨架比例、脸部质量分布、体型、站姿与动作经济性;
  • 社会位置、职业劳动、地域生活与资源条件留下的痕迹;
  • 发型剪影、服装版型、材质磨损、穿戴习惯和身份物件;
  • 对压力、亲密、权威和羞耻的不同反应;
  • 在群体构图中的尺度、轮廓、色块和权力位置。

逐对检查角色差异。如果两人只有姓名、发色、服装颜色或一处随机伤疤不同,说明仍是同一个设计簇,继续重构人物因果与视觉结构。不要通过固定“性格→脸型”查表推导骨相,也不要按出场顺序轮换眼袋、痘印、疤痕等瑕疵。

同一项目可以共享画风,但不能共享身份母版。禁止从一名主角母版只换区分符裂变其他人物;这会把画风一致误做成血缘相似。

5. 编译视觉身份

将人物因果核转成画面可验证的身份信息:

  • identityAnchors:只放跨镜稳定的骨相、体型、发型剪影、肤色/材质、核心配饰、基准服装结构和身份物件。
  • prohibitedDrift:只写已有事实的反面边界,例如不得移除已确认疤痕、不得改变发型轮廓;证据不足就少写。
  • 服装要能解释人物如何工作、移动、隐藏、炫耀、节省或遵守制度,不能只是“符合气质”。
  • 人物的生活痕迹必须有来源。劳动茧、旧伤、睡眠不足、昂贵护理、制服磨损等只有在经历或设计判断支持时才写,不随机撒瑕疵。
  • 保持基态中性:不把某一场戏的愤怒、哭泣、战斗姿态、血污、环境色或剧情道具焊进身份卡。

角色身份板使用 identity-board/v3 结构:正面脸、侧面脸、正面全身、背面全身四个信息区,身份、服装和比例跨视图一致;采用中性参考背景,不显示姓名、属性标签、UI、品牌或水印。结构只保证资产可读性,不强制九头身、真人写实、特定镜头焦段、仰拍角度或固定背景颜色。

媒介与比例从用户要求、当前项目 style lock、角色事实和当前启用图片模型合同推导。没有事实支持时不得默认把所有成年人做成超模,也不得把动画项目擅自真人化。

6. 编译节点与提示词

基态身份卡至少使用以下数据合同;示例值表示结构,不是模板文案:

{
  "kind": "image",
  "referenceType": "character",
  "roleName": "<canonical roleName>",
  "characterName": "<canonical roleName>",
  "characterAssetRole": "identity_anchor",
  "characterProfileVersion": "character-card/v3",
  "identityBoardSpec": {
    "layout": "identity_board_four_view",
    "faceViews": ["front", "profile"],
    "fullBodyViews": ["front", "back"],
    "crossViewConsistency": true,
    "referenceRoleIsolation": true,
    "neutralReferenceBackground": true,
    "readableTextVisible": true,
    "brandingVisible": false,
    "neutralBaseState": true,
    "canonicalNameVisible": false,
    "ipSafeOriginal": true
  },
  "identityAnchors": ["<可见身份事实>"],
  "prohibitedDrift": ["<有证据的禁止偏移>"],
  "prompt": "<当前角色独有的可执行身份板提示词>",
  "referenceImageNodeIds": ["<当前画布身份参考 nodeId,若有>"],
  "referenceAssetIds": ["<素材或版本 ID,若有>"],
  "approvalStatus": "needs_confirmation",
  "imageModel": "<enabledImageModels 中本轮选定的精确 modelKey>",
  "imageSize": "<该模型实时支持的精确规格>"
}

prompt 必须使用 四宫格生产模板;人物事实只用于绑定当前角色与必要的来源说明,不得改写模板的保真、布局、灯光和面部留白要求。它应清楚表达:

  1. 资产用途与四视图结构;
  2. 角色事实、年龄阶段、身体结构和独特面部 DNA;
  3. 发型、服装、材质、穿戴逻辑和身份物件;
  4. 来源明确的生活痕迹与中性基态;
  5. 已授权参考图各自只负责身份、布局、内容或风格中的哪一层;
  6. 跨视图一致性、纯净参考背景、仅四个指定角标与无额外人物。

用户指定的保真覆盖与 AVOID 段完整保留,不得在去 AI 味清理时删除;这些是生成指导,不是运行时语义闸门。

项目全局画风由服务端按 style lock 自动注入,不把画风 URL 复制进节点。身份参考使用 referenceImageNodeIds / referenceAssetIds;需要区分职责时使用 referenceAssetBindings,同一资产只承担一个明确角色。

7. 执行与收图

  • 用户要求真实角色卡时,调用 tapcanvas_image_generate_to_canvas,不要用 flow_patch / add_node 创建空壳后宣称完成。
  • 无依赖角色可以在 nodes[] 中批量并发;超过当前工具批量上限时分批提交,不得为了上限丢角色。
  • 供应商受理后 status="running" 是持久异步状态;用 tapcanvas_image_reconcile 对账同一 nodeId/taskId,禁止重复付费提交。
  • 新生成资产始终保持 needs_confirmation;生成成功不等于用户已确认。
  • 已生成资产即使后续自检发现不足也必须保留,只能追加诊断或创建修订版本,不能覆盖、回滚或丢弃。

受限 intent 只允许编译节点计划时,仍必须完整使用本 skill 的人物核、正交设计和 v3 数据合同,但要明确该节点尚未生成真实资产;下游不得把它当作就绪角色锚。

8. 状态版本

状态版本由剧情/连续性工序提供确定性差量,本 skill 负责按同一角色资产合同执行:

  • 必须引用同名已确认基态卡或上一状态卡的真实 node/asset/version ID。
  • 使用 kind="imageEdit"、characterAssetRole="state_variant",写精确 stateKey、stateVersionId、stateDescription 和 visualStateFacts。
  • prompt 只描述新增、消退或改变的可见状态,并明确其余身份、服装结构和画风保持不变。
  • 连续累积状态从上一状态派生;明确回基态时引用精确基态版本,不凭名称猜。

去 AI 味修订

生成前做一次成文清理,但清理服务于人物,不服务于“看起来没用某些词”:

  • 删除重复介绍、同义反复、空洞总结和对读者解释人物魅力的句子。
  • 把抽象评价换成可以画、可以演、可以在后续剧情中验证的事实。
  • 删除为了凑完整而添加的属性;留白优于伪具体。
  • 保留角色有意的矛盾、不整齐、沉默和关系差异,不把每个人润色成同一种流畅作者腔。
  • 检查 prompt 每句话是否拥有来源和职责;无来源、无画面作用、只增加“高级感”的句子删掉。

禁止动作

  • 不使用固定原型、性格标签表、关键词表、正则、禁词命中或审查分数决定角色是否合格。
  • 不把固定“年轻、修长、精致、写实、电影感、九头身”当无事实默认值。
  • 不按人物顺序轮换瑕疵,不为“活人感”强行加疤、眼袋、痘印或不对称。
  • 不从性格词机械映射骨相;同样的性格可以由不同身体、阶层、经历和关系位置承载。
  • 不从同一人物母版裂变其他角色;身份参考只能锁当前角色。
  • 不把 pose、表情、群像或某场戏剧照登记成 canonical identity anchor。
  • 不复制图片 URL,不根据 label/prompt 猜身份,不用历史默认模型替代实时启用模型。
  • 不因首稿审美不足向用户暴露 blocked/failed;在同一 agent 链内继续修订。确定性缺少权限、引用身份或精确复刻素材时才显式请求输入。

最终自检

交付前逐项检查;发现不足就在当前链内修订,不形成运行时质量闸门:

  1. 换名测试:换成同批另一个角色的名字,描述是否仍然成立?成立就继续具体化。
  2. 因果测试:主要外观、服装与生活痕迹能否追溯到角色事实或明确设计判断?
  3. 压力测试:人物的行为、语言和决策是否在关键关系压力下仍可区分?
  4. 正交测试:同批角色是否只是颜色、发型或随机瑕疵不同?若是,重做人物因果与视觉结构。
  5. 资产测试:是否写入 referenceType + roleName + characterAssetRole + characterProfileVersion,并使用真实 ID 绑定?
  6. 基态测试:身份卡是否混入剧情现场、偶然姿态、强表情或状态污损?
  7. 交付测试:用户要真实卡时,是否已有持久 node/task/status 证据;用户只要提示词时,是否没有越权生图?

Version History

  • 2.0.1 Current 2026-09-22 10:27

Same Skill Collection

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-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

Metadata

Files
0
Version
2.0.1
Hash
1adcd91e
Indexed
2026-09-22 10:27

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 14:37
浙ICP备14020137号-1