Give your AI a personality

Describe a character once. Turn it into a prompt you paste into your chatbot. Five minutes, no experience needed.

The whole idea in one line: describe the personality → compile it into a prompt → paste it into your bot → (optionally) measure that the bot actually behaves that way.

What you can build

From the simplest to the most advanced. It is always the same persona file; you just compile it to a different target. Every rung below opens the live builder on the matching tab.

1

Set the tone of your chatbot

"I want my assistant to stop agreeing with everything, sound warmer, get to the point." Tune the traits, get a system prompt, paste it in.

chat a system prompt Open the Chat tab →
2

Keep one brand voice across content

"Every post, email and reply should sound like the same person." Get a content style guide your team, or your AI writer, can follow.

social a content style guide Open the Social tab →
3

Give a voicebot a personality you can hear

"My voice agent reads the words fine but sounds robotic." Get the prompt and prosody dials, pace, pitch, warmth, pauses, to map onto your TTS engine.

voice prompt + prosody params Open the Voice tab →
4

Put a character inside a game or an agent

"My NPC should grumble while it helps you, not read like a chatbot." Get behavior weights (helpfulness 88 and hostility 85 at once) plus a dialogue profile.

npc behavior weights + dialogue Open the Game NPC tab →

The frontier: personality for embodied AI

AI is leaving the screen. Service robots, humanoid androids, home companions — an industry being built right now. Every one of these machines needs a character, and today each vendor rebuilds it from scratch, subsystem by subsystem. The result is a robot whose voice, words, and actions do not agree. That is the gap this is built to close.

💬 Chatbot 🔊 Voicebot 🎮 Game NPC 🤖 Robot / Android

Increasing embodiment, one persona file feeding them all. A robot is an NPC that is real: it does not just speak, it acts in the world.

A physical agent has three faces, and they have to be one character. The same persona file already compiles to all three:

chat →What it says

The dialogue prompt for the language model behind the robot: how it reasons, what it will and will not say.

voice →How it sounds

Prosody parameters — pace, pitch, warmth, hesitation — mapped onto its text-to-speech, so the voice matches the character.

npc →How it acts

Behavior weights (helpfulness, boldness, patience, dominance, curiosity) plus emotional reactions, the parameters an embodied agent's behavior policy needs.

Define the character once, and the android is warm in its words, warm in its voice, and warm in what it does. Not warm in one and robotic in the other two.

Where this is today: the behavior-weights output is the embodied-agent foundation you can use now, and the live emotional runtime (a mood that shifts and recovers in real time as the robot interacts) now has a reference implementation you can watch running.

Two ways to set it up

🎛️ No code

5 minutes · no terminal, no files

  1. Open the builder and pick a starting character, or move the sliders. Each slider is a trait on a 0–100 scale, where 50 is an average person. Warmer? Raise Warmth. Should stop agreeing with everything? Keep Sincerity high, Flexibility low.
  2. Copy the prompt — the page compiles it live as you edit. Click Copy.
  3. Paste it into your bot (see the table below). Done.
Open the builder →

⌨️ Developer

Node 18+ · nothing to install (npx fetches it)

  1. Start from a built-in character or write a small .persona.yaml:
    npx personalaity compile honest-sparring
  2. Compile your own file into a system prompt:
    npx personalaity compile my-bot.persona.yaml
    Also: --target social|voice|npc, --lang it, --level style.
  3. Paste or wire the prompt in (table below).
  4. Measure it worked (needs an API key):
    npx personalaity eval my-bot.persona.yaml \
      --provider openrouter --model openai/gpt-4o
Full guide →
Third way, if you use Claude: install the PersonalAIty skill and just ask "give my chatbot a personality". Claude walks the whole workflow with the real toolkit. In Claude Code: /plugin marketplace add gianmarco-pinto/personalAIty then /plugin install personalaity@personalaity.

Where to paste the prompt

The compiled prompt goes wherever your bot reads its system instructions.

If your bot is…Paste the prompt into…
A custom app on the OpenAI or Claude APIthe system parameter of the request
OpenAI Assistants / a custom GPTthe Instructions field
Claude Projectsthe project's Custom instructions
Voiceflow / Botpress / other no-codethe agent's prompt or persona field

Three things worth knowing

Think in traits, not prose

You tune sincerity, warmth, patience — not a hand-written paragraph. Numbers anchor to real people (50 = average), so you always know what you're asking for.

Boundaries always win

Hard rules override every trait. A blunt persona still can't be cruel if a boundary forbids it.

Portable across models

Switched from GPT to Claude, or a model update broke your tone? Don't rewrite the prompt — recompile the same persona file.