Agent skill

Scenario Chatgpt Pet Update

by scenario-labs in scenario-labs/skills

A skill your agent uses when changing an existing ChatGPT pet or Codex pet sprite sheet with Scenario: fixing a broken row, frame, jump or edge, regenerating one animation state, adding the sixteen…

MITAuto-check passedGame Development

Install Scenario Chatgpt Pet Update

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-chatgpt-pet-update -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-chatgpt-pet-update --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-chatgpt-pet-update .claude/skills/scenario-chatgpt-pet-update && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scenario-chatgpt-pet-update
GitHub stars
946
Token cost
~2.3k tokens
SKILL.md length
1,151 words
Files
2
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when changing an existing ChatGPT pet or Codex pet sprite sheet with Scenario: fixing a broken row, frame, jump or edge, regenerating one animation state, adding the sixteen…

  • Works in 6 steps: Get the sheet. The user points at… → Read it. pet_frames.py split pepper.png… → Redo the run. pet_prepare.py init --name… → …
  • Changing an existing ChatGPT pet
  • SKILL.md covers Overview, Quick reference, Worked example: Pepper's stiff… and Common mistakes
  • Calls npx and curl

What it does

Scenario Chatgpt Pet Update is an agent skill from scenario-labs/skills. Use when changing an existing ChatGPT pet or Codex pet sprite sheet with Scenario: fixing a broken row, frame, jump or edge, regenerating one animation state, adding the sixteen look directions to a 1536x1872 v1 sheet, giving the pet a new outfit, color or accessory, renaming it in its pet.json, or checking a pet sheet and previewing it as an animated GIF.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).

It sits in Game Development, covering Sprites and pixel art and Social media graphics. It works with OpenAI. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • Changing an existing ChatGPT pet
  • Codex pet sprite sheet with Scenario: fixing a broken row
  • Regenerating one animation state
  • Adding the sixteen look directions to a 1536x1872 v1 sheet

Example prompts

  • “/scenario-chatgpt-pet-update”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Get the sheet. The user points at ~/.codex/pets/pepper/: read pet.json (id, displayName, description, spritesheetPath) and copy the sheet…
  2. Read it. pet_frames.py split pepper.png --out work/split prints the version, a background key that contrasts with the pet, and pixel_grid…
  3. Redo the run. pet_prepare.py init --name Pepper --id pepper --description "" --from-split work/split --only running-right,running-left…
  4. Rebuild. pet_build.py work/run --mirror-left. With the original sheet as the base (recorded by init), only the rebuilt rows change, scaled…
  5. Show and package. pet_preview.py gif work/run/final/spritesheet.webp --out-dir work/run/previews, show pet.gif, upload the sheet and both…
  6. The scarf, later. A new look changes every frame, so it is a new generation grounded in the old pet: init --name Pepper --id pepper…

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx and curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Chatgpt Pet Update loads about 2.3k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,151 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 1,151 words, ~2,280 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-chatgpt-pet-update/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
scenario-chatgpt-pet-update
description
Use when changing an existing ChatGPT pet or Codex pet sprite sheet with Scenario: fixing a broken row, frame, jump or edge, regenerating one animation state, adding the sixteen look directions to a 1536x1872 v1 sheet, giving the pet a new outfit, color or accessory, renaming it in its pet.json, or checking a pet sheet and previewing it as an animated GIF.
license
MIT

Scenario ChatGPT Pet: Update

Overview

An existing pet is its sprite sheet: a PNG or WebP the user downloaded from ChatGPT, a Codex pet folder (pet.json plus the sheet it names), or a Scenario asset id of a sheet made earlier. That file is the pet's identity here; there is no pet record to look up. The update never overwrites it: the result is a new package next to the run, with the same id and name unless the user changes them.

This skill runs the scripts and follows the sheet contract of scenario-chatgpt-pet-create, which must be installed; run each script by its path in that skill's scripts/ folder, from the user's working folder, and read the contract before generating a row or writing direction verdicts: pet_frames.py, pet_prepare.py, pet_build.py, pet_check.py, pet_preview.py, pet_package.py, and the contract. Generation follows that skill's loop and model order (model_openai-gpt-image-2-5-sunburst, then model_google-gemini-nano-banana-2-1, then recommend only when both are blocked); connection and scope: the scenario skill. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

Quick reference

Read the sheet first, then pick the smallest change that does the job. Every row below runs in a run made by pet_prepare.py init --from-split (step 3 of the example): it records the original sheet, which the build, the check and the package all need. Unattended, the approvals are your own judgment against the request, recorded in the run, and nothing is installed.

The user wantsDoGenerations
To see or check itpet_check.py, pet_preview.py contact and gif0
A rename or new descriptioninit, pet_check.py <sheet> --run RUN, then pet_package.py make RUN --sheet <sheet> --name ...0
Leftover pixels, color under transparencypet_build.py RUN --clean0
A row whose frames pop up and down or sidewayspet_build.py RUN --reregister <row>: re-places the existing frames on one ground line and anchor0
One or a few states redoneinit --only <rows> (a look row too), generate those rows, pet_build.py RUN: every other row stays byte for byteone per row
Look directions on a v1 sheetinit --version 2 --only look: cardinals, then rows 9 and 103
A new look (outfit, color, accessory)init --change "<the change>": edit the identity, approve it, regenerate every row1 + every row

split refuses anything that is not 1536x1872 or 1536x2288: other art is a new pet, made with scenario-chatgpt-pet-create using that art as a reference.

Worked example: Pepper's stiff run, then a red scarf for next season

  1. Get the sheet. The user points at ~/.codex/pets/pepper/: read pet.json (id, displayName, description, spritesheetPath) and copy the sheet into a work folder. From an asset id: asset_download with format: "png", then curl -L.
  2. Read it. pet_frames.py split pepper.png --out work/split prints the version, a background key that contrasts with the pet, and pixel_grid (set when the sheet is pixel art with on/off alpha; the update then keeps that grid and palette). pet_check.py pepper.png --json-out work/before.json measures it: height per row against idle, jump lift, look-row drift. pet_preview.py contact and pet_preview.py gif show the current pet. Ask what should change if the request is vague, naming what the check found.
  3. Redo the run. pet_prepare.py init --name Pepper --id pepper --description "<from pet.json>" --from-split work/split --only running-right,running-left --out work/run (every row of the table starts with an init --from-split like this; --only names the rows to generate). The match style keeps the sheet's look; each job's references are references/base.png (the idle frame, enlarged on the key) and references/rows/<row>.png (the current row). Each job maps onto one model_run: its references uploaded with upload_asset and passed as referenceImages (an array), its prompt verbatim, its sizes for the model, background: "opaque" on Sunburst, priced with dry_run first; download the result to the job's output. When the old row's motion or directions are what is wrong (a jump that never lifts, a run that does not alternate, a head that turns the wrong way), add --no-current-row to init so the old strip is not a reference, since the model copies what it is shown, and say what changes with pet_prepare.py note work/run --jobs <row> --text "..."; a redone look row still references the kept other half of the sweep. Then pet_frames.py extract work/run --job running-right, read the report and preview, and mirror it with --mirror-left or generate running-left the same way.
  4. Rebuild. pet_build.py work/run --mirror-left. With the original sheet as the base (recorded by init), only the rebuilt rows change, scaled to the existing idle row's height, ground line and anchor; the edge cleanup touches only them. pet_check.py work/run/final/spritesheet.webp --run work/run must print ok: true; kept look rows only bring a warning that they were not reviewed, while a redone look row needs fresh verdicts in qa/direction-semantics.json (format in the contract) or the check fails.
  5. Show and package. pet_preview.py gif work/run/final/spritesheet.webp --out-dir work/run/previews, show pet.gif, upload the sheet and both GIFs into a collection as the create skill does, then pet_package.py make work/run --id pepper. Ask before pet_package.py install work/run --force, which backs up the installed Pepper into the run before replacing it.
  6. The scarf, later. A new look changes every frame, so it is a new generation grounded in the old pet: init --name Pepper --id pepper --description "<from pet.json>" --from-split work/split --change "add a red knitted scarf" --out work/scarf adds an edit job on the identity image. Approve the edited base, then run every row as scenario-chatgpt-pet-create does from its rows step (look rows included for a v2 sheet, with fresh direction verdicts). The old sheet still sets the pet's size, so the new pet does not grow or shrink.
Show full SKILL.md (202 more words)Show less

For a v1 to v2 upgrade (init --version 2 --only look), run look-cardinals, look-9 and look-10 as the create skill describes and write the direction verdicts; the build keeps rows 0-8 and adds the two look rows.

Common mistakes

  • Overwriting the user's file or installed pet: work on a copy, and replace an installed Codex pet only after a yes, with --force (which backs it up).
  • Regenerating the whole pet for one bad row: redo that row; the build copies the others byte for byte.
  • Sending the whole sheet to an image model as the reference: it reads as a grid of small frames and the model copies the grid. Use references/base.png and the row strip split made.
  • Regenerating to fix what the build can fix: leftover pixels, color under transparency and a row that drifts are --clean and --reregister, at no cost.
  • Rebuilding without the original sheet: a new row is then sized from nothing; init --from-split records the sheet so the build keeps the pet's size.
  • Changing the pet's id on a rename: Codex finds the pet by its folder, so keep the id and change displayName.
  • Handing a v2 result to someone uploading on ChatGPT web: give them package/spritesheet-v1.png.

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/scenario-chatgpt-pet-update of scenario-labs/skills.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Chatgpt Pet Update next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scenario Chatgpt Pet Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Chatgpt Pet Update this skillscenario-labs/skills946—~2.3kAutomated safety check: PassMIT
2D Sprite Generator0x0funky/agent-sprite-forge4.4k—~3.6kAutomated safety check: PassMIT
Img Gen Avatar4thfever/cultivation-world-simulator2.1k—~641Automated safety check: PassCustom licence
Godot Asset Generatorjwynia/agent-skills170—~3.8kAutomated safety check: PassMIT
Animated Spriteselithrar/dotfiles202—~1kAutomated safety check: PassMIT
Pixijs Assetsnetaart/cohub5721 repos~5kAutomated safety check: PassMIT

Similar skills

  • 2D Sprite Generator

    0x0funky/agent-sprite-forge

    Produces game-ready 2D characters, creatures, props, icons and effects as master stills, sheets or clips, and exports frames for common game engines.

    4.4k GitHub stars~3.6k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Img Gen Avatar

    4thfever/cultivation-world-simulator

    A skill your agent uses when working on tools/imggen avatar image generation, OpenAI-compatible image API config, human or yaoguai portrait prompts, qi-refining base generation, image-to-image realm…

    2.1k GitHub stars~641 tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Asset Generator

    jwynia/agent-skills

    Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.

    170 GitHub stars~3.8k tokensUpdated 7 mo ago
    Game DevelopmentAuto-check passed
  • Animated Sprites

    elithrar/dotfiles

    Create, repair, and review custom characters for 2D animation, animated sprite sheets, and custom Codex or ChatGPT pets, with consistent identity, readable motion, and timing-faithful previews.

    202 GitHub stars~1k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Pixijs Assets

    netaart/cohub

    A skill your agent uses when loading and managing resources in PixiJS v8.

    572 GitHub starsUsed in 1 repo~5k tokens
    Game DevelopmentAuto-check passed
  • Generate Meme Gif Pack

    lisamsung/agent-meme-forge

    A skill your agent uses when the user wants to turn a reference image or text concept into a WeChat-ready animated Chinese meme GIF sticker pack: 16/24 entries, 240x240 GIFs, Chinese captions…

    104 GitHub stars~973 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    946 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Scenario Chatgpt Pet Update

What does Scenario Chatgpt Pet Update do?

A skill your agent uses when changing an existing ChatGPT pet or Codex pet sprite sheet with Scenario: fixing a broken row, frame, jump or edge, regenerating one animation state, adding the sixteen…. Scenario Chatgpt Pet Update is an agent skill from scenario-labs/skills.json, or checking a pet sheet and previewing it as an animated GIF.

When should I use Scenario Chatgpt Pet Update?

Scenario Chatgpt Pet Update fits situations like: changing an existing ChatGPT pet; Codex pet sprite sheet with Scenario: fixing a broken row; regenerating one animation state; adding the sixteen look directions to a 1536x1872 v1 sheet.

How do I install Scenario Chatgpt Pet Update in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-chatgpt-pet-update -a claude-code`. Or copy the skill folder (skills/scenario-chatgpt-pet-update in scenario-labs/skills) into .claude/skills/scenario-chatgpt-pet-update in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Chatgpt Pet Update in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-chatgpt-pet-update -a codex`. Or copy the skill folder (skills/scenario-chatgpt-pet-update in scenario-labs/skills) into .agents/skills/scenario-chatgpt-pet-update in your project. Codex loads it when a task matches its description.

Can I use Scenario Chatgpt Pet Update in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-chatgpt-pet-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-chatgpt-pet-update, .gemini/skills/scenario-chatgpt-pet-update, .github/skills/scenario-chatgpt-pet-update and .opencode/skills/scenario-chatgpt-pet-update in your project.

What does Scenario Chatgpt Pet Update need to run?

Going by SKILL.md and its folder, Scenario Chatgpt Pet Update needs the command-line tools its instructions call (npx and curl). Our summary lists: Node.js.

Does Scenario Chatgpt Pet Update access the network?

SKILL.md contains no URLs. Its commands use npx and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Chatgpt Pet Update safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Scenario Chatgpt Pet Update use?

Scenario Chatgpt Pet Update is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Chatgpt Pet Update use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Scenario Chatgpt Pet Update?

Skills that share tags, products or a category with Scenario Chatgpt Pet Update: 2D Sprite Generator (0x0funky/agent-sprite-forge, 4.4k stars), Img Gen Avatar (4thfever/cultivation-world-simulator, 2.1k stars), Godot Asset Generator (jwynia/agent-skills, 170 stars) and Animated Sprites (elithrar/dotfiles, 202 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Chatgpt Pet Update?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.