huxley
Build a Persona

Build a Persona

One YAML file — voice, language, prompt, constraints, skills. Make the agent yours.

A persona is the most user-facing piece of Huxley. It's what makes your assistant yours. Different voice, different language, different personality, different skill set, different rules. One YAML file, restart the server, and you have a different agent entirely.

This section walks you through building a persona end to end.

How long does it take?

A first-pass persona — voice, language, basic prompt, two skills — is about 15 minutes:

Create the directory

mkdir -p server/personas/<name>/data

Write the YAML

Copy from another persona and edit. Don't write from scratch on day one.

Restart the server

HUXLEY_PERSONA=<name> uv run huxley

Hold the button. Listen.

Iterate on the prompt based on what you hear.

The 15 minutes gets you something runnable. Polishing — getting the voice exactly right, the prompt exactly right, the constraints tuned — takes longer. Most personas are still being adjusted weeks later. That's fine; the iteration loop is short.

What you do not need to do

  • Write any Python. Persona authoring is pure YAML.
  • Touch any skill code. You configure existing skills via the persona; you don't reach into them.
  • Recompile or rebuild anything. Just edit, restart, listen.

What you will iterate on

  • The system prompt (you'll rewrite this several times).
  • The constraint list (turning some off, adding others).
  • Skill configuration (paths, defaults, per-language strings).
  • Voice — until you find one that fits the personality.

Read first

If you haven't read these:

Then start with anatomy

On this page