{"id":"82c8ca97-d81e-4601-98e3-6196abb81083","shortId":"eGe4nq","kind":"skill","title":"character-management","tagline":"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.","description":"# Character Management\n\n## Overview\n\nCreate 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.\n\n## Prerequisites\n\nA story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root.\n\n## Creating a Character\n\n1. Read `story.md` for genre, themes, and tone context\n2. Read `characters/_index.md` for existing characters\n3. Ask for the character's name and role (protagonist, antagonist, supporting, minor)\n4. Build the profile through conversation, exploring:\n   - Appearance and distinguishing features\n   - Personality, traits, and quirks\n   - Backstory and formative events\n   - Motivations (external wants vs internal needs)\n   - Voice and speech patterns (ask for example dialogue)\n   - Character arc (starting state, turning points, ending state)\n   - Key life events for the timeline\n5. Write the character file using the template in `references/character-template.md`\n6. Save to `characters/{name-kebab}.md`\n7. Update `characters/_index.md` registry table\n8. If relationships reference existing characters, update those character files too\n\n## Updating a Character\n\n1. Read the existing character file\n2. Read `characters/_index.md` for context on other characters\n3. Make the requested changes\n4. If relationships changed, update the other character's file (bidirectional)\n5. Update `characters/_index.md` if role or status changed\n\n## Managing Relationships\n\nReference `references/relationship-types.md` for the full list of relationship types and inverse pairs.\n\nWhen adding a relationship:\n- Add the relationship entry to the character's frontmatter\n- Add the inverse relationship to the other character's frontmatter\n- Update the Relationship Map section in `characters/_index.md`\n\n## Family Trees\n\nFamily trees are maintained in the `characters/_index.md` under the \"Family Trees\" section. Format:\n\n```markdown\n## Family Trees\n\n### {Family Name}\n- **{Character Name}** ({status}) - [{name-kebab}.md]\n  - **{Child Name}** - [{name-kebab}.md]\n  - **{Child Name}** - [{name-kebab}.md]\n```\n\nIndent children under parents. Note marriages/partnerships inline.\n\n## Cross-Referencing\n\n- When a character is referenced in worldbuilding (e.g., a location's `notable-characters`), ensure the link exists both ways\n- When a character appears in a plot arc, ensure they're listed in the arc's `characters` frontmatter\n- Character tags should be consistent across the project (e.g., if `magic-user` is used, always use that exact tag)\n\n## Reference Files\n\n- **`references/character-template.md`** - Full blank template for character profiles\n- **`references/relationship-types.md`** - Complete relationship type reference with inverse pairs","tags":["character","management","story","skills","danjdewhurst","agent-skills","claude-code","claude-code-plugin","codex","copilot","creative-writing","cursor"],"capabilities":["skill","source-danjdewhurst","skill-character-management","topic-agent-skills","topic-claude-code","topic-claude-code-plugin","topic-codex","topic-copilot","topic-creative-writing","topic-cursor","topic-fiction","topic-gemini-cli","topic-markdown","topic-skill-md","topic-storytelling"],"categories":["story-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/danjdewhurst/story-skills/character-management","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add danjdewhurst/story-skills","source_repo":"https://github.com/danjdewhurst/story-skills","install_from":"skills.sh"}},"qualityScore":"0.460","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 21 github stars · SKILL.md body (2,879 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T07:01:06.965Z","embedding":null,"createdAt":"2026-04-18T23:05:57.965Z","updatedAt":"2026-04-23T07:01:06.965Z","lastSeenAt":"2026-04-23T07:01:06.965Z","tsv":"'1':110,222 '2':119,228 '3':125,236 '4':138,241 '5':185,252 '6':195 '7':203 '8':208 'across':396 'ad':275 'add':20,278,287 'alreadi':89 'alway':406 'antagonist':135 'appear':145,376 'arc':32,172,380,387 'ask':12,126,167 'backstori':153 'bidirect':251 'blank':415 'build':23,139 'case':82 'chang':240,244,259 'charact':2,16,19,22,27,29,31,33,39,44,51,58,68,70,109,124,129,171,188,198,213,216,221,226,235,248,284,294,324,355,366,375,389,391,418 'character-manag':1 'characters/_index.md':121,205,230,254,303,312 'check':100 'child':331,337 'children':344 'complet':421 'consist':395 'context':118,232 'convers':143 'creat':14,47,91,107 'cross':73,351 'cross-referenc':72,350 'dialogu':170 'directori':69 'distinguish':147 'e.g':360,399 'element':78 'end':177 'ensur':367,381 'entri':281 'event':156,181 'exact':409 'exampl':169 'exist':90,123,212,225,370 'explor':144 'extern':158 'famili':25,304,306,315,320,322 'featur':148 'file':62,189,217,227,250,412 'format':155,318 'frontmatt':65,286,296,390 'full':266,414 'genr':114 'identifi':83 'indent':343 'init':96 'inlin':349 'intern':161 'invers':272,289,426 'kebab':81,201,329,335,341 'kebab-cas':80 'key':179 'life':180 'link':369 'list':267,384 'locat':362 'magic':402 'magic-us':401 'maintain':309 'make':237 'manag':3,38,45,49,260 'map':300 'markdown':61,319 'marriages/partnerships':348 'md':202,330,336,342 'minor':137 'motiv':157 'must':88 'name':131,200,323,325,328,332,334,338,340 'name-kebab':199,327,333,339 'need':36,162 'notabl':365 'notable-charact':364 'note':347 'overview':46 'pair':273,427 'parent':346 'pattern':166 'person':149 'plot':379 'point':176 'prerequisit':84 'profil':34,52,141,419 'project':43,56,87,105,398 'protagonist':134 'quirk':152 're':383 'read':111,120,223,229 'refer':211,262,411,424 'referenc':74,352,357 'references/character-template.md':194,413 'references/relationship-types.md':263,420 'registri':206 'relationship':28,210,243,261,269,277,280,290,299,422 'request':239 'rich':50 'role':133,256 'root':106 'save':196 'section':301,317 'skill':5,97 'skill-character-management' 'source-danjdewhurst' 'speech':165 'start':173 'state':174,178 'status':258,326 'stori':42,55,77,86,95 'story-init':94 'story.md':102,112 'support':136 'tabl':207 'tag':392,410 'templat':192,416 'theme':115 'timelin':30,184 'tone':117 'topic-agent-skills' 'topic-claude-code' 'topic-claude-code-plugin' 'topic-codex' 'topic-copilot' 'topic-creative-writing' 'topic-cursor' 'topic-fiction' 'topic-gemini-cli' 'topic-markdown' 'topic-skill-md' 'topic-storytelling' 'trait':150 'tree':26,305,307,316,321 'turn':175 'type':270,423 'updat':17,204,214,219,245,253,297 'use':8,190,405,407 'user':11,403 'verifi':98 'via':92 'voic':163 'vs':160 'want':159 'way':372 'worldbuild':359 'write':186 'yaml':64","prices":[{"id":"4c834216-9464-4f84-a83c-b78e9c5c7a10","listingId":"82c8ca97-d81e-4601-98e3-6196abb81083","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"danjdewhurst","category":"story-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T23:05:57.965Z"}],"sources":[{"listingId":"82c8ca97-d81e-4601-98e3-6196abb81083","source":"github","sourceId":"danjdewhurst/story-skills/character-management","sourceUrl":"https://github.com/danjdewhurst/story-skills/tree/main/skills/character-management","isPrimary":false,"firstSeenAt":"2026-04-18T23:05:57.965Z","lastSeenAt":"2026-04-23T07:01:06.965Z"}],"details":{"listingId":"82c8ca97-d81e-4601-98e3-6196abb81083","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"danjdewhurst","slug":"character-management","github":{"repo":"danjdewhurst/story-skills","stars":21,"topics":["agent-skills","claude-code","claude-code-plugin","codex","copilot","creative-writing","cursor","fiction","gemini-cli","markdown","skill-md","storytelling","windsurf","worldbuilding"],"license":"mit","html_url":"https://github.com/danjdewhurst/story-skills","pushed_at":"2026-02-13T22:11:25Z","description":"A Claude Code plugin for end-to-end story writing powered by markdown","skill_md_sha":"311f697d3ecc8ad7f64f520c0693664edeea2661","skill_md_path":"skills/character-management/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/danjdewhurst/story-skills/tree/main/skills/character-management"},"layout":"multi","source":"github","category":"story-skills","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/danjdewhurst/story-skills/character-management"},"updatedAt":"2026-04-23T07:01:06.965Z"}}