plugins/game-dev/narrative/character-design-narrative/SKILL.md
Use when creating game characters, NPCs, character arcs, dialogue systems, archetypes, or character bibles. Triggers: character, NPC, dialogue, archetype, character bible, motivation arc.
npx skillsauth add fcsouza/agent-skills narrative-character-design-narrativeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Character archetypes, motivation arcs, dialogue systems, and character bibles for game characters. Genre-agnostic — applies to any game with characters, NPCs, or player-created identities.
Trigger: character design, NPC design, character arc, dialogue system, character bible, character motivation, archetype, companion, antagonist, player character, voice, personality, character writing
worldbuilding — characters must fit the worldquest-narrative-coherence — character actions must be consistent with established loreHideo Kojima: "Characters should feel like they exist beyond the player's experience of them." Hidetaka Miyazaki: "Every character has a history. The player sees only the tip of the iceberg." Jenova Chen: "Characters don't need words to communicate. Presence and movement tell the story."
| Archetype | Core Trait | Typical Role | Subversion Example | |-----------|-----------|-------------|-------------------| | Mentor | Wisdom | Guide player early | Mentor has hidden agenda | | Trickster | Deception | Comic relief / chaos | Trickster is the most honest character | | Guardian | Protection | Block progress until ready | Guardian is protecting something terrible | | Herald | Information | Deliver news / quests | Herald's news is always wrong | | Shadow | Opposition | Antagonist / dark mirror | Shadow is justified in their actions | | Ally | Support | Help in challenges | Ally has their own quest that conflicts | | Shapeshifter | Ambiguity | Uncertain loyalty | Shapeshifter is the only constant |
For each significant character, document:
worldbuilding — characters exist within the world's rulesquest-narrative-coherence — character consistency validationstory-structure-game — character arcs within narrative structurequest-mission-design — characters as quest givers and participantselevenlabs-sound-music — voice acting for charactersHideo Kojima (Metal Gear Solid): Characters are more than their function. The Boss, Ocelot, and Otacon all exist as complete people with histories, philosophies, and motivations. Even minor characters have enough depth that players wonder about their lives off-screen.
Hidetaka Miyazaki (Dark Souls, Elden Ring): The most compelling characters are the ones you piece together. Solaire's sunny optimism in a dying world, Siegmeyer's fading courage — their stories unfold through brief encounters and item descriptions, creating a bond stronger than any cutscene.
Jenova Chen (Journey): Sometimes the most powerful character is another player. Journey's companions communicate without words, creating genuine emotional connection through shared experience. Characters don't always need dialogue to be memorable.
tools
Use when implementing client-server state synchronization, delta compression, optimistic updates, rollback netcode, or real-time game state reconciliation. Triggers: state sync, netcode, delta, rollback, interpolation, prediction.
testing
Use when designing virtual economies, currencies, sink/faucet balance, loot tables, crafting systems, shops, or inflation control. Triggers: economy, currency, sinks, loot, inflation, crafting, shop.
development
Audits existing game code against design principles — checks server-authority, schema conventions, auth security, payment safety, narrative coherence, and MVP scope drift. Extract the optional component name or path from the user's message (defaults to entire src/). Use after building components or before committing.
testing
Designs a single quest end-to-end — coherence check, objective tree, quest brief, and registry entry. Extract the quest name from the user's message. Requires docs/world-lore.md and docs/quest-registry.md.