Create and Verify a Custom Hermes CLI Skin

A Hermes skin changes presentation, not behavior. It can restyle colors, labels, spinners, prompt symbols, tool prefixes, and ASCII art while leaving the model, memory, tools, and personality untouched.

Operating checklist

  • Keep personality and visual branding separate.
  • Override only fields that differ from the default.
  • Use sufficient contrast for all semantic states.
  • Test CLI and TUI surfaces.
  • Keep spinner verbs short.
  • Preview Rich-markup banner art.
  • Retain a minimal fallback skin.

How the workflow works

Custom YAML skins live under the active profile skin directory and inherit missing values from the default theme. Activate one with /skin <name> or set display.skin in configuration. Built-in monochrome, slate, daylight, and warm-light themes are useful accessibility and recording baselines; more expressive skins demonstrate branding and spinner overrides.

Common pitfalls

  • Expecting a skin to change conversational tone.
  • Copying every key and drifting from future defaults.
  • Designing for only one terminal background.
  • Using labels that wrap in narrow terminals.
  • Publishing malformed Rich markup.

Verification steps

  1. Confirm the skin appears under /skin.
  2. Inspect banner, prompt, tools, menus, and status surfaces.
  3. Trigger controlled success, warning, approval, and error states.
  4. Resize to a narrow terminal.
  5. Restart and confirm persistence.
  6. Switch back to default to prove rollback.

Use the official Hermes documentation for the current source of truth.