Reusable skill for building Codex desktop pets without getting trapped by broken full-sheet generations, unreadable micro-gestures, scale drift, or naive slicing.
This package turns pet creation into a repeatable workflow:
- character bible first
- row semantics second
- tiny-UI readability before polish
- approved vs unapproved gating
- manual slicing with explicit guidance (no automated slicer)
- deterministic packing of per-frame inputs
- validator before install (sheet +
pet.jsoninstall contract)
The common failure mode is simple:
- a generated strip looks fine when large
- but the app needs a tiny, loopable sprite
- then the result collapses into crop bugs, stretched rows, muddy gestures, extra limbs, or wrong semantics
This skill encodes the fixes for those problems.
codex-pet-generator/
SKILL.md
README.md
LICENSE
requirements.txt
agents/openai.yaml
references/
row-semantics.md
acceptance-checklist.md
packing-and-slicing.md
scripts/
pack_codex_pet.py
validate_codex_pet.py
- Treat each row as one loopable state machine, not eight poses.
- Design for tiny UI readability, not for large preview beauty.
- Keep explicit canon anchors for scale, standing body, seated body, and prop language.
- Mark every candidate
approvedorunapproved. - Never trust naive equal-column slicing unless the strip geometry is actually uniform.
Copy or symlink this folder into your Codex skills directory under a stable name such as:
~/.codex/skills/codex-pet-generator
Then invoke it in prompts as:
Use $codex-pet-generator to turn these character refs into a validated Codex desktop pet.
- Gather character references.
- Write the character bible.
- Define all 9 row semantics.
- Generate one row strip at a time.
- Reject bad rows early.
- Approve exactly one candidate per row.
- Extract frames into per-row directories — manually, using the slicing guidance in
references/packing-and-slicing.md. The skill does not ship an automated slicer. - Pack the final
1536x1872sheet withscripts/pack_codex_pet.py. - Validate the sheet and
pet.jsonwithscripts/validate_codex_pet.py. - Install under a new pet id.
Install dependencies first:
pip install -r requirements.txtPack frames:
python scripts/pack_codex_pet.py <rows-root> <output.webp>Validate the result:
python scripts/validate_codex_pet.py <spritesheet.webp>- This folder is licensed under MIT.
- If your local copy contains private example projects, references, or client material, remove those before publishing your bundle.
- The shareable core is the generic skill itself:
SKILL.md,references/,scripts/,agents/openai.yaml, andLICENSE.
I made a Codex pet creation skill that stops desktop mascot generation from turning into 72-frame roulette: row semantics, tiny-UI readability, approved/unapproved gating, safe slicing, deterministic packing, validator, install.
By Daniil Makeev — AI Engineer.
GitHub: wyddy7
