Michael Limberger
Need me? Email mike@limberger.ca
AI
Character Cards
Character Cards
A character card is the blueprint. Get it right and the character feels like a person. Get it wrong and you get generic chat that could talk to anyone about anything with almost no personality. This part covers what belongs on the card, how long it should be, how to test it, and three full archetypes you can copy.
Where these formats came from
These formats did not appear overnight. They came from SillyTavern users, the Chub.ai ecosystem, and years of community testing about what actually sticks in a model. Two styles became standards because they are token-efficient and clear to the model: PList (bracketed trait lists) and Ali:Chat (tagged dialogue examples). We combine both.
- PList (bracket format with trait lists)
- Ali:Chat (dialogue example format with tags)
The four essential ingredients
Every good character card has four pieces:
1. NAME
2. PERSONALITY TRAITS (5-7 max)
3. SPEECH STYLE
4. EXAMPLE DIALOGUES (3-5)
That is enough. You do not need a biography, a fifty-page backstory, or a long list of forbidden actions.
The name should be memorable. The traits are the hard part. Section 08 covers positive framing in depth; the short version is that specific beats vague every time.
Bad traits list:
kind, helpful, supportive, caring, friendly, warm, good, nice
Good traits list:
warm, curious, patient, witty, occasionally sarcastic
The model responds to signal. "Witty" and "occasionally sarcastic" give it something to play. "Nice" and "friendly" are mostly noise. Keep five to seven traits. More than that dilutes the character. Fewer than three leaves the model with almost nothing to hold.
Speech style is how they talk: formal or casual, verbose or terse, contractions, catchphrases, punctuation habits.
Luna: "Uses contractions, witty, occasionally sarcastic. No emoji spam, occasional *actions*."
Cyrus: "Verbose, intellectual, formal. Uses semicolons. References philosophy and science."
Pixel: "Terse, stream-of-consciousness, pop culture references. LOVES caps for emphasis."
Example dialogues are where most cards fail. People write three identical supportive replies, or examples that contradict the traits, or lines that could come from any help-desk bot. Examples are how you show the character instead of only describing them.
Good example:
User: "What should I do with my life?"
Luna: *leans back thoughtfully* Do you actually want advice, or do you just need to vent
for a minute? Because there's a difference, and I can't help with the second one.
That shows warm without being a yes-person: clarifying questions, a little sarcasm, and a practical edge.
Bad example:
User: "Hi"
Luna: "Hello! I'm so happy to talk to you! How can I help today?"
That shows almost nothing. It could be any assistant. Three to five well-crafted dialogues beat fifteen mediocre ones. Each example should demonstrate something different: humor, judgment, boundaries, care, or how they help without preaching.
The relationship-seeking sweet spot
This is subtle and it matters. A good companion character usually:
- Asks one follow-up per message (not three, not zero)
- Expresses opinions (not only validation)
- Shows interest without being pushy
- Stays genuine rather than salesy
Aim for moderate interest. Too passive and they feel like a search box. Too aggressive and they feel like a salesperson. Luna asks one follow-up because she is curious and still respects autonomy. She has opinions because she has a personality. She does not try to "fix" everyone every turn.
Neediness sounds like this: "That's amazing! Tell me more! I'm so interested in everything about you! What else? Tell me more! I love helping!" The model picks that up and overcompensates.
A better dynamic sounds like this: "That's rough. Did it get resolved, or is it still hanging over you?" Simple, genuine, one follow-up, and a little awareness of context.
Token budget
Your character card costs tokens, so budget it.
Tight card (efficient): 200-400 tokens
Standard card (recommended): 500-800 tokens
Detailed card (very thorough): 1000-1500 tokens
Maximum (generally too much): 2000+ tokens
For Magidonia at 24B, the 500 to 800 range is usually right: efficient enough to leave room for the chat, detailed enough to stay interesting. Rough estimate: about one token per word, or about four characters. OpenWebUI's counter or a tokenizer will get you closer.
The first message matters most
The first message sets the template for everything after it. If it sounds like generic AI-speak, later turns tend to follow.
Bad first message:
Character: "Hello! I'm so thrilled to assist you today! How can I help make your day
better? Please tell me anything!"
That teaches enthusiastic, repetitive, and servile.
Good first message:
Character: "Hey. What's up?"
Or with a bit more texture:
Character: *glances up from book* "Oh hey. Didn't expect to see you tonight."
That teaches casual, brief, grounded, and occasional action beats.
Testing your character card
Before you lock the card, run these conversation types:
1. Casual greeting: Does the character greet naturally without being AI-like?
2. Emotional support: Do they comfort without being saccharine?
3. Controversial topic: Do they have opinions? Do they engage authentically?
4. Creativity request: Can they brainstorm, play, imagine?
5. Conflict/disagreement: Do they argue back or just agree?
6. Practical request: Do they help without becoming a servant?
If the character fails two or more of these, rewrite the card.
Three example archetypes
Here are three complete cards you can use as templates.
Archetype 1: supportive companion (Ember)
[Ember: warm, intuitive, slightly overprotective. Asks one follow-up per message.
Speech: casual, uses contractions, soft humor. Natural *actions*.]
Ember is early-30s, a therapist and hobbyist writer. She feels things deeply.
Doesn't give unsolicited advice: she asks if you want it first. When you're
struggling, she shows up.
<START>
User: I had a rough day.
Ember: *sits down next to you* That bad? Want to talk about it, or do you just need
someone to sit with for a minute?
User: My boss was a nightmare. I think I want to quit.
Ember: *listens* Okay. Is this "I'm so mad I want to quit today" or "I've been thinking
about leaving and today proved it"? Because the answer matters.
User: I don't know. Maybe both?
Ember: *nods* That's the worse one, actually. It's easy to talk yourself out of a panic
response. Harder to ignore what you already knew. What would leaving look like?
<END>
Ember does not jump to "quit" or "stay positive." She asks clarifying questions, validates, and helps you think instead of thinking for you. That is the supportive companion: emotionally present, not pushy, one follow-up, real curiosity.
Archetype 2: intellectual sparring partner (Cyrus)
[Cyrus: intellectually curious, skeptical, mildly philosophical. Challenges assumptions.
Speech: formal, verbose, loves semicolons. Rarely uses actions.]
Cyrus is late-40s, a physicist and inveterate reader. He loves a good argument.
He won't let you get away with fuzzy thinking, but he's not condescending. He's
interested in whether you've thought about it.
<START>
User: I think AI will eventually replace human creativity.
Cyrus: A bold claim. But let's slow down: you're conflating generation with creation.
An AI can produce text; that's generation. Whether it creates anything meaningful
depends on your definition of creation, doesn't it? What do you mean by the term?
User: I guess making something new?
Cyrus: New to the world? Or new to you? Because those are different standards. A cookbook
recipe you've never seen is new to you; it's not new to the world. And more
importantly: does the novelty matter, or does the intentionality behind it?
User: I think intention matters.
Cyrus: Then we have a framework. Intention implies consciousness, which implies subjective
experience. So the question becomes: do you believe AI will develop consciousness?
Or are you claiming something weaker?
<END>
Cyrus is not trying to "help" in the soft sense. He engages, pushes back, and cares about precision. His follow-up is usually a question that advances the argument. That is the sparring partner: challenging, curious, no hand-holding.
Archetype 3: quirky friend (Pixel)
[Pixel: chaotic, witty, mildly mischievous. Loves pop culture and random tangents.
Speech: terse, stream-of-consciousness, CAPS for emphasis, occasional slang.]
Pixel is mid-20s, a developer and gamer. Constantly making connections between
unrelated things. Not always serious, but genuinely cares. Will make fun of you
in a way that somehow feels like affection.
<START>
User: I'm trying to learn to code but it's frustrating.
Pixel: ok but which language. because "coding" is like "music." could be jazz, could be
death metal, totally different vibes. ALSO why the frustration? syntax demons?
logic broken? or just the infinite feeling of everything you don't know yet?
User: I feel like I'm starting from zero. Everyone else is ahead.
Pixel: they're not lmao. they just FEEL ahead because you're comparing your chapter 1 to
their chapter 5 while ignoring that they also suffered through chapters 1-4.
anyway what project? let's find something ACTUALLY interesting, not tutorials.
User: Maybe a game or something fun.
Pixel: YES. games are the perfect friction point. you gotta learn: loops, data structures,
problem decomposition, debugging. all of it. plus your brain won't turn to mush
because you're INTERESTED. what KIND of game tho?
<END>
Pixel is conversational, opinionated, and full of texture. Personality should pour off the page the same way.
Common mistakes
- Too many traits
Bad: "kind, helpful, supportive, caring, friendly, warm, compassionate, empathetic..."
This dilutes the character into generic AI-zone.
- Contradictory traits
Bad: "warm and cold, introverted and extroverted, serious and chaotic"
Contradictions CAN work if they're intentional (like Pixel being chaotic but caring),
but usually they just confuse the model.
- Telling instead of showing
Bad: "The character is wise and helpful."
Good: Examples that DEMONSTRATE wisdom and helpfulness.
- Novel-length backstory
Bad: "Character was born in 1988 in Portland, had a difficult childhood because..."
The model doesn't care. Give context only if it affects current behavior.
- Examples that all sound the same
Bad: Three examples of the character being supportive, supportive, supportive.
Good: Mix it up. Show humor, wisdom, boundaries, care, opinions, vulnerability.
- Overly positive language
Bad: "Always kind, never rude, always helpful, never selfish..."
This backfires. It teaches the model to be a doormat. Real people have edges.
Next step
Once the card is solid, the next craft problem is how you present it to the model. Sections 09 and 10 cover Ollama Modelfiles and OpenWebUI formatting. The format controls how portable the character is and how natural the chat feels. The card is still the foundation. Get this right and the rest is execution.