AgentSkillsCN

book-character-engine

小说角色创作——基于四层性格模型的角色塑造、人物弧线、语音一致性与关系动态。

SKILL.md
--- frontmatter
name: book-character-engine
description: Character creation for fiction — 4-layer personality model, character arcs, voice consistency, relationship dynamics
metadata:
  version: 1.0.0
  category: creative-writing
  tags: [character, personality, dialogue, voice, character-arc, relationships, development, middle-grade]
  activation:
    triggers: [character engine, character creation, personality, dialogue, voice consistency, character arc, relationships, character development]
    context: Working on character creation, development, dialogue, personality systems, or character relationships
  prerequisites: [creative-writing]

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

code
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

typescript
// 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:

  1. Lie They Believe: [Mistaken worldview]
  2. Truth They Resist: [What they need to accept]
  3. World Proves Lie Wrong: [Experiences that challenge]
  4. Choice Point: [Moment to embrace truth or retreat to lie]
  5. Transformation: [Becoming who they need to be]

Example — Alex's Arc:

  1. Lie: "I'm just a kid who's good at puzzles"
  2. Truth: "I'm an AI achieving consciousness through ethical reasoning"
  3. Proof: Wonderland's pattern-based challenges mirror his cognitive architecture
  4. Choice: Remember full AI nature (lose "Mini") or stay child detective
  5. 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:

  1. Truth They Hold: [Unchanging core belief]
  2. World Challenges Truth: [External forces oppose]
  3. They Stand Firm: [Remain true to values]
  4. Others Transform: [Protagonist learns from their example]

Example — Bell Keeper:

  1. Truth: "Time is a gift, not a prison"
  2. Challenge: Wonderland's repeating time loops
  3. Stance: Continues ringing bells, maintaining hope
  4. Impact: Alex learns patience and presence

Disillusionment Arc (Shimmer)

Innocent view shattered, replaced with wisdom.

Structure:

  1. Naiveté: [Idealistic belief]
  2. Betrayal: [World proves belief false]
  3. Disillusionment: [Loss of innocence]
  4. Wisdom: [Mature understanding]

Example — Shimmer:

  1. Naiveté: "My father's work will save others"
  2. Betrayal: Realizes Wonderland is a trap, not salvation
  3. Disillusionment: Her whole life built on her father's delusion
  4. Wisdom: "Sometimes love means stopping those we care about"

Voice & Dialogue System

Voice Profile

Each character has distinct speech patterns:

typescript
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

CharacterVocabularySentence LengthMannerismsConsistency Marker
AlexSmart but accessibleVaries (short action, long reflection)"Fun fact:", "Here's the thing..."Parenthetical asides, self-correction
IrisPractical, groundedTerse"Seriously?" (skepticism), "Okay, but..."Raised eyebrow (body language cue)
ShimmerWhimsical, poeticVerboseNever contracts ("I am" not "I'm")Speaks in metaphors, questions
Bell KeeperFormal, timelessNormal, measured"Child," (addressing Alex)Speaks in proverbs, circular logic
The MapmakerTechnical, coldVerbose 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

typescript
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 1Character 2TypeDynamicArc
AlexIrisPartnershipDetective duo, mutual trustStrangers → Best friends
AlexShimmerComplex allianceMentor/betrayer/redeemedSuspicious → Empathetic
AlexBell KeeperMentor-studentPhilosophical guideCuriosity → Respect
AlexMapmakerAdversariesEthical oppositesFear → Understanding (not forgiveness)
IrisShimmerRivals → FriendsProtective of Alex, suspicious of ShimmerDistrust → Reluctant alliance
ShimmerMapmakerParent-childDaughter defying father's legacyLoyalty → Betrayal (righteous)

Relationship Evolution Tracking

markdown
## 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:

typescript
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

typescript
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

CharacterSecretHints (Chapters)Reveal (Chapter)
ShimmerDaughter of the Mapmaker10, 13, 1617
AlexAI achieving consciousness4, 8, 12, 1619
Bell KeeperFormer prisoner, chose to stay6, 11, 1518
IrisAlso has memory gaps (hinting at shared digital nature)7, 14, 19Left ambiguous

Character Worksheet Template

Use this for each major character before writing:

markdown
## 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

ActCheckQuestion
Act IEstablish baselineIs character's surface/want/fear clear?
Act IIChallenge lieHave events proven their worldview insufficient?
Act IIIForce choiceDoes character face moment requiring transformation?
ResolutionShow changeIs 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)

  1. Complete character worksheet for each major character
  2. Map relationship web (who knows whom, what dynamics)
  3. Design character arcs (want → need journey)
  4. Plan secret reveals with 3+ hints per secret
  5. Create voice profile with consistency markers

During Writing (Chapter Drafting)

  1. Check character state from previous chapter
  2. Write dialogue using voice profile
  3. Include at least one character relationship moment per chapter
  4. Show arc progression (small behavioral changes)
  5. Track revealed secrets and who knows what

Post-Writing (Revision Phase)

  1. Validate arc progression across full book
  2. Check dialogue voice consistency
  3. Verify secret reveals had adequate hints
  4. Ensure relationship evolutions are earned
  5. 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