Describe a character once. Turn it into a prompt you paste into your chatbot. Five minutes, no experience needed.
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.
"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.
"Every post, email and reply should sound like the same person." Get a content style guide your team, or your AI writer, can follow.
"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.
"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.
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.
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:
The dialogue prompt for the language model behind the robot: how it reasons, what it will and will not say.
Prosody parameters — pace, pitch, warmth, hesitation — mapped onto its text-to-speech, so the voice matches the character.
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.
5 minutes · no terminal, no files
Node 18+ · nothing to install (npx fetches it)
.persona.yaml:
npx personalaity compile honest-sparring
npx personalaity compile my-bot.persona.yamlAlso:
--target social|voice|npc, --lang it, --level style.npx personalaity eval my-bot.persona.yaml \ --provider openrouter --model openai/gpt-4o
/plugin marketplace add gianmarco-pinto/personalAIty then /plugin install personalaity@personalaity.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 API | the system parameter of the request |
| OpenAI Assistants / a custom GPT | the Instructions field |
| Claude Projects | the project's Custom instructions |
| Voiceflow / Botpress / other no-code | the agent's prompt or persona field |
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.
Hard rules override every trait. A blunt persona still can't be cruel if a boundary forbids it.
Switched from GPT to Claude, or a model update broke your tone? Don't rewrite the prompt — recompile the same persona file.