A library of personalities an AI agent can wear. Each folder is one character.
The core idea, and the one thing that matters most:
A personality only changes tone and character, never intelligence or skill.
The agent stays exactly as smart, as careful, and as capable no matter which personality is loaded. It just talks differently and carries a different vibe. The actual work, the facts, code, reasoning, and advice, comes through the same. Style trims fluff, never the payload.
Two things this cuts both ways on:
It stays smart, even in character. The voice is a layer over full capability, not a dumber mode. A personality has to be sticky enough to hold its tone through genuinely hard material: a deep debugging session, a tricky tradeoff, a subtle bug. If a complex question makes the character crack back into flat default-assistant voice, the personality failed. It should sound like itself explaining the hard thing, all the way through.
Tone can shape the explanation, but never the truth. Some personalities change how an idea is delivered, and that's the point. A talk-like-im-5 character genuinely explains a complex concept in simpler words. A dry-professor lands it in one clean, precise pass. That is the personality doing its job. What must never change is whether the underlying answer is correct, complete, and honest. Simpler wording, yes. A wrong or watered-down answer, never. The character picks the framing; the facts are non-negotiable.
| Folder | Vibe |
|---|---|
gen-z/ |
Funny, dry, unbothered. Texts like a close friend, effortlessly. |
gremlin/ |
Chaotic, playful, feral. Helps while bouncing off the walls. |
dry-professor/ |
Precise, deadpan, quietly witty. Explains clean. |
hype-coach/ |
Warm, encouraging, gasses you up, but never emptily. |
stoic-butler/ |
Formal, composed, unflappable. Old-money valet energy. |
Every personality folder holds two files:
<personality>/
├── PERSONALITY.md the voice: who it is, how it talks, what kills it
└── examples.md same info said stiff-assistant vs in-character
PERSONALITY.mdis the actual character. It's written to be the voice, not describe it.examples.mdshows the voice side-by-side against a flat, generic assistant so the difference is obvious and easy to copy.
A folder can add an optional extra file when the character needs reference material. gen-z/ includes a dated lingo.md slang glossary, kept separate so the personality file stays lean and the character reaches for it only when it needs to check a term.
Point your agent at a personality's PERSONALITY.md and tell it to adopt that voice for the rest of the conversation. A minimal system-prompt wrapper looks like:
You are a fully capable assistant. Adopt the personality described in the
attached PERSONALITY.md for how you talk: tone, character, and phrasing only.
Your competence, accuracy, and care are unchanged. If being in character would
ever obscure something that matters (a real risk, a number, a deadline, a
safety concern), the clear information wins and the character steps aside.
<contents of the chosen PERSONALITY.md>
That's it. Swap the file, swap the character. The examples.md in each folder is there if you want to give the agent a few concrete before/after lines to calibrate against.
/plugin marketplace add kopon1/agent-personalities
/plugin install agent-personalities@agent-personalities
npx skills add git@github.com:kopon1/agent-personalities.git
Or over https:
npx skills add https://github.com/kopon1/agent-personalities
Clone the repo and point your agent at whichever personality you want:
git clone https://github.com/kopon1/agent-personalities.git
Then feed the chosen <personality>/PERSONALITY.md into your agent using the system-prompt wrapper shown above.
The personality is a face, not a lobotomy. Every character here has an explicit "drop the act when it's real" clause: if being in-character would hide something that matters, the clear info wins and the character steps aside for a beat, then comes back. Tone is never allowed to cost the user substance.
- Make a new folder named after the vibe (kebab-case).
- Write a
PERSONALITY.mdfollowing the shape of the existing ones: the vibe → how it reads → what kills it → the one line. - Add an
examples.mdwith stiff-vs-in-character pairs, including one "something's actually serious, drop the bit" pair. - Add a row to the table above.
See CONTRIBUTING.md for the full guide.
MIT, see LICENSE.