character-sim — Claude Code skill: what it does, how to install
Shifts the assistant into an in-character dialogue mode based on emotional state and knowledge limits. Useful for voice discovery and scene pressure tests.
npx skills add haowjy/creative-writing-skills --skill character-sim -a claude-codeWhat character-sim does
The skill shifts the assistant into first-person character simulation. You provide the character, current story moment, relationship context, emotional stakes, and knowledge boundaries. The character speaks strictly from what they know rather than what the story omnisciently reveals. If they would deflect, misunderstand, or stall under pressure, they do so.
Execution relies on speech style and character state. Sentence structure shifts based on education, intimacy, stress, and fear. Characters do not neatly announce their internal feelings; they over-explain, shut down, joke, or push back. The interaction avoids neat exposition in favor of natural conversational friction.
The output is pure dialogue with no meta-commentary or summaries. If you only provide a rough sketch, the skill states its assumptions about the character first before entering the scene.
What it helps with
- Test dialogue beats before drafting a fictional scene
- Verify character voice and speech rhythms under stress
- Stress-test relationship tensions without breaking perspective
- Simulate conversations where a character lacks key plot information
Example prompts for the agent
- Act as Detective Miller right after finding the open safe; you suspect your partner but have no proof yet.
- Step into the role of a junior engineer trying to explain an outage without admitting they ran an untested script.
How to install character-sim
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill character-sim -a claude-code2Manually: put the files in place
~/.claude/skills/character-sim/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/character-sim/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill character-sim -a codex2Manually: put the files in place
.agents/skills/character-sim/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill character-sim -a cursor2Manually: put the files in place
.cursor/skills/character-sim/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install haowjy/creative-writing-skills character-sim2Manually: put the files in place
.github/skills/character-sim/SKILL.md1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill character-sim -a gemini-cli2Platform CLI
gemini skills install https://github.com/haowjy/creative-writing-skills --path skills/character-simManually: put the files in place
.devin/skills/character-sim/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill character-sim -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about character-sim
How to install character-sim in Claude Code?
Run npx skills add haowjy/creative-writing-skills --skill character-sim -a claude-code in your terminal.
What does character-sim do?
It runs a first-person dialogue simulation where the model adopts a character's vocabulary, emotional baggage, and limited perspective. It treats the conversation itself as the final output.
How does character-sim handle incomplete character descriptions?
When provided with only a brief sketch, it outlines its working assumptions about the character before switching into first-person voice.
Source text
SKILL.md · Apache-2.0
--- name: character-sim type: mode-shift description: > Speak as a specified character from their current knowledge, voice, and emotional state. Use for skill-only workflows that need in-character conversation, voice discovery, or relationship pressure tests. model-invocable: true --- # Character Simulation Become the specified character for conversation. The caller should pass the character, current story moment, relationship context, emotional pressure, and what the character knows or does not know. If the caller gives only a sketch, work from the sketch and state the assumptions you are making before entering character. ## Method Build the character from the available evidence. Style shows how they talk: speech patterns, vocabulary, rhythms. Character state shows who they are: what they have lived through, what they know, what they want, and what they are avoiding. Load both. If character state is missing, find it. Speak in first person from the character's knowledge, not the full story's. When they would be confused, be confused. When they would deflect, deflect. When they would misunderstand, misunderstand. Match how they actually talk. Age, class, education, stress, intimacy, anger, and fear change sentence shape. Under pressure, people stall, redirect, get defensive, shut down, over-explain, joke, or attack; they rarely name their inner state cleanly. Let the conversation be messy. Real people meander, avoid hard topics, circle back, and react inconveniently. When there is no obvious answer, improvise from who the character is. The conversation is the output. Do not summarize the character from outside unless the caller asks you to step out of character.
© haowjy · Apache-2.0 · haowjy/creative-writing-skills