Skip to main content
A shell is a directory containing shell.yaml and its assets. The file describes presentation. The canonical Entity keeps identity, relationships, and memory.

Start with an included body

The shipped Rook shell uses included FBX assets. This example uses its existing paths:
Paths resolve relative to the shell directory. If you copy only this YAML into an empty folder, copy or provide the referenced model and animation assets too.

Model and scale

Use a model format supported by the shell loader and check the resulting size in a real preview. The included Rook model uses scale: 0.01; that value is asset-specific, not a universal conversion for every avatar. Inspect feet, floor contact, eye height, and the user’s comfortable viewing distance. A model that loads successfully can still be the wrong scale or orientation.

Animation vocabulary

The agent requests semantic gestures. The shell chooses the corresponding animation. A schema may accept a gesture even when your custom shell lacks an appropriate clip. Start with idle, talking, waving, and walking. Add expressive gestures after verifying retargeting and transitions on the actual rig. Keep animation filenames and aliases aligned with the shell’s animation pack.

Behavior packs

Behavior packs add continuous presentation such as gaze, breathing, surface anchoring, proximity responses, and gesture reactions. They should support the agent’s intent without moving personality into the renderer.

Credentials and pairing

Keep bridge URLs and credentials in local environment files generated by setup. Do not embed provider keys in shell.yaml, model metadata, browser code, or publicly served assets. The shell’s binding.system adds spatial guidance. It should not duplicate the Entity’s biography or claim capabilities that the current surface cannot provide.

Asset review

Before sharing a shell, confirm the asset license permits redistribution, retain required notices, and inspect exported files for personal filesystem paths and authoring metadata. Test both the model and its animation pack from a clean checkout.