adaptation
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
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", "relationship graph", "name a character", or needs to
Claude Code
$ npx -y skills add danjdewhurst/story-skills --skill character-management --agent claude-code
Codex
$ npx skills add danjdewhurst/story-skills --skill character-management -a codex -y
Cursor
$ npx skills add danjdewhurst/story-skills --skill character-management -a cursor -y
Gemini CLI
$ npx skills add danjdewhurst/story-skills --skill character-management -a gemini-cli -y
GitHub Copilot
$ npx skills add danjdewhurst/story-skills --skill character-management -a github-copilot -y
OpenCode
$ npx skills add danjdewhurst/story-skills --skill character-management -a opencode -y
Windsurf
$ npx skills add danjdewhurst/story-skills --skill character-management -a windsurf -y
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", "relationship graph", "name a character", or needs to manage characters in a story project. NOT for recording or checking character voices (use voice-style), rewriting dialogue so the voices differ (use line-editing), or a thematic arc's lie, truth, and arc type (use theme-craft).
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.
A story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root.
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). Before settling the name, run `story names '{Name}'` (several candidates can be checked at once): it errors on an exact clash with any existing character, alias, location, faction, artifact, system, or glossary term, and warns about look-alikes and names sharing an initial with a major character. Invented names from a culture should follow its naming rules (see `references/naming-languages.md` in the `worldbuilding` skill) 4. Build the profile through conversation, exploring:
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. Cyrillic and Greek names are transliterated (`Пётр` gives `characters/petr.md`). When the name is in a script with no transliteration table (`李明`), or the user wants a different spelling, choose the ASCII id yourself and pass it: `story add character '李明' --id li-ming --role supporting` keeps `name: 李明` in the file 7. Leave the `characters/_index.md` table to the CLI: `story add` and `story reindex .` rebuild it from the character files, so never add a row by hand 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 wordcount . --write story check .
1. Read the existing character file 2. Read `characters/_index.md` for context on other characters 3. Make the requested changes. If the change happens partway through the story (a scar, a new title, a turn to the other side), add a progression instead of editing the opening value (see Changes Over the Story) 4. If relationships changed, update the other character's file (bidirectional) 5. Change a role or status in the character file only. The `characters/_index.md` table picks it up at the next `story reindex .`, so never edit its rows 6. When CLI access is available, run `story reindex .`, `story wordcount . --write`, and `story check .`
A character file describes the character as the story opens. Record a change that happens in a later chapter as a progression, so an agent drafting an earlier chapter does not write it in too soon:
progressions:
- from: chapter-10
field: scar
value: "Jaw to collarbone, taken holding a door"
- from: chapter-14
field: role
value: antagonistAgent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins.
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway",…
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue…
This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft",…
This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this…
This skill should be used when the user asks to "process beta reader feedback", "alpha reader feedback", "feedback round",…
This skill should be used when the user asks about "mystery", "fair play", "clue", "red herring", "romance beats", "HEA",…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…