Character management

This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character arc", "character profile", or needs to manage characters in a story project.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/character-management, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit danjdewhurst/story-skills/skills/character-management#main ~/.claude/skills/character-management

For one project only, change the path to .claude/skills/character-management. This skill also uses story.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Character management

Show the full text93 lines
namedescription
character-managementThis skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character arc", "character profile", or needs to manage characters in a story project.

Character Management

Overview

Create and manage rich character profiles for a story project. Each character is a markdown file with YAML frontmatter in the characters/ directory. Characters are cross-referenced with other story elements through kebab-case identifiers.

Prerequisites

A story project must already exist (created via the story-init skill). Verify by checking for story.md in the project root.

Creating a Character

  1. Read story.md for genre, themes, and tone context
  2. Read characters/_index.md for existing characters
  3. Ask for the character's name and role (protagonist, antagonist, supporting, minor, narrator, deuteragonist)
  4. Build the profile through conversation, exploring:
    • Appearance and distinguishing features
    • Personality, traits, and quirks
    • Backstory and formative events
    • Motivations (external wants vs internal needs)
    • Voice and speech patterns (ask for example dialogue)
    • Character arc (starting state, turning points, ending state)
    • Key life events for the timeline
  5. Write the character file using the template in references/character-template.md
  6. Save to characters/{name-kebab}.md, or use story add character "{Name}" --role "{role}" when the CLI is available
  7. Update characters/_index.md registry table
  8. If relationships reference existing characters, update those character files too
  9. When CLI access is available, run the maintenance pass in the story root:
story reindex .
story links .
story validate .

Updating a Character

  1. Read the existing character file
  2. Read characters/_index.md for context on other characters
  3. Make the requested changes
  4. If relationships changed, update the other character's file (bidirectional)
  5. Update characters/_index.md if role or status changed
  6. When CLI access is available, run story reindex ., story links ., and story validate .

Managing Relationships

Reference references/relationship-types.md for the full list of relationship types and inverse pairs.

When adding a relationship:

  • Add the relationship entry to the character's frontmatter
  • Add the inverse relationship to the other character's frontmatter
  • Update the Relationship Map section in characters/_index.md

Family Trees

Family trees are maintained in the characters/_index.md under the "Family Trees" section. Format:

## Family Trees

### {Family Name}
- **{Character Name}** ({status}) - [{Name}]({name-kebab}.md)
  - **{Child Name}** - [{Name}]({name-kebab}.md)
  - **{Child Name}** - [{Name}]({name-kebab}.md)

Indent children under parents. Note marriages/partnerships inline.

Cross-Referencing

  • When a character is referenced in worldbuilding (e.g., a location's notable-characters), ensure the link exists both ways
  • Character-location backlinks live in the character file's locations frontmatter list
  • Faction memberships live in worldbuilding/factions/{faction-kebab}.md under members
  • Artifact ownership can reference a character id in worldbuilding/artifacts/{artifact-kebab}.md
  • When a character appears in a plot arc, ensure they're listed in the arc's characters frontmatter
  • Character tags should be consistent across the project (e.g., if magic-user is used, always use that exact tag)

CLI Maintenance

Use the Story CLI when it is available. If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually.

Reference Files

  • references/character-template.md - Full blank template for character profiles, including arc-type, lie/truth/ghost-wound fields and the Antagonist Design section
  • references/relationship-types.md - Complete relationship type reference with inverse pairs
  • references/ensemble-cast.md - Managing multi-character casts: anchor character, A/B/C story braiding, thematic relevance, merge-characters discipline
  • references/supporting-characters.md - Role vocabulary (mentor, foil, confidant, love interest, comic relief, threshold guardian) and requirements for supporting roles
1---
2name: character-management
3description: This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character arc", "character profile", or needs to manage characters in a story project.
4---
5 
6# Character Management
7 
8## Overview
9 
10Create and manage rich character profiles for a story project. Each character is a markdown file with YAML frontmatter in the `characters/` directory. Characters are cross-referenced with other story elements through kebab-case identifiers.
11 
12## Prerequisites
13 
14A story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root.
15 
16## Creating a Character
17 
181. Read `story.md` for genre, themes, and tone context
192. Read `characters/_index.md` for existing characters
203. Ask for the character's name and role (protagonist, antagonist, supporting, minor, narrator, deuteragonist)
214. Build the profile through conversation, exploring:
22 - Appearance and distinguishing features
23 - Personality, traits, and quirks
24 - Backstory and formative events
25 - Motivations (external wants vs internal needs)
26 - Voice and speech patterns (ask for example dialogue)
27 - Character arc (starting state, turning points, ending state)
28 - Key life events for the timeline
295. Write the character file using the template in `references/character-template.md`
306. Save to `characters/{name-kebab}.md`, or use `story add character "{Name}" --role "{role}"` when the CLI is available
317. Update `characters/_index.md` registry table
328. If relationships reference existing characters, update those character files too
339. When CLI access is available, run the maintenance pass in the story root:
34 
35```shell
36story reindex .
37story links .
38story validate .
39```
40 
41## Updating a Character
42 
431. Read the existing character file
442. Read `characters/_index.md` for context on other characters
453. Make the requested changes
464. If relationships changed, update the other character's file (bidirectional)
475. Update `characters/_index.md` if role or status changed
486. When CLI access is available, run `story reindex .`, `story links .`, and `story validate .`
49 
50## Managing Relationships
51 
52Reference `references/relationship-types.md` for the full list of relationship types and inverse pairs.
53 
54When adding a relationship:
55- Add the relationship entry to the character's frontmatter
56- Add the inverse relationship to the other character's frontmatter
57- Update the Relationship Map section in `characters/_index.md`
58 
59## Family Trees
60 
61Family trees are maintained in the `characters/_index.md` under the "Family Trees" section. Format:
62 
63```markdown
64## Family Trees
65 
66### {Family Name}
67- **{Character Name}** ({status}) - [{Name}]({name-kebab}.md)
68 - **{Child Name}** - [{Name}]({name-kebab}.md)
69 - **{Child Name}** - [{Name}]({name-kebab}.md)
70```
71 
72Indent children under parents. Note marriages/partnerships inline.
73 
74## Cross-Referencing
75 
76- When a character is referenced in worldbuilding (e.g., a location's `notable-characters`), ensure the link exists both ways
77- Character-location backlinks live in the character file's `locations` frontmatter list
78- Faction memberships live in `worldbuilding/factions/{faction-kebab}.md` under `members`
79- Artifact ownership can reference a character id in `worldbuilding/artifacts/{artifact-kebab}.md`
80- When a character appears in a plot arc, ensure they're listed in the arc's `characters` frontmatter
81- Character tags should be consistent across the project (e.g., if `magic-user` is used, always use that exact tag)
82 
83## CLI Maintenance
84 
85Use the Story CLI when it is available. If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually.
86 
87## Reference Files
88 
89- **`references/character-template.md`** - Full blank template for character profiles, including arc-type, lie/truth/ghost-wound fields and the Antagonist Design section
90- **`references/relationship-types.md`** - Complete relationship type reference with inverse pairs
91- **`references/ensemble-cast.md`** - Managing multi-character casts: anchor character, A/B/C story braiding, thematic relevance, merge-characters discipline
92- **`references/supporting-characters.md`** - Role vocabulary (mentor, foil, confidant, love interest, comic relief, threshold guardian) and requirements for supporting roles
93 

Discussion