scenario-chatgpt-pet-update について
既存の ChatGPT または Codex のペット用スプライトシートを、元のパッケージと識別情報を保って編集するスキルです。行単位の再生成や補正、外観変更に対応し、作成用スキルのスクリプトとシート仕様を利用します。
主な機能
- 01シートの検査とアニメーションのプレビュー
- 02指定したアニメーション行の再生成
- 03既存フレームのクリーニングと再配置
- 04シート全体のペットの外観変更
- 05更新したペットの検証とパッケージ化
活用シーン
- 01問題のある行だけを修正し、ほかの行を維持
- 02余分なピクセルの除去や地面線への位置合わせ
- 03新しい外観の追加や v1 シートから v2 への更新
- 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 と名前は同じです。
このスキルは 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、および gif | 0 |
| 名前または説明を変更したい | init、pet_check.py <sheet> --run RUN、次に pet_package.py make RUN --sheet <sheet> --name ... | 0 |
| 残ったピクセル、透明部分の下にある色を除去したい | pet_build.py RUN --clean | 0 |
| フレームが上下または左右にずれている行を修正したい | pet_build.py RUN --reregister <row>:既存のフレームを同じ接地線とアンカーに再配置する | 0 |
| 1つまたは少数の状態を作り直したい | init --only <rows>(look 行も指定)、その行を生成し、pet_build.py RUN を実行します。それ以外の行はバイト単位で変更されません | 行ごとに1回 |
| v1 シートの外見の方向を追加したい | init --version 2 --only look:基本方位、次に行 9 と 10 | 3 |
| 外見(服装、色、アクセサリー)を変更したい | init --change "<the change>":識別情報を編集して承認し、すべての行を再生成 | 1 + 行ごとに1回 |
split は 1536x1872 または 1536x2288 以外のサイズを受け付けません。それ以外のアートは新しいペットとして、そのアートを参考画像に scenario-chatgpt-pet-create で作成してください。
作業例:Pepperのぎこちない走りを直し、次のシーズンに向けて赤いスカーフを追加する
- シートを取得します。 ユーザーが
~/.codex/pets/pepper/を指定したら、pet.json(id、displayName、description、spritesheetPath)を読み、シートを作業フォルダーにコピーします。アセット ID から取得する場合は、format: "png"を指定してasset_downloadを実行し、その後curl -Lを実行します。 - 内容を確認します。
pet_frames.py split pepper.png --out work/splitは、バージョン、ペットと対照的な背景キー、pixel_grid(シートがオン/オフのアルファを持つピクセルアートの場合に設定され、更新時にはそのグリッドとパレットが維持されます)を出力します。pet_check.py pepper.png --json-out work/before.jsonで計測します。各行の高さをアイドル状態と比較し、ジャンプの上昇量、見る方向の行のずれを確認します。pet_preview.py contactとpet_preview.py gifで現在のペットを表示します。依頼内容が曖昧な場合は、チェックで見つかった内容を伝えたうえで、何を変更するか尋ねます。 - 走りを作り直します。
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(現在の行)です。各ジョブは 1 つのmodel_runに対応し、そのreferencesはupload_assetでアップロードして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を生成します。 - 再構築します。
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に新しい判定(形式はコントラクトを参照)が必要です。判定がない場合、チェックは失敗します。 - 表示してパッケージ化します。
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 を置き換える前に、実行フォルダー内にバックアップします。 - 後からスカーフを追加します。 新しい見た目ではすべてのフレームが変わるため、以前のペットを基に新しく生成します。
init --name Pepper --id pepper --description "<from pet.json>" --from-split work/split --change "add a red knitted scarf" --out work/scarfを実行すると、アイデンティティ画像を編集するジョブが追加されます。編集したベースを承認してから、作成スキルの行ステップと同じ方法で、すべての行を実行します(v2 シートでは見る方向の行も含め、新しい方向判定を用意します)。古いシートが引き続きペットのサイズを決めるため、新しいペットが大きくなったり小さくなったりすることはありません。
v1 から v2 へのアップグレード(init --version 2 --only look)では、作成スキルの説明に従って look-cardinals、look-9、look-10 を実行し、方向判定を記述します。ビルドでは行 0~8 が維持され、見る方向の行が 2 つ追加されます。
よくある間違い
- ユーザーのファイルやインストール済みのペットを上書きすること:コピーを使って作業し、インストール済みの Codex ペットを置き換えるのは、許可を得てからにしてください。その際は、バックアップを作成する
--forceを使います。 - 1 行の不具合を直すためにペット全体を再生成すること:その行だけを作り直してください。ビルドでは、残りの行がバイト単位でそのままコピーされます。
- シート全体を画像モデルの参照画像として送ること:小さなフレームのグリッドとして認識され、モデルもグリッドをコピーします。
references/base.pngと、splitで作成した行の帯状画像を使ってください。 - ビルドで修正できる問題を直すために再生成すること:残ったピクセル、透明部分の下の色、ずれた行は、
--cleanと--reregisterで追加費用なく修正できます。 - 元のシートなしで再ビルドすること:新しい行は基準なしでサイズが決まります。
init --from-splitでシートを記録しておけば、ビルド時にペットのサイズが維持されます。 - 名前の変更時にペットの ID を変えること:Codex はフォルダーからペットを特定するため、ID はそのままにして
displayNameを変更してください。 - ChatGPT のウェブ版にアップロードする人に v2 の結果を渡すこと:
package/spritesheet-v1.pngを渡してください。