Skip to content
Content
Skill

/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.

From plugin
story-skills
2207 skills
Install
$ npx -y skills add danjdewhurst/story-skills --skill character-management --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/character-management

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

character-management.SKILL.md
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 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

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-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
Read more
Ships withstory-skills

Agent Skills for planning, tracking, and drafting fiction in markdown. Story Skills gives agents a shared project format for fiction: a story bible, character files, worldbuilding notes, factions, artifacts, plot arcs, scene state, continuity questions,

Get the whole plugin
Stats
223
Stars
29
Forks
Active
Maintenance
JavaScript
Language
MIT
License
3d ago
Last commit
7mo ago
Created

Repo: danjdewhurst/story-skills

Other skills on story-skills.