Codex Pet

Craft, review, and share

Make a Codex pet worth keeping

From version choice and action-by-action direction to clean transparent edges, packaging, and sharing: this is the quality bar for our selected pet gallery.

Fastest workflow

Choose what you want to do

Open the workflow in local Codex, or copy the prompt for another AI assistant.

Start from references or attach existing files. Codex creates or repairs the pet, validates it, and opens a pull request.

View AI prompt
Use English throughout this task. Help me create, finish, or submit my own Codex pet to https://github.com/legeling/awesome-codex-pet.

Use the GitHub API by default so I do not need to clone the full repository. The default outcome is a reviewable pull request, not a blocker report. First ask whether I want to make the pet now from a character or references, finish an in-progress pet, or submit an existing pet folder or spritesheet.webp. Collect all missing decisions in one compact question set.

Requirements:
1. Read AGENTS.md, CONTRIBUTING.md, pets.json, collections.json, the validation scripts, and .agents/skills/submit-codex-pet/SKILL.md through the GitHub API. Search canonical_key, names, and franchise collections. canonical_key groups versions of one character rather than being unique per author. Different authors may submit independently produced versions when variant_note explains the distinction, but a byte-identical spritesheet is not allowed.
2. Based on my choice, decide whether to create from references, finish existing assets, add metadata, or validate a complete three-file package. When production or repair is required, fetch and follow the repository's hatch-pet-v1 or hatch-pet-v2 skill without assuming the repository is cloned.
3. The final folder must be pets/<pet-slug>--<author-slug>/ and contain only submission.json, pet.json, and spritesheet.webp. V1 uses 1536x1872. V2 uses 1536x2288 and spriteVersionNumber: 2.
4. Review actions, look directions, identity, scale, and baseline frame by frame. Repair purple, green, cyan, or magenta fringe and transparent holes on dark, light, and checkerboard backgrounds without globally deleting legitimate character colors.
5. Separate final-pet provenance from reference provenance. Credit the submitter or adapter for original or independently AI-generated final pixels. A public source_url may be empty when the source is described honestly and repository use is marked non-commercial. Character references that are not uploaded remain reference-only; do not miscredit their artists as the pet author. Record direct crops, traces, cleanup, or substantial pixel reuse honestly; regenerate or repair them when they cause inconsistent identity, weak actions, damaged outlines, or chroma residue. When bilingual naming is selected, provide both localized_names.en and localized_names.zh.
6. In a temporary local workspace, run or equivalently perform npm run validate:pr, npm run lint, and an isolated installation test. Do not include QA, references, videos, README files, pets.json, generated previews, or temporary files in the pull request.
7. Before publication, show me the contact sheet or final spritesheet and obtain visual approval. Then use the GitHub API to create or reuse a submission branch in my fork, upload the three final files, and open one focused pull request against the upstream repository. A full clone is not required. Once the package, visual approval, and required validation are complete, open it as a **ready-for-review pull request, not a draft**. Use a draft only when I explicitly request one or the submission is knowingly unfinished, and state the remaining work. Attach the contact sheet to the pull request description rather than committing it to the pet directory. Document duplicate research, final-asset authorship, reference/source notes, the non-commercial statement, version, and validation, and link any existing issue. Repository CI also produces a downloadable preview artifact.
8. Do not block because a public source_url or formal license name is absent. Record authorship and source honestly and state "Non-commercial use only." Put review effort into character fidelity, frame consistency, action direction, alternating running gait, look directions, animation continuity, and transparent edges. If GitHub is not authorized, ask me to connect it and retry.
9. Only after those recovery steps still cannot complete, and after I explicitly approve the fallback, create a [Submission] issue containing <!-- pet-flow: submission -->. State one genuine blocker and the exact resolution step, use the exact headings ### Pet runtime version and ### Primary category, and attach a contact sheet plus an accessible spritesheet or compact package. Filenames and local paths are not attachments. Do not publish a long validation report for inaccessible local files.
10. Follow the CI run. Fix deterministic structural or formatting failures; stop for my confirmation when the decision concerns visual direction, pet quality, or duplicate acceptance.

Ask whether I want live creation, continued production, or submission of existing files first. Then inspect my references and assets and carry production or repair, frame-by-frame review, validation, GitHub API upload, pull request creation, and CI follow-up through end to end.

Runtime contract

Choose the version before drawing

Both versions share the nine standard actions. V2 adds two rows of 16 clockwise look directions and is the default for new work; V1 remains fully supported for legacy pets.

V1

8 × 9

Best for preserving or repairing an existing legacy pet. Omit spriteVersionNumber or set it to 1.

Atlas
1536 × 1872
Action rows
9
Look directions
0

V2

Recommended for new pets

Recommended for new pets and upgrades. Set spriteVersionNumber to 2 and review the full 16-direction loop.

Atlas
1536 × 2288
Action rows
9
Look directions
16

Upgrading a V1 pet preserves approved standard rows and adds look directions. In Codex, open Settings → Pets, choose Update, then review the complete result before submitting the final three files.

Nine distinct states

Direct every action, not just the character

A strong pet keeps one identity while giving each row a clear purpose. Write and refine each action separately; shared proportions, palette, anchor, and prop rules keep the whole set coherent.

00

Idle

A living rest loop with subtle breathing, blinking, or weight shift. It should never read as a frozen still.

01

Running right

A readable right-facing travel gait with alternating cadence and stable props. Avoid speed lines, dust, and floor shadows.

02

Running left

A true left-facing gait. Mirror only when markings, text, lighting, props, and handedness remain correct.

03

Waving

A clear greeting led by the hand, paw, ear, or body. Use the pet itself, not detached wave marks.

04

Jumping

Show takeoff, airborne motion, and return while keeping scale and the ground anchor visually stable.

05

Failed

Make frustration or failure readable through pose and expression. Any tears, smoke, or stars must stay attached and sprite-like.

06

Waiting

An expectant pose that asks for approval or input, clearly different from ordinary idle and focused review.

07

Running

A non-directional busy state for ongoing work, not another left-or-right travel loop.

08

Review

A focused inspection or thinking loop using gaze, head angle, posture, or hands without inventing unrelated props.

Transparent-edge craft

Remove purple and green fringe without damaging the pet

Green, cyan, magenta, purple, or pink halos often come from chroma-key cleanup. They are quality defects, but broad color deletion can erase real hair, clothing, eyes, or props.

  1. 01Choose a key color that does not overlap the pet's palette, and request a flat background with no glow, shadow, blur, or semi-transparent edge contamination.
  2. 02Inspect the contact sheet and animation on checkerboard, dark, and light backgrounds at normal size and close zoom. Check every frame, not only the first pose.
  3. 03Repair the smallest failing scope first: one frame, then one action row, and only then the whole pet. Rebuild edge RGB from nearby character colors while preserving alpha and silhouette.
  4. 04Recheck motion after cleanup. Reject isolated pixels, clipped outlines, transparent holes, color loss, scale popping, baseline jumps, or a halo that returns during playback.

Folder layout

Each pet lives under pets/<pet-slug>--<author-slug>/ and only contains three files.

pets/
└── pet-slug--author-slug/
    ├── submission.json
    ├── pet.json
    └── spritesheet.webp

Generated previews land in assets/previews/<pet-id>/ and are produced by the build pipeline.

Category and discovery

Categories come from the repository taxonomy. Pick the closest primary type when you submit.

Game CharactersAnime CharactersOriginal CharactersMascotsAnimalsFantasy CreaturesRobotsHuman AvatarsMemesObjects & PropsOthers

Series and collection membership

Use submission.json.collections to reference franchise series or theme slugs from the repository's collections.json. The website groups pets automatically and publishes a collection after it reaches three members.

{
  "collections": ["genshin-impact"]
}

Selection standard

What makes the gallery cut

Community distribution

Credit the maker, then help the pet travel

Every pet page keeps its creator and source visible. Share the complete page, a ready-to-post message, a Markdown link, or the native system share sheet so people can preview and install from the original listing.

Submit your petAsk the community to make a pet