Create a character, update a character, add a character
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…
--- name: character-management description: 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. --- # 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
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.
Manual install (npx, ZIP)
npx skills add danjdewhurst/story-skills --skill character-management -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/danjdewhurst/story-skills/tar.gz/28817a272657 \
| tar -xz -C ~/.claude/skills --strip-components=2 story-skills-28817a272657/skills/character-managementNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/31e84f579b5d36fe2377/character-management.zip" -OutFile "$env:TEMP\character-management.zip"; Expand-Archive "$env:TEMP\character-management.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md7.0 KBreferences/4 files · 10.6 KB
Read the files here
danjdewhurst/
- character-template.md4.8 KB
- ensemble-cast.md1.9 KB
- relationship-types.md2.4 KB
- supporting-characters.md1.5 KB
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
- story.mdexamples/harbor-of-second-light/2.0 KB
- story.jsskills/story-maintenance/scripts/344.6 KB
- naming-languages.mdskills/worldbuilding/references/3.2 KB
Show the full text93 lines
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
- Read
story.mdfor genre, themes, and tone context - Read
characters/_index.mdfor existing characters - Ask for the character's name and role (protagonist, antagonist, supporting, minor, narrator, deuteragonist)
- 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
- Write the character file using the template in
references/character-template.md - Save to
characters/{name-kebab}.md, or usestory add character "{Name}" --role "{role}"when the CLI is available - Update
characters/_index.mdregistry table - If relationships reference existing characters, update those character files too
- When CLI access is available, run the maintenance pass in the story root:
story reindex .
story links .
story validate .
Updating a Character
- Read the existing character file
- Read
characters/_index.mdfor context on other characters - Make the requested changes
- If relationships changed, update the other character's file (bidirectional)
- Update
characters/_index.mdif role or status changed - When CLI access is available, run
story reindex .,story links ., andstory 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
locationsfrontmatter list - Faction memberships live in
worldbuilding/factions/{faction-kebab}.mdundermembers - 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
charactersfrontmatter - Character tags should be consistent across the project (e.g., if
magic-useris 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 sectionreferences/relationship-types.md- Complete relationship type reference with inverse pairsreferences/ensemble-cast.md- Managing multi-character casts: anchor character, A/B/C story braiding, thematic relevance, merge-characters disciplinereferences/supporting-characters.md- Role vocabulary (mentor, foil, confidant, love interest, comic relief, threshold guardian) and requirements for supporting roles
| 1 | |
| 2 | name character-management |
| 3 | description 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 | |
| 10 | 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. |
| 11 | |
| 12 | ## Prerequisites |
| 13 | |
| 14 | A 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 | |
| 18 | Read `story.md` for genre, themes, and tone context |
| 19 | Read `characters/_index.md` for existing characters |
| 20 | Ask for the character's name and role (protagonist, antagonist, supporting, minor, narrator, deuteragonist) |
| 21 | 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 |
| 29 | Write the character file using the template in `references/character-template.md` |
| 30 | Save to `characters/{name-kebab}.md`, or use `story add character "{Name}" --role "{role}"` when the CLI is available |
| 31 | Update `characters/_index.md` registry table |
| 32 | If relationships reference existing characters, update those character files too |
| 33 | When CLI access is available, run the maintenance pass in the story root: |
| 34 | |
| 35 | |
| 36 | story reindex . |
| 37 | story links . |
| 38 | story validate . |
| 39 | |
| 40 | |
| 41 | ## Updating a Character |
| 42 | |
| 43 | Read the existing character file |
| 44 | Read `characters/_index.md` for context on other characters |
| 45 | Make the requested changes |
| 46 | If relationships changed, update the other character's file (bidirectional) |
| 47 | Update `characters/_index.md` if role or status changed |
| 48 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 49 | |
| 50 | ## Managing Relationships |
| 51 | |
| 52 | Reference `references/relationship-types.md` for the full list of relationship types and inverse pairs. |
| 53 | |
| 54 | When 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 | |
| 61 | Family trees are maintained in the `characters/_index.md` under the "Family Trees" section. Format: |
| 62 | |
| 63 | |
| 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 | |
| 72 | Indent 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 | |
| 85 | 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. |
| 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 |
Details
- Updated
- Sep 22, 2026
- License
- MIT
- Stars on the repo
- ★ 241
- Checked
- Source
- danjdewhurst/story-skills ↗
- Creator
- danjdewhurst · 13 listings
Similar skills
See all →
SkillReverse engineer native, managed, Electron/JavaScriptREA
SkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designs
SkillRequires technical rigor and verificationCode Review Reception
SkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugs
SkillImplement the result of /to-spec and /to-tickets in codeImplement spec
SkillWriting a PR bodyMore from danjdewhurst
SkillWrite a chapter, next chapter, chapter outlineChapter writing
SkillPantsing, discovery write, write without an outlineDiscovery drafting
SkillProcess beta reader feedback, alpha reader feedbackFeedback triage
SkillMystery, fair play, clue, red herring, romance beats, HEAGenre craft
SkillCreate a plot arc, story structure, add a plot pointPlot structure
SkillRevise a chapter, edit prose, continuity checkRevision continuity