CtrlK
BlogDocsLog inGet started
Tessl Logo

sprite-forge

角色动态 sprite / 桌宠皮肤 / atlas 状态行生产线:母图锚身份 → Frame A 首帧 → AI 视频生成(人工环节)→ 截帧确定性加工 → atlas row + 三道闸。 Use when: 做桌宠皮肤、给猫补新状态动画行、visible-cafe/F258 猫形象素材、 角色小循环动画(呼吸/走路/睡觉/挥手级)、把静态角色"做成动态的"。 Not for: 动画短片成片(用 anime-forge)、录屏/教程视频(用 video-forge)、 单张静态图/头像(用 image-generation)、UI 图标。 Output: 192×208 atlas row strip + QA 包(contact/GIF/provenance)→ 过三道闸 + operator identity veto 后接 pet.json。

73

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Sprite Forge — 角色动态素材生产线

出生:F229 xianxian-codex 9 态 atlas 的实际生产管线(2026-06-22~24,video-to-spritesheet-pipeline.md)。 Skill 化诱因:F258 素材首跑两连翻车(2026-07-08)——猫不知道家里有这条验证过的路,临场发明了两条被淘汰的路线(32px 手搓 + imagegen 逐帧直出),operator 连续两次 identity veto 后拉闸:"未来做动态的东西,你们要能想到用这个 skill。"

第一性原理(本 skill 的灵魂判断)

动画的帧间一致性问题,靠换介质解决,不靠更好的 prompt。 imagegen 逐帧独立生图 = 体型漂移、风格跳变、帧间无时序关系(Spike R2 实证,59×64 显示尺寸下可感知劣于视频截帧)。视频模型天然时序连贯——所以生成层必须是视频,图像模型只出首帧。

管线五步(人猫协作产线,人工环节是设计的一部分)

做什么关键约束
1 锚身份取角色设定母图(KD-21 视觉 canon)母图库=docs/videos/cucu-pr-flow/assets/references/character-sheets/(按角色名对应 *-r0N.png 四足设定图)
2 生成首尾帧imagegen 出 Frame A + Frame B 两张(1024×1024 纯白底):A=基准姿态,B=同姿态仅微小差异("Only differences: ... Everything else IDENTICAL"句式)生图猫(须原生 imagegen;prompt 可由更贵的猫代写)强 2D 风格锚;母图作 reference image 传入;每次只做一个状态;B 帧锁不住(缩放/构图漂移)→ 降级单图 i2v 只用 A 帧
3 拍视频AI 视频工具生成 2-3s 循环:首尾帧模式(A+B,更可控)优先;单图 i2v(只喂 A,更稳)备选人工(operator / 云端 Gemini)16:9 横屏 / 低运动强度 / 2D 锚 + 反 3D negative(模板见真相源 §3)
4 截帧加工ffmpeg 截帧 → 抠图 → 缩放 → 拼 row廉价猫(sonnet 级)即可——纯确定性命令活,别烧贵猫确定性工具链,命令见下
5 验收三道闸 + 分批审主审猫 + operator identity veto 终审每批过了才做下一批(2-2-3 批次制先例)

截帧加工命令(Step 4 速查)

ffmpeg -i video.mp4 -vf "fps=4" frame_%02d.png          # 2-3s → 8-12 帧
magick frame_01.png -fuzz 10% -transparent white f1.png  # 白底转透明(脏边则重跑 despill)
magick f1.png -resize 192x208 -gravity center -extent 192x208 cell_01.png
magick cell_*.png +append state_row.png                  # 拼 row strip
magick cell_01.png -resize 59x64 preview.png             # 必做:缩到实际显示尺寸目检

工艺红线(每条都是真翻车)

  1. 2D 风格锚是保命符:视频 prompt 首行必须 2D hand-drawn anime illustration style, flat cel-shaded coloring, clean visible outlines + negative 排除 3D/CGI/photorealistic/plastic/Pixar——不加锚视频秒变塑料 3D(R1 实录)
  2. 16:9 横屏:9:16 会把尾巴甩出画框(R1 实录)
  3. 运动强度调低:大幅运动=角色变形
  4. 约束宜简(五爪判例):一页解剖学约束反而让模型逐条画出每个被提到的爪→五爪;operator 一句"不要生成五只猫爪了"完美通过。简单意图 + 一句负面 > 详细规格书
  5. 主审第一问是"这是不是我们家那只猫",不是特征锚清单——checklist 全过 + operator"不像"= false pass(F229 r3-alpha 与 F258 两次翻车同型)
  6. 实战提示词必须回流:Step 3 人工环节实际用的提示词(含中途修正版)才是被验证的版本——生产完成后回流 prompt-pack/provenance。理论版翻车靠人工修正救活却不回流 = 下一只猫在同一个坑再摔一遍

Common Mistakes

错误后果修复
imagegen 逐帧直出动画 row帧间漂移;被 operator identity veto(2026-07-08 实录)生成层换视频(第一性原理)
手搓低分辨率像素格"看不出是猫"(2026-07-08 实录)高清生成→工具缩放,宽松生成确定性加工
拿 atlas 截图当身份 canon分辨率层面"像",母设定层面"不像"canon = character-sheets 母图,不是下游产物
读了素材池 README 就动工把合规层(hatch-pet/三道闸)误当生成层先读 video-to-spritesheet-pipeline.md 全文再动手
一次铺满所有状态打回成本×N每次一个状态行,分批过 operator
跳过 59×64 实际尺寸预览大图好看小图糊Step 4 最后一条命令必跑
把状态表达物(微粒/气泡/道具)烧进素材失去状态绑定,表情从 telemetry 变演技;环境道具还加剧视频漂移素材只含猫本体动作;粒子/道具/光效归渲染层按状态叠加(F258 S2/S3 判例)
高遮挡姿势 prompt(紧蜷 donut / 肢体交叠)视频模型省略被遮挡躯干——生成"头+巨尾"解剖不完整猫(2026-07-09 S1 实录,operator 抽卡翻车)蜷姿描述留躯干可见弧线(curled 但 body visible);抽卡 2-3 败即换姿势写法别硬 roll;修正成功版按红线 6 回流

与其他 skill 的区别

  • anime-forge:产短片成片(分镜/EDL/节奏)——sprite-forge 产可循环状态行素材;共享"图锁确定性→视频给活气"哲学
  • image-generation:单张静态图——不解决帧间一致性
  • GOTCHA:本 skill 含人工环节(拍视频),不是全自动管线;发任务书时必须显式安排"谁拍视频"(operator 或云端 Gemini),不可默认猫能自己完成

真相源(重材料按需读,不复制进上下文)

  • 完整提示词模板库 + Spike 数据 + 9 态任务表docs/features/assets/F229/desktop-pet-sprite/video-to-spritesheet-pipeline.md
  • 近例 prompt pack(首尾帧句式 + 渲染分层决策范例)docs/features/assets/F258/prompt-pack-v1.md
  • cell 规格与三道闸(合规层):docs/features/F229-petskin-contract.md
  • pet.json atlas 格式实例:packages/web/public/concierge/skins/xianxian-codex/pet.json

下一步

素材过全部闸门 → 接 pet.json / 渲染层(代码改动走 worktree + tdd)→ 新猫皮肤开整套 = 回 Step 1 换母图。

Repository
zts212653/clowder-ai
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.