Sprite sheets animées
/SKILLCréez, corrigez, validez, prévisualisez et compilez des feuilles de sprites animées pour familiers compatibles avec Codex à partir d'illustrations de
name: hatch-pet
description: Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references. Use when a user wants to hatch a Codex pet, create a custom animated pet, or build a built-in pet asset with an 8x9 atlas, transparent unused cells, row-by-row animation prompts, QA contact sheets, preview videos, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.
triggers:
- "hatch a pet"
- "hatch pet"
- "codex pet"
- "spritesheet pet"
- "animated pet"
- "孵化宠物"
- "电子宠物"
od:
mode: image
surface: image
scenario: personal
preview:
type: image
entry: final/spritesheet.png
design_system:
requires: false
outputs:
primary: final/spritesheet.png
secondary:
- final/spritesheet.webp
- pet.json
- qa/contact-sheet.png
example_prompt: "Hatch me a tiny pixel-art shiba pet — friendly, sitting upright, with a small pomegranate prop. Use the hatch-pet skill end-to-end."
upstream: "https://github.com/openai/skills/tree/main/skills/.curated/hatch-pet"
Hatch Pet
Open Design integration. This is the unmodified Codex hatch-pet skill,vendored under skills/hatch-pet/ so any Open Design agent can run it. Afterthe skill finishes packaging, the resulting spritesheet.webp (under${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/) can be imported into thefloating pet companion via Settings → Pets → Import Codex sprite. The
import flow auto-detects the 8×9 / 192×208 atlas and lets the user pickwhich animation row to play (idle, running-right, waving, …).
Overview
Create a Codex-compatible animated pet from a concept, one or more reference images, or both. This skill owns pet-specific prompt planning, animation rows, frame extraction, atlas geometry, QA, previews, and packaging. It delegates visual generation to $imagegen.
User-facing inputs are optional. If the user omits a pet name, infer one from the concept or reference filenames; if that is not possible, choose a short appropriate name. If the user omits a description, infer one from the concept or references. If the user omits reference images, generate the base pet from text first, then use that base as the canonical reference for every animation row.
Generation Delegation
Use $imagegen for all normal visual generation.
Before generating base art, row strips, or repair rows, load and follow the installed image generation skill:
${CODEX_HOME:-$HOME/.codex}/skills/.system/imagegen/SKILL.mdDo not call the Image API directly for the normal path. Let $imagegen choose its own built-in-first path and its own CLI fallback rules. If $imagegen says a fallback requires confirmation, ask the user before continuing.
When invoking $imagegen from this skill, pass the generated pet prompt as the authoritative visual spec. Do not wrap it in the generic $imagegen shared prompt schema and do not add extra polish, hero-art, photo, product, or illustration-style augmentation. Pet prompts should stay terse, sprite-specific, and digital-pet oriented; only add role labels for input images and any essential user constraint.
Use this skill's scripts for deterministic work only: preparing prompts and manifests, ingesting selected $imagegen outputs, extracting frames, validating rows, composing the final atlas, creating QA media, and packaging.
Hard boundary: do not create, draw, tile, warp, mirror, or synthesize pet visuals with local Python/Pillow scripts, SVG, canvas, HTML/CSS, or other code-native art as a substitute for $imagegen. For a normal pet run, expect up to 10 visual generation jobs: 1 base pet plus 9 row-strip jobs. The only exception is running-left, which may be derived by mirroring running-right only after running-right has been generated, visually inspected, and explicitly approved as safe to mirror. If mirroring is not appropriate, generate running-left as a normal grounded $imagegen row. If those calls are too expensive, blocked, or unavailable, stop and explain the blocker instead of fabricating row strips locally.
Do not mark visual jobs complete by editing imagegen-jobs.json, copying files into decoded/, or writing helper scripts that populate row outputs. Use record_imagegen_result.py for selected built-in $imagegen outputs, or generate_pet_images.py only for the documented secondary fallback. The deterministic scripts may only process already-generated visual outputs.
Only the base job may be prompt-only. Every row-strip job generated through $imagegen must use the input images listed in imagegen-jobs.json, including the canonical base reference created after the base job is recorded. Treat any row generation without attached grounding images as invalid.
Codex Digital Pet Style
Default pet art s