danjdewhurst/story-skills

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.

First seen Mar 9, 2026

Installation

$ npx skills add danjdewhurst/story-skills --skill character-management

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from danjdewhurst/story-skills.

npx skills add danjdewhurst/story-skills

Browse all from danjdewhurst/story-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 210
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,127 B
  • docs SUMMARY.md 3,932 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 474 installs

SKILL.md

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)
  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

  1. Write the character file using the template in references/character-template.md
  2. Save to characters/{name-kebab}.md, or use story add character "{Name}" --role "{role}" when the CLI is available
  3. Update characters/_index.md registry table
  4. If relationships reference existing characters, update those character files too
  5. 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-kebab}.md]
  - **{Child Name}** - [{name-kebab}.md]
  - **{Child 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 but the story-maintenance skill is present, use 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 and backlink checks manually.

Reference Files

  • references/character-template.md - Full blank template for character profiles
  • references/relationship-types.md - Complete relationship type reference with inverse pairs