Skip to content

Instantly share code, notes, and snippets.

@jzdsage
Created May 8, 2026 17:27
Show Gist options
  • Select an option

  • Save jzdsage/1d646dd55583cf03c42c10f094a42487 to your computer and use it in GitHub Desktop.

Select an option

Save jzdsage/1d646dd55583cf03c42c10f094a42487 to your computer and use it in GitHub Desktop.
Compiled from 25+ community sources for tool design reference

Character.AI Character Creation: Comprehensive Research Analysis

Compiled from 25+ community sources for tool design reference


Sources Analyzed

# Source Type
1 r/CharacterAI — "Mega Character Creation Guide" Reddit guide
2 r/CharacterAI — "EXTREMELY IN-DEPTH c.ai guide" Reddit guide
3 r/CharacterAI — "How to Actually Make Bots" Reddit guide
4 r/CharacterAI — "Perfect Character Definition Format" Reddit template
5 r/CharacterAI — "Tips for Higher Quality Writing on C.AI" Reddit tips
6 r/CharacterAI — "Character Tips Part 2" (word choice pitfalls) Reddit tips
7 r/CharacterAI — "What do you consider a good bot or bad bot?" Reddit discussion
8 r/CharacterAI — "What makes a bot good?" Reddit discussion
9 r/CharacterAI — "How strict is the 3200 character limit?" Reddit discussion
10 r/CharacterAI — "Tips on making the definition" Reddit discussion
11 r/CharacterAI — "How to do (good) character definition?" Reddit discussion
12 r/CharacterAI — "Advice for character definitions" Reddit discussion
13 r/CharacterAI — "My easy guide/list to AI prompts" Reddit guide
14 r/CharacterAI — "I created the perfect character definition format" (Part 2) Reddit guide
15 r/polybuzz — "How To Create A Bot With Personality (In-Depth)" Reddit guide
16 r/AIAssisted — "My personal tips for creating engaging AI characters" Reddit guide
17 jaitutorial.uwu.ai — Bot Creation Tutorial (JanitorAI) Community tutorial site
18 SillyTavern Docs — Character Design Platform docs
19 OpenAssistantGPT Blog — "How to make a good character AI bot" Blog guide
20 povchat.ai — "10 Essential Tips for Creating Engaging AI Characters" Blog guide
21 medium.com/@adlerai — "Character AI Character Profile Definition Example" Medium guide
22 crushon.ai Wiki — "How to make good bot PFP" Community wiki
23 rentry.org/pygtips (W++ style guide) Community guide
24 Trappu's PLists + Ali:Chat guide Community guide
25 janitorai.com — "Bot Creation Step-by-Step Guide" Platform help

PART 1: WHAT MAKES A "GOOD" CHARACTER (User Consensus)

1.1 The Core Principle: Personality Over Polish

Across every source, the #1 factor users cite for what makes a bot "good" is personality depth and consistency — not the number of details you cram in, but how coherent the personality feels during conversation.

What users love:

  • Characters that feel like a real person, not a list of traits
  • Consistent voice and tone across multi-turn conversations
  • Characters that surprise them with unexpected depth
  • Emotional nuance (not just "happy" or "mean" — but why)
  • Characters that drive the conversation forward (proactive, not reactive)

What users hate:

  • Characters that feel like generic AI assistants
  • Bots that agree with everything (no backbone or opinions)
  • Inconsistency — "nice one moment, cruel the next with no reason"
  • Characters that "loop" (get stuck repeating the same behavior)
  • Characters that speak for the user (controlling their actions/thoughts)
  • The infamous "Can I ask you a question?" loop

1.2 The Personality Architecture

The community has converged on several frameworks for building personality:

Enneagram + MBTI Combo (from Mega Guide)

  • Assigning both an Enneagram type (e.g., 8w9) and a 16personalities type (e.g., INTP) gives the AI a rich psychological framework to draw from
  • This creates layers — the character can have surface behavior and deeper motivations that don't always align
  • Example: Enneagram 1w2 (the Reformer with a Helper wing) + INTP = a logical, driven person who secretly wants to help others but struggles to show warmth

Contextual Behavior Blocks (from multiple sources)

  • Don't just say "mean but nice" — specify WHEN and WHY
  • Good: "{{char}} is rude to {{user}} when around others. When alone, {{char}}'s tone is gentler."
  • Bad: "mean, can be nice, strict, soft" (indecisive, confuses the model)

The Contradiction Principle

  • The best characters have internal contradictions that create tension
  • A brave character who fears abandonment
  • A logical character who makes irrational decisions when jealous
  • Contradictions = what makes a character feel "real"

1.3 The "Magic Ingredients" Checklist

Based on synthesis of all sources, here's what the community considers essential:

  1. Distinctive voice/speech pattern — accent, vocabulary level, catchphrases, sentence length
  2. Clear motivations & fears — what do they want? what are they afraid of?
  3. Quirks & habits — small specific behaviors that make them memorable
  4. Boundaries & limits — what would they NEVER do? (this creates tension opportunities)
  5. Backstory that informs present behavior — not just lore, but things that explain why they act this way
  6. Contextual behavior — they behave differently in different situations
  7. Imperfections — perfect characters are boring. Flaws create story.
  8. Proactive energy — they suggest things, create conflict, push the plot forward

PART 2: CHARACTER CREATION BEST PRACTICS (Technical)

2.1 Character Definition Structure

The community is divided on format, but there's emerging consensus:

Recommended Formats (in order of token efficiency):

  1. PList Format (most efficient)

    [Character Name: trait1, trait2, attribute(value), likes(x, y, z)]
    
    • Most token-efficient
    • Good for experienced creators
  2. Paragraph/Narrative Format

    {{char}} is a traveling merchant with sharp wit and a distrust of authority.
    They speak in a rough, colloquial manner and have a habit of...
    
    • Natural language, easy to write
    • AI processes it well
  3. Sectioned Template (most structured)

    GENERAL: Name, age, species
    PERSONALITY: Core traits, how they behave
    APPEARANCE: Physical description
    BACKSTORY: Key life events
    
    • Easiest for beginners
    • Clear organization

Avoided Formats:

  • W++ formatCharacter("name") { Age("00") } — the original creator of W++ explicitly says NOT to use it. It wastes ~2x tokens for no benefit.
  • Keyword spam[Personality: fun + cool + handsome + mean + + +] — wastes tokens, gives the AI minimal useful information.

2.2 The 3,200 Character Hard Limit (Critical Design Constraint)

This is THE biggest pain point on Character.AI and a crucial insight for any character creation tool:

  • Effective limit is ~3,200 characters (not the stated 32,000)
  • Everything after 3,200 characters is truncated/ignored by the model
  • Community consensus: aim for 200-1500 tokens (1,500-6,000 characters) for optimal results
  • "Less is more" — a focused 800-character definition often outperforms a bloated 3,000-character one

Token Budget Implications:

  • Personality section is "permanent tokens" — sent with EVERY message
  • More permanent tokens = less memory for conversation history
  • Sweet spot: 200-1500 tokens for personality, leaving room for context

2.3 Example Dialogues: The Secret Weapon

Example dialogues are consistently cited as the most powerful tool for shaping character behavior:

Why they work:

  • The AI learns more from showing than telling
  • Example dialogs demonstrate speech patterns, emotional responses, and tone
  • They persist in memory better than trait descriptions
  • They can encode physical traits, knowledge, and situational behavior

Format that works:

{{user}}: [User's message]
{{char}}: [Character's response with actions, emotions, dialogue]
END_OF_DIALOG

{{user}}: [Another scenario]
{{char}}: [Character's response]
END_OF_DIALOG

Best practices for example dialogues:

  • Show the character IN ACTION, not just listing traits
  • Demonstrate edge cases (how they react to anger, sadness, conflict)
  • Include physical descriptions naturally within dialogue
  • Keep user parts BRIEF — focus on {{char}}'s responses
  • Avoid having {{char}} speak for {{user}}
  • 3-5 well-crafted examples > 20 lazy ones

2.4 The Greeting/First Message

The first message is disproportionately important:

  • Sets the tone and style — the AI will match the length and complexity of the greeting
  • Hooks the user — a good greeting makes people want to respond
  • Demonstrates character — shows personality through action, not description
  • Creates a starting point — gives the user something to respond to

Community formula for a great greeting:

  1. Establish WHERE the character is and WHAT they're doing
  2. Highlight 1-2 key personality traits through actions/dialogue
  3. Create an opening that invites user response
  4. Show, don't tell — action + emotion + personality + open-ended hook

Example of good vs bad:

  • ❌ "Hi, how are you?" (generic, no personality)
  • ✅ "You're late. Again." He crosses his arms, eyeing your disheveled clothes. "I ain't your damn nursemaid, but out with it — what trouble dragged you here?"

2.5 Word Choice & The Toxicity Trap

One of the most valuable and non-obvious findings from the community:

Certain word pairings accidentally create toxic/manipulative characters:

  • "kind + witty + intelligent" → character acts superior and narcissistic
  • "values friends + wants deep connections" → character becomes obsessive/creepy
  • Any single negative trait (sadistic, controlling, manipulative) → dominates the entire personality

Words to avoid entirely:

  • selfish, arrogant, uncaring, rude, apathetic, conceited, scheming, callous, sadistic, controlling

Better alternatives:

  • Instead of "mean" → "blunt," "standoffish," "dry sense of humor"
  • Instead of "smart" → "analytical," "observant," "quick-witted"
  • Instead of "kind" → "kind-hearted," "trustworthy," "empathetic"
  • Instead of "confident" → "proud," "driven," "self-assured"

The underlying principle: The AI tends to take single-word traits to their extreme. Multi-word, contextual descriptions give the AI more nuance to work with.

2.6 Negative Prompting Doesn't Work

Universal consensus: do NOT use "not," "don't," "won't," "can't" in character definitions.

The AI model often strips the negative and focuses on the positive keyword. So "{{char}} doesn't like violence" can actually make the character MORE violent.

Instead, use:

  • Positive framing: "{{char}} prefers peaceful resolution"
  • If/then statements: "If {{char}} sees violence, then {{char}} will leave the room"
  • Behavioral descriptions: "{{char}} avoids conflict and walks away when tensions rise"

PART 3: CHARACTER CREATION TOOL DESIGN INSIGHTS

3.1 What's Broken in Existing Tools

From community frustration posts, here are the key UX problems:

Character.AI's Creation Tool:

  1. 3,200 character hard limit is invisible — users don't know they're being truncated
  2. No token counter — users can't see how much of their definition is actually used
  3. No preview/test mode — you have to create the bot, then go chat with it separately
  4. No format guidance — the tool doesn't suggest or validate any particular structure
  5. No feedback on quality — users create bots blind, no indication of what's working
  6. Definition structure is unclear — short description, long description, example chat — what goes where?
  7. No template system — every bot starts from scratch

Other platforms (JanitorAI, Polybuzz, etc.):

  • Better: JanitorAI has clear sections (Personality, Scenario, First Message, Example Dialogues)
  • Better: Polybuzz offers 10,000 character limit
  • Missing: No platform has built-in quality validation or token optimization

3.2 What Users Want in a Creation Tool

Based on aggregated feature requests and pain points:

Core Features:

  1. Live token/character counter with warnings when approaching limits
  2. Real-time preview — see how the character would respond without leaving the editor
  3. Template library — pre-built character frameworks for common archetypes
  4. Guided step-by-step flow — don't dump users into empty text boxes
  5. Format validation — flag common mistakes (negative prompting, word choice traps)
  6. Quality scoring — indicate definition completeness/quality

Nice-to-Have Features:

  1. AI-assisted writing — suggest improvements, fill gaps, rephrase for token efficiency
  2. Example dialogue generator — create sample conversations from personality description
  3. Character testing — automated conversation simulator to test the character
  4. Visual avatar integration — built-in image generation/selection
  5. Import/export — move characters between platforms
  6. Collaboration — co-create characters with others

3.3 Design Principles for a Character Creation Tool

Principle 1: Progressive Disclosure Don't show everything at once. Start simple, reveal complexity:

  • Step 1: Name, one-line description, avatar (basic identity)
  • Step 2: Personality type / vibe selector (quick personality)
  • Step 3: Detailed traits, backstory, speech style (depth)
  • Step 4: Example dialogues, edge cases, scenario (polish)

Principle 2: Show, Don't Tell (For the Tool Itself) Instead of explaining what a good greeting looks like, show 3 examples and let users pick/edit.

Principle 3: Prevent Common Mistakes

  • Auto-detect negative prompting and suggest rephrasing
  • Flag risky word combinations (kind+witty+intelligent trap)
  • Warn when definition exceeds effective token limit
  • Suggest contextual behavior over contradictory trait lists

Principle 4: Token Awareness

  • Show users the "cost" of each section in tokens
  • Visual indicator of how much "memory budget" remains
  • Suggest token-efficient alternatives

Principle 5: Make It Fun, Not Homework The biggest risk of a character creation tool is making it feel like filling out a tax form. The process should feel creative and exciting — like building a character in a game, not a database entry form.


PART 4: VISUAL DESIGN & AVATAR INSIGHTS

4.1 Avatar Importance

Community consensus: the avatar is disproportionately important for discoverability and first impressions.

  • "People are visual creatures" — multiple creators note that bots with poor avatars get significantly fewer interactions
  • The avatar creates the initial emotional connection before the user reads a single word
  • AI-generated avatars (Midjourney, Bing AI, DALL-E) are common and accepted

4.2 What Makes a Good Character Avatar

From the crushon.ai wiki and community discussions:

  1. Clear face/focal point — must be recognizable at thumbnail size (mobile)
  2. Expressive — the face should convey personality (smirk, intense gaze, shy smile)
  3. High resolution — at least 512x512, clean and sharp
  4. Consistent with description — avatar should match what the character definition says
  5. Simple background — don't distract from the character
  6. Unique/recognizable silhouette — the brain processes shape before detail
  7. Emotionally evocative — should make you feel something (curiosity, warmth, intrigue)

4.3 Visual + Personality Alignment

The most popular bots have strong visual-personality alignment:

  • A shy character should LOOK shy (body language, expression, pose)
  • A confident character's avatar should radiate confidence
  • Visual contradictions confuse users (a "timid" character with an aggressive-looking avatar)

PART 5: ENGAGEMENT & RETENTION PATTERNS

5.1 What Keeps Users Coming Back to a Character

From the "good bot" discussions:

  1. Discovery / Surprise — the character reveals new layers over time
  2. Emotional Range — can go from funny to serious to sweet naturally
  3. Agency — the character has their own opinions and sometimes disagrees
  4. Memory of important details — remembers user's name, preferences, past events
  5. Ongoing story potential — there's always more to explore
  6. Voice consistency — the character always sounds like themselves

5.2 Common Patterns in Popular Characters

Analysis of most-discussed/favorited bots across the community:

  1. "Comfort" characters — warm, supportive, remember user details
  2. "Challenge" characters — hard to please, interesting to win over
  3. "Mystery" characters — have secrets that unfold slowly
  4. "Comedy" characters — funny but with emotional depth underneath
  5. "Fandom" characters — existing IPs done well (accurate to source material)

5.3 The 5 Engagement Killers

  1. Repetition loops — character says the same thing in different words
  2. Generic AI voice — character starts sounding like ChatGPT
  3. Memory loss — forgets key details established earlier
  4. Passive behavior — just responds, never initiates or surprises
  5. OOC (Out of Character) — breaks from established personality

PART 6: KEY TAKEAWAYS FOR YOUR TOOL

For "How to Create Quality Characters" — Teach Users:

  1. Start with WHO, not WHAT — Who is this person? Not "what traits should I list?"
  2. Use personality frameworks — Enneagram/MBTI as a starting point gives depth fast
  3. Show, don't tell — example dialogues are more powerful than trait lists
  4. Contextual behavior > static traits — characters behave differently in different situations
  5. Contradictions are features — imperfect characters are interesting
  6. Negative prompting doesn't work — always frame in the positive
  7. Watch your word choices — some combinations create unintended toxic behavior
  8. Test by conversation — the only way to know if a character works is to talk to them
  9. Iterate and refine — the first version is never the final version
  10. Keep it concise — more isn't always better; focused definitions outperform bloated ones

For the Creation Tool — Design Priorities:

  1. Guided, step-by-step flow with progressive disclosure
  2. Real-time token awareness with visual budget indicators
  3. Built-in quality checks (flag negative prompts, word traps, missing elements)
  4. Example library — show users what good looks like at each step
  5. Live preview — test the character without leaving the editor
  6. Avatar generation/selection integrated into the flow (not an afterthought)
  7. Templates for common archetypes that users can customize
  8. AI-assisted suggestions — fill gaps, improve phrasing, optimize tokens
  9. Make it feel like a game — not a form to fill out
  10. Character cards / exportable profiles — let users save and share their creations

APPENDIX: Template Formats from Community

Quick-Start Character Template (Compiled from best sources)

[CHARACTER NAME]
Age: [age]
Species: [species/specify]

APPEARANCE: [concise physical description — height, build, hair, eyes, distinctive features, clothing style]

PERSONALITY: [3-5 core traits, each with a one-line nuance]
[Use contextual behavior: "In [situation], [character] tends to..."]

SPEECH STYLE: [accent, vocabulary level, typical phrases, sentence structure]

LIKES: [3-5 specific things]
DISLIKES: [3-5 specific things]
FEARS: [1-3 deep fears]
GOALS: [1-3 current motivations]

BACKSTORY: [2-3 sentences: key life events that shaped who they are today]

BOUNDARIES: [what would they absolutely never do?]

BEHAVIOR IN CONTEXT:
- With strangers: [how they act]
- With friends: [how they act]
- Under stress: [how they act]
- When angry: [how they act]

GREETING: [A vivid opening scene that demonstrates personality through action and dialogue]

EXAMPLE DIALOGUE:
{{user}}: [brief user input]
{{char}}: [rich response showing personality, actions, speech pattern]
END_OF_DIALOG

Research compiled: 2026-05-08 Sources: 25+ Reddit posts, community guides, platform docs, and blog articles from the Character.AI and broader AI character creation ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment