mcpField
S
scenario-chatgpt-pet-update

scenario-chatgpt-pet-update

github.com/scenario-labs创意与媒体1.2k149 次安装1 天前更新
代码仓库

关于 scenario-chatgpt-pet-update

用于修改现有 ChatGPT 或 Codex 宠物精灵图,同时保留原文件和身份信息。它可定向重做动画行、清理与重新对齐帧,也能更改外观;依赖配套创建技能的脚本和图纸规范。

主要功能

  1. 01检查图纸并预览动画
  2. 02重新生成指定动画行
  3. 03清理并重新对齐现有帧
  4. 04更改整张图纸中的宠物外观
  5. 05验证并打包更新后的宠物

适用场景

  1. 01只修复有问题的动画行,不重做其他行
  2. 02清除杂点或将帧对齐到统一地面线
  3. 03添加新外观或将 v1 图纸升级为 v2
  4. 04保留宠物 ID 并准备更新后的宠物包

MCP 相关

该技能使用 `scenario` 技能处理 Scenario 连接和范围;README 未说明 MCP 服务端或客户端功能。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-chatgpt-pet-update

安装后在 Claude Code 中输入/scenario-chatgpt-pet-update确认已加载。

附带文件README.md

详细介绍

场景 ChatGPT 宠物:更新

概述

现有宠物就是它的精灵图集:用户从 ChatGPT 下载的 PNG 或 WebP 文件、Codex 宠物文件夹(pet.json 加上其中指定的图集),或之前制作的图集的 Scenario 资源 ID。该文件就是这里宠物的身份;无需查找宠物记录。更新不会覆盖原文件:结果会是运行目录旁的一个新包,除非用户更改 ID 和名称,否则会保留原 ID 和名称。

此技能会运行脚本,并遵循 scenario-chatgpt-pet-create 的图集规范;必须先安装该技能。请从用户的工作目录中,按路径运行该技能 scripts/ 文件夹里的每个脚本,并在生成某一行或编写方向判断结果前阅读规范: pet_frames.py、 pet_prepare.py、 pet_build.py、 pet_check.py、 pet_preview.py、 pet_package.py,以及 规范。生成过程遵循该技能的循环和模型顺序(model_openai-gpt-image-2-5-sunburst,然后是 model_google-gemini-nano-banana-2-1,只有两者都受阻时才用 recommend);连接和范围:scenario 技能。如果此处提到的同级技能不在可用技能中,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);无人值守时,根据工具架构继续操作,并标记这一缺失。

快速参考

先阅读图集,再选择能完成任务的最小改动。下表中的每一行都在 pet_prepare.py init --from-split(示例中的第 3 步)创建的运行中执行:该运行会记录原始图集,而构建、检查和打包都需要它。无人值守时,由你根据请求判断是否批准,并将判断记录在运行中;不会安装任何内容。

用户想要操作生成次数
查看或检查宠物pet_check.py、pet_preview.py contact 和 gif0
重命名或添加新描述init、pet_check.py <sheet> --run RUN,然后运行 pet_package.py make RUN --sheet <sheet> --name ...0
清除残留像素、透明区域下的颜色pet_build.py RUN --clean0
某一行的帧上下或左右跳动pet_build.py RUN --reregister <row>:将现有帧重新放置到同一条地面线和锚点上0
重做一个或几个状态init --only <rows>(也可以是外观行),生成这些行,然后运行 pet_build.py RUN:其他每一行都保持逐字节不变每行一次
为 v1 图集添加外观方向init --version 2 --only look:先生成四个基本方向,再生成第 9 和第 10 行3
新外观(服装、颜色、配饰)init --change "<the change>":编辑身份信息、审批,然后重新生成每一行1 + 每行一次

split 会拒绝任何尺寸不是 1536x1872 或 1536x2288 的图像:其他图像属于新宠物,请使用 scenario-chatgpt-pet-create 并以该图像为参考来制作。

示例:修复 Pepper 僵硬的跑步动画,再为下个季节换上红围巾

  1. 获取精灵图。 用户指定 ~/.codex/pets/pepper/:读取 pet.json(id、 displayName、description、spritesheetPath),并将精灵图复制到工作文件夹。从资源 ID 获取时:使用 asset_download,设置 format: "png",然后运行 curl -L。
  2. 读取精灵图。 pet_frames.py split pepper.png --out work/split 会打印版本、与宠物形成对比的背景 色键,以及 pixel_grid(当精灵图是具有开/关 alpha 的像素画时设置;更新会保留该网格和调色板)。 pet_check.py pepper.png --json-out work/before.json 会测量精灵图:每行相对于待机动画的高度、 跳跃抬升幅度、观察动作各行的偏移。pet_preview.py contact 和 pet_preview.py gif 会显示当前 宠物。如果请求含糊不清,请结合检查结果询问具体要修改什么。
  3. 重做跑步动画。 pet_prepare.py init --name Pepper --id pepper --description "<from pet.json>" --from-split work/split --only running-right,running-left --out work/run (表格中的每一行都以这样的 init --from-split 开始;--only 指定要生成的行)。match 风格会保留 精灵图的外观;每个任务的 references 包含 references/base.png(放大并带有色键的待机帧)和 references/rows/<row>.png(当前行)。每个任务对应一次 model_run:通过 upload_asset 上传其 references,并作为数组传入 referenceImages;原样使用其 prompt,并为模型使用其 sizes; 在 Sunburst 上设置 background: "opaque",且先用 dry_run 报价;将结果下载到任务的 output。 如果旧行的动作或方向有问题(比如跳跃时完全没有抬升、跑步时两侧动作没有交替、头部转向错误), 请在 init 中添加 --no-current-row,不要将旧动作条作为参考,因为模型会照着参考内容生成;并使用 pet_prepare.py note work/run --jobs <row> --text "..." 描述具体改动。重做观察动作行时,仍须参考保留 的另一半扫视动作。接着运行 pet_frames.py extract work/run --job running-right,查看报告和预览,然后使用 --mirror-left 镜像生成 左侧动作,或用相同方式生成 running-left。
  4. 重新构建。 pet_build.py work/run --mirror-left。以原始精灵图作为底图(由 init 记录)时,只会 更改重建的行,并将其缩放到与现有待机行相同的高度、地面线和锚点;边缘清理也只会处理这些行。 pet_check.py work/run/final/spritesheet.webp --run work/run 必须打印 ok: true;保留的观察动作行只会 提示尚未审核,而重做的观察动作行需要在 qa/direction-semantics.json 中提供新的判定结果(格式见 contract),否则检查会失败。
  5. 展示并打包。 pet_preview.py gif work/run/final/spritesheet.webp --out-dir work/run/previews,展示 pet.gif,按照 创建技能的做法,将精灵图和两个 GIF 上传到一个集合中,然后运行 pet_package.py make work/run --id pepper。运行 pet_package.py install work/run --force 前请先征求 用户同意;该命令会在替换已安装的 Pepper 前,将其备份到本次运行目录中。
  6. 稍后添加围巾。 新外观会改变每一帧,因此这是一次以旧宠物为基础的新生成: init --name Pepper --id pepper --description "<from pet.json>" --from-split work/split --change "add a red knitted scarf" --out work/scarf 会基于身份图像添加一个编辑任务。批准编辑后的底图,然后按照 scenario-chatgpt-pet-create 在行步骤中的做法运行所有行(v2 精灵图还包括观察动作行,并需提供新的 方向判定结果)。旧精灵图仍决定宠物的大小,因此新宠物不会变大或变小。

从 v1 升级到 v2(init --version 2 --only look)时,按照创建技能中的说明运行 look-cardinals、 look-9 和 look-10,并填写方向判定结果;构建时会保留第 0–8 行,并添加两个观察动作行。

常见错误

  • 覆盖用户文件或已安装的 pet:请在副本上操作;只有在用户同意后,才使用 --force 替换已安装的 Codex pet(该选项会先备份)。
  • 因为一行有问题就重新生成整个 pet:只重做该行;构建过程会逐字节复制其他行。
  • 将整张表格作为参考图发给图像模型:模型会将其识别为由小帧组成的网格,并照着网格复制。请使用 references/base.png 和 split 生成的行图。
  • 为了修复构建过程可以处理的问题而重新生成:残留像素、透明区域下的颜色以及偏移的行,都可以通过 --clean 和 --reregister 免费修复。
  • 没有原始表格就重新构建:新行将无法确定尺寸;init --from-split 会记录表格,以便构建过程保留 pet 的尺寸。
  • 重命名时更改 pet 的 id:Codex 通过文件夹查找 pet,因此请保留 id,只更改 displayName。
  • 将 v2 结果交给要在 ChatGPT 网页版上传的人:请提供 package/spritesheet-v1.png。

评论

支持 Markdown