New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Create a character, update a character, add a character

Character management

by danjdewhurst · MIT license · ★ 241 on GitHub · updated Sep 22

Character management cover

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.

The SKILL.md below is the copy AgentAlley read and checked. The repo has changed it since; the other files are from commit 28817a2.

Manual install (npx, ZIP)
Claude Codenpx skills add danjdewhurst/story-skills --skill character-management -g -a claude-code
Claude Code (manual)mkdir -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-management
Windows (PowerShell)New-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" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.0 KB
  • references/4 files · 10.6 KB
Read the files here
danjdewhurst/28817a25 files
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
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

  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 
View all files on GitHub →

Details

Updated
Sep 22, 2026
License
MIT
Stars on the repo
★ 241
Checked
Source
danjdewhurst/story-skills ↗
Creator
danjdewhurst · 13 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from danjdewhurst

SkillWrite a chapter, next chapter, chapter outlineChapter writingdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write prose for a story project.★ 241 GitHub starsSkillPantsing, discovery write, write without an outlineDiscovery draftingdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "pantsing", "discovery write", "write without an outline", "discovery draft", "write into the dark", "story kernel", "reconcile a chapter", "reverse outline", "cut a subplot", "dead end", "drafting sprint", "writing cadence", or wants to draft a story by discovery with retrospective bible reconciliation.★ 241 GitHub starsSkillProcess beta reader feedback, alpha reader feedbackFeedback triagedanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round", "synthesize reader feedback", "reader notes", "beta feedback", "readiness check", or wants to collect, reconcile, and act on external reader feedback for a story project.★ 241 GitHub starsSkillMystery, fair play, clue, red herring, romance beats, HEAGenre craftdanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "mystery", "fair play", "clue", "red herring", "romance beats", "HEA", "thriller", "ticking clock", "horror", "dread", "MG", "YA", "middle grade", "young adult", "science fiction", "sci-fi", "serial", "episodic", "web serial", "genre conventions", or wants genre-specific structural craft for a story project.★ 241 GitHub starsSkillCreate a plot arc, story structure, add a plot pointPlot structuredanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing", "act structure", "story arc", "plot outline", or wants to plan and manage the narrative structure of a story.★ 241 GitHub starsSkillRevise a chapter, edit prose, continuity checkRevision continuitydanjdewhurst/story-skills · by danjdewhurstThis skill should be used when the user asks to revise a chapter, edit prose, continuity check, find inconsistencies, audit character state, check timeline consistency, line edit, developmental edit, polish a draft, or prepare existing story material for the next revision pass.★ 241 GitHub stars