title: “Petdex — Install and select animated petdex mascots for Hermes” sidebar_label: “Petdex” description: “Install and select animated petdex mascots for Hermes”
{/* This page is auto-generated from the skill’s SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
Petdex
Install and select animated petdex mascots for Hermes.
Skill metadata
| Source | Bundled (installed by default) |
| Path | skills/productivity/petdex |
| Version | 1.0.0 |
| Author | Hermes Agent |
| License | MIT |
| Platforms | linux, macos, windows |
| Tags | petdex, mascot, display, cli, tui, desktop |
Reference: full SKILL.md
Petdex Skill
Browse, install, and select animated “pet” mascots from the public
petdex gallery. An installed pet
reacts to agent activity (idle, running a tool, reviewing, error, done) across
the Hermes CLI, TUI, and desktop app. This skill drives the hermes pets CLI
and the display.pet config — it does not generate sprites.
When to Use
- The user wants a desktop/terminal mascot or asks about “pets” / petdex.
- The user wants to change, preview, or disable the active pet.
- Diagnosing why a pet isn’t showing (terminal graphics support, config).
Prerequisites
- Network access to
petdex.devfor the gallery/manifest (read-only, no auth). - Pillow (a core Hermes dependency) for sprite decoding — already installed.
- For full-fidelity terminal rendering: a graphics-capable terminal (kitty, Ghostty, WezTerm, iTerm2, or sixel). Otherwise a truecolor Unicode half-block fallback is used automatically.
How to Run
Use the terminal tool to run hermes pets <subcommand>.
Quick Reference
| Goal | Command |
|---|---|
| Browse the gallery | hermes pets list (add a substring to filter: hermes pets list cat) |
| List installed pets | hermes pets list --installed |
| Install a pet | hermes pets install <slug> (add --select to make it active) |
| Set the active pet | hermes pets select <slug> (omit slug for a picker) |
| Resize the pet everywhere | hermes pets scale <factor> (e.g. 0.5, clamped 0.1–3.0) |
| Preview/animate in terminal | hermes pets show [slug] [--cycle] [--state run] |
| Disable the pet | hermes pets off |
| Remove a pet | hermes pets remove <slug> |
| Diagnose setup | hermes pets doctor |
Procedure
- Find a pet:
hermes pets list <query>and note itsslug. - Install + activate:
hermes pets install <slug> --select. - Preview it:
hermes pets show(Ctrl+C to stop). - Confirm setup:
hermes pets doctor— shows the resolved pet, configured render mode, detected terminal graphics protocol, and effective mode.
Pets install into <HERMES_HOME>/pets/<slug>/ (profile-aware). Selecting a pet
writes display.pet.slug + display.pet.enabled to config.yaml.
Configuration
Under display.pet in config.yaml:
enabled(bool) — master on/off.slug(str) — active pet; empty = first installed.render_mode—auto(detect) |kitty|iterm|sixel|unicode|off.scale(float) — on-screen size of the native 192×208 frames (default 0.33, clamped 0.1–3.0). One knob resizes every surface; set it withhermes pets scale <factor>, the/pet scaleslash command, or the desktop Appearance slider.unicode_cols(int) — width in columns for the Unicode fallback.
Pitfalls
- A pet only shows once one is installed AND selected (
enabled: true). - Inside a pipe/redirect (no TTY) terminal rendering is disabled by design.
- The petdex npm CLI installs to
~/.codex/pets; Hermes uses its own profile-scoped<HERMES_HOME>/pets/instead — install throughhermes pets.
Verification
hermes pets doctorreports✓ readywhen a pet is installed, selected, enabled, and Pillow is importable.