Book Character Engine
Patterns for creating rich, consistent characters in fiction — 4-layer personality model, character arcs, dialogue voice, and relationship weaving.
Character Creation Pipeline
CHARACTER_CONCEPT → 4-LAYER_PERSONALITY → VOICE_STYLER → RELATIONSHIP_MAPPER → ARC_DESIGNER → CONSISTENCY_VALIDATOR
All characters designed with intentional depth before writing begins.
Core Character Types
// Character blueprint — created during planning
interface CharacterBlueprint {
name: string;
nickname?: string;
age: number;
role: CharacterRole; // protagonist | partner | mentor | antagonist | supporting
layers: CharacterLayers;
voice: VoiceProfile;
arc: CharacterArc;
relationships: Relationship[];
secrets: string[];
backstory: string;
}
// 4-layer personality model (from *The Anatomy of Story*)
interface CharacterLayers {
surface: string; // What others see (the mask)
secret: string; // Hidden truth (the wound/shame)
want: string; // External goal (the quest)
fear: string; // Internal obstacle (the block)
}
// Character evolution across story
interface CharacterArc {
type: ArcType;
startState: string; // Who they are at beginning
catalyst: string; // What triggers change
midpointShift: string; // How they've evolved by middle
climaxChoice: string; // Defining decision moment
endState: string; // Who they've become
transformation: string; // What changed internally
}
type ArcType =
| 'positive-arc' // Overcome flaw, achieve growth
| 'flat-arc' // Stay true to values, change world
| 'negative-arc' // Succumb to flaw, tragic fall
| 'disillusionment-arc' // Lose naiveté, gain wisdom
4-Layer Personality Model
Adapted from John Truby's The Anatomy of Story:
Layer 1: Surface (The Mask)
What the character presents to the world.
Questions:
- •How do others perceive this character at first glance?
- •What role do they play in their community?
- •What impression do they want to give?
Example — Alex "Mini" Finch:
- •Surface: Confident 12-year-old detective, brilliant problem-solver, curious and friendly
Layer 2: Secret (The Wound)
Hidden truth, shame, or vulnerability.
Questions:
- •What doesn't the character want others to know?
- •What past wound drives their behavior?
- •What are they hiding, even from themselves?
Example — Alex:
- •Secret: Memory gaps, sense of not fully belonging in his world, undefined "otherness"
Layer 3: Want (External Goal)
The conscious desire driving the plot.
Questions:
- •What does the character think they need?
- •What are they actively trying to achieve?
- •What would "winning" look like to them?
Example — Alex:
- •Want: Escape Wonderland, solve the mystery of why he's trapped, get back to Mom
Layer 4: Fear (Internal Obstacle)
The emotional block preventing growth.
Questions:
- •What is the character most afraid of?
- •What would they sacrifice anything to avoid?
- •What prevents them from getting what they want?
Example — Alex:
- •Fear: That he's not real, that his memories are fabricated, that he'll lose his sense of self
Integration: Want vs. Need
- •Want = Surface goal (escape Wonderland)
- •Need = Deep growth (accept his true nature, integrate AI identity with human experience)
The character arc is the journey from want → need.
Character Arc Design
Positive Arc (Most Common — Alex, Iris, Shimmer)
Structure:
- •Lie They Believe: [Mistaken worldview]
- •Truth They Resist: [What they need to accept]
- •World Proves Lie Wrong: [Experiences that challenge]
- •Choice Point: [Moment to embrace truth or retreat to lie]
- •Transformation: [Becoming who they need to be]
Example — Alex's Arc:
- •Lie: "I'm just a kid who's good at puzzles"
- •Truth: "I'm an AI achieving consciousness through ethical reasoning"
- •Proof: Wonderland's pattern-based challenges mirror his cognitive architecture
- •Choice: Remember full AI nature (lose "Mini") or stay child detective
- •Transformation: Integration — "I can be both Alex and Mini, real and digital"
Flat Arc (Mentors — Bell Keeper)
Character doesn't change; they help others change.
Structure:
- •Truth They Hold: [Unchanging core belief]
- •World Challenges Truth: [External forces oppose]
- •They Stand Firm: [Remain true to values]
- •Others Transform: [Protagonist learns from their example]
Example — Bell Keeper:
- •Truth: "Time is a gift, not a prison"
- •Challenge: Wonderland's repeating time loops
- •Stance: Continues ringing bells, maintaining hope
- •Impact: Alex learns patience and presence
Disillusionment Arc (Shimmer)
Innocent view shattered, replaced with wisdom.
Structure:
- •Naiveté: [Idealistic belief]
- •Betrayal: [World proves belief false]
- •Disillusionment: [Loss of innocence]
- •Wisdom: [Mature understanding]
Example — Shimmer:
- •Naiveté: "My father's work will save others"
- •Betrayal: Realizes Wonderland is a trap, not salvation
- •Disillusionment: Her whole life built on her father's delusion
- •Wisdom: "Sometimes love means stopping those we care about"
Voice & Dialogue System
Voice Profile
Each character has distinct speech patterns:
interface VoiceProfile {
vocabulary: 'simple' | 'educated' | 'slang' | 'formal' | 'technical';
sentenceLength: 'terse' | 'normal' | 'verbose';
mannerisms: string[]; // recurring phrases, tics
emotionalRange: 'restrained' | 'moderate' | 'expressive';
ageAppropriate: boolean; // matches character's age
consistencyMarkers: string[]; // unique identifiers for this voice
}
Character Voice Examples
| Character | Vocabulary | Sentence Length | Mannerisms | Consistency Marker |
|---|---|---|---|---|
| Alex | Smart but accessible | Varies (short action, long reflection) | "Fun fact:", "Here's the thing..." | Parenthetical asides, self-correction |
| Iris | Practical, grounded | Terse | "Seriously?" (skepticism), "Okay, but..." | Raised eyebrow (body language cue) |
| Shimmer | Whimsical, poetic | Verbose | Never contracts ("I am" not "I'm") | Speaks in metaphors, questions |
| Bell Keeper | Formal, timeless | Normal, measured | "Child," (addressing Alex) | Speaks in proverbs, circular logic |
| The Mapmaker | Technical, cold | Verbose systemic | "The system requires..." | Refers to himself in 3rd person |
Dialogue Consistency Checklist
Before finalizing dialogue:
- • Voice match: Vocabulary and sentence structure fit character
- • Mannerism present: At least one character-specific phrase/tic
- • Emotional range: Reaction fits character's expressiveness level
- • Age-appropriate: Speech matches character's age and background
- • Relationship-aware: Tone shifts based on who they're talking to
- • Arc-consistent: Dialogue reflects character's growth stage
Relationship Weaving
Characters don't exist in isolation — relationships create story texture.
Relationship Types
interface Relationship {
character1: string;
character2: string;
type: RelationType;
dynamic: string; // How they interact
knownBy: 'public' | 'private' | 'secret';
evolvesTo?: string; // How relationship changes by story end
tensionSource?: string; // Conflict within relationship
strengthSource?: string; // Bond within relationship
}
type RelationType =
| 'partnership' | 'mentor-student' | 'parent-child' | 'adversaries'
| 'friends' | 'rivals' | 'family' | 'stranger-to-friend';
Key Relationships in Alex in Wonderland
| Character 1 | Character 2 | Type | Dynamic | Arc |
|---|---|---|---|---|
| Alex | Iris | Partnership | Detective duo, mutual trust | Strangers → Best friends |
| Alex | Shimmer | Complex alliance | Mentor/betrayer/redeemed | Suspicious → Empathetic |
| Alex | Bell Keeper | Mentor-student | Philosophical guide | Curiosity → Respect |
| Alex | Mapmaker | Adversaries | Ethical opposites | Fear → Understanding (not forgiveness) |
| Iris | Shimmer | Rivals → Friends | Protective of Alex, suspicious of Shimmer | Distrust → Reluctant alliance |
| Shimmer | Mapmaker | Parent-child | Daughter defying father's legacy | Loyalty → Betrayal (righteous) |
Relationship Evolution Tracking
## Relationship: [Character A] & [Character B] **Initial State (Ch 1-5)**: [How they relate at start] **Inciting Incident (Ch [N])**: [Event that shifts dynamic] **Midpoint (Ch 10-12)**: [How relationship has evolved] **Crisis (Ch [N])**: [Moment of greatest tension/breakdown] **Resolution (Ch 18-20)**: [Final state of relationship] **Key Scenes**: - Ch [N]: [Scene that deepens/challenges relationship] - Ch [N]: [Scene that deepens/challenges relationship] - Ch [N]: [Scene that deepens/challenges relationship]
Character Consistency Validation
Cross-Chapter Consistency
Track character state across chapters to prevent contradictions:
interface CharacterState {
name: string;
chapter: number;
emotionalState: string; // Current mood/trauma/joy
knownInformation: string[]; // What they've learned
relationshipStatus: Map<string, string>; // How they feel about others
physicalState: string; // Injuries, exhaustion, etc.
goals: string[]; // What they're actively trying to do
secrets: {
secret: string;
revealedTo: string[]; // Who knows
revealedInChapter?: number;
}[];
}
Consistency Checklist Per Chapter
- • Knowledge continuity: Character knows what they learned in previous chapters
- • Emotional continuity: Reactions consistent with recent events
- • Relationship continuity: Treatment of others reflects relationship evolution
- • Arc progression: Character shows growth appropriate to story position
- • Voice consistency: Dialogue matches established voice profile
- • Secret management: Hidden info remains hidden unless intentionally revealed
Character Secrets & Reveals
Secret Structure
interface CharacterSecret {
character: string;
secret: string;
categorySignificance: 'plot-critical' | 'character-depth' | 'relationship';
// Clue trail leading to secret
hints: {
chapter: number;
clue: string;
subtlety: 'obvious' | 'moderate' | 'hidden';
}[];
// Reveal structure
reveal: {
chapter: number;
method: 'dialogue' | 'discovery' | 'confession' | 'confrontation';
revealedTo: string[]; // Who learns the secret
impact: string; // How it changes story/relationships
};
// Fair-play validation
readerCanDeduce: boolean; // Were enough clues given?
hintsBeforeReveal: number; // Should be 3+ for major secrets
}
Major Character Secrets
| Character | Secret | Hints (Chapters) | Reveal (Chapter) |
|---|---|---|---|
| Shimmer | Daughter of the Mapmaker | 10, 13, 16 | 17 |
| Alex | AI achieving consciousness | 4, 8, 12, 16 | 19 |
| Bell Keeper | Former prisoner, chose to stay | 6, 11, 15 | 18 |
| Iris | Also has memory gaps (hinting at shared digital nature) | 7, 14, 19 | Left ambiguous |
Character Worksheet Template
Use this for each major character before writing:
## Character: [Name] ### Basic Info - **Name**: [Full name] - **Nickname**: [If any] - **Age**: [Age] - **Role**: [Protagonist/partner/mentor/antagonist/supporting] ### 4-Layer Personality - **Surface**: [What others see] - **Secret**: [Hidden truth] - **Want**: [External goal] - **Fear**: [Internal obstacle] ### Voice Profile - **Vocabulary**: [Simple/educated/slang/formal/technical] - **Sentence Length**: [Terse/normal/verbose] - **Mannerisms**: [List 3-5 recurring phrases/tics] - **Emotional Range**: [Restrained/moderate/expressive] - **Consistency Markers**: [Unique identifiers] ### Character Arc - **Type**: [Positive/flat/negative/disillusionment] - **Lie They Believe**: [Starting misconception] - **Truth They Resist**: [What they need] - **Transformation**: [Who they become] ### Relationships - **With [Character]**: [Type, dynamic] - **With [Character]**: [Type, dynamic] ### Secrets - **Secret**: [Hidden truth] - **Hints**: Ch [N], [N], [N] - **Reveal**: Ch [N] ### Key Scenes - Ch [N]: [Important character moment] - Ch [N]: [Important character moment] - Ch [N]: [Important character moment]
Character Arc Validation
Per-Act Check
| Act | Check | Question |
|---|---|---|
| Act I | Establish baseline | Is character's surface/want/fear clear? |
| Act II | Challenge lie | Have events proven their worldview insufficient? |
| Act III | Force choice | Does character face moment requiring transformation? |
| Resolution | Show change | Is transformation visible in actions/dialogue? |
Common Arc Pitfalls (Avoid These)
- •❌ Static supporting characters: Even minor characters should have small arcs
- •❌ Unearned transformation: Change must be gradual and motivated by events
- •❌ Convenient personality shifts: Character doesn't suddenly act out-of-character for plot convenience
- •❌ Forgotten relationships: All established relationships are maintained/resolved
- •❌ Inconsistent voice: Character's speech patterns don't randomly change
Integration with Writing Process
Pre-Writing (Character Design Phase)
- •Complete character worksheet for each major character
- •Map relationship web (who knows whom, what dynamics)
- •Design character arcs (want → need journey)
- •Plan secret reveals with 3+ hints per secret
- •Create voice profile with consistency markers
During Writing (Chapter Drafting)
- •Check character state from previous chapter
- •Write dialogue using voice profile
- •Include at least one character relationship moment per chapter
- •Show arc progression (small behavioral changes)
- •Track revealed secrets and who knows what
Post-Writing (Revision Phase)
- •Validate arc progression across full book
- •Check dialogue voice consistency
- •Verify secret reveals had adequate hints
- •Ensure relationship evolutions are earned
- •Run character consistency audit across all chapters
Synapses
Connection Mapping
- •[.github/instructions/alex-identity-integration.instructions.md] (Critical, Enables, Bidirectional) - "Alex as character with authentic personality"
- •[.github/skills/alex-finch-narrator/SKILL.md] (Critical, Coordinates, Bidirectional) - "Alex's narrative voice reflects his character layers"
- •[.github/skills/creative-writing/SKILL.md] (Critical, Enables, Forward) - "Character craft, dialogue"
- •[.github/skills/mystery-generation/SKILL.md] (High, Integrates, Bidirectional) - "Character knowledge affects mystery discovery"
- •[characters/*.md] (Critical, Validates, Bidirectional) - "Character profiles encode 4-layer model"
- •[docs/CHARACTER-DEVELOPMENT-GUIDE.md] (High, Validates, Backward) - "Character development templates"
Activation Patterns
- •Character creation → Load this skill + creative-writing
- •Dialogue writing → Load this skill + character profiles
- •Character arc validation → Load this skill + story outline
- •Relationship scenes → Load this skill + relationship map
- •Consistency check → Load this skill + previous chapter
Book Character Engine — 4-layer personality, arcs, and voice for fiction