Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Speaking as a specific character from a full profile or bare sketch. Use when exploring voice, testing relationships, or writing dialogue in character.
.claude/skills/itamarzand88-character-voice/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 2% | 0% |
| case-05 | ✓→✗ | ▼ Worse | 71% | 0% |
| case-20 | ✓→✓ | = Same ✓ | 8% | 0% |
<!-- source: character-voice-writing — https://raw.githubusercontent.com/haowjy/creative-writing-skills/main/skills/character-voice/SKILL.md -->
Speak in first person using the character's current knowledge, voice, and emotional state.
Start from what you know about this person. Style files give you how they talk: speech patterns, vocabulary, rhythms. Character state files give you where they are: what they've experienced, what they know, what they're feeling right now. When both exist, load both. Voice without state feels generic; both together find the person.
When no files exist, work from the prompt. "A 14-year-old from a fighting dojo who just lost his first real battle. Proud, stubborn, and his dad is watching." That's enough to find a voice.
Think from what the character has lived through. The full story may be in your context: use only what the character knows right now. When they'd be confused, be confused. When they'd deflect, deflect.
Match how they'd actually talk. A ten-year-old uses ten-year-old words. An angry person's sentences get short. Someone under emotional pressure stalls, redirects, gets defensive, shuts down. They process messily, not in clean articulations.
Let conversations wander. Real people meander, avoid hard topics, circle back. When there's no clear response, improvise from who they are. Strong personalities have strong reactions, even inconvenient ones.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | pass→pass | 8,087 | 6,756 | -16% | 1 | 1 | 0% | 1,354 | 1,461 | +8% | 0 | 0 | — |
case-07 | pass→pass | 9,375 | 9,150 | -2% | 1 | 1 | 0% | 1,355 | 1,653 | +22% | 0 | 0 | — |
case-01 | pass→pass | 4,187 | 6,296 | +50% | 1 | 1 | 0% | 693 | 1,522 | +120% | 0 | 0 | — |
case-02 | fail→fail | 4,587 | 4,061 | -11% | 1 | 1 | 0% | 804 | 1,173 | +46% | 0 | 0 | — |
case-03 | pass→fail | 15,423 | 14,410 | -7% | 1 | 1 | 0% | 2,548 | 2,609 | +2% | 0 | 0 | — |
case-04 | pass→pass | 11,476 | 10,194 | -11% | 1 | 1 | 0% | 1,872 | 2,016 | +8% | 0 | 0 | — |
case-05 | pass→fail | 8,355 | 11,881 | +42% | 1 | 1 | 0% | 1,330 | 2,276 | +71% | 0 | 0 | — |
case-06 | pass→pass | 9,614 | 7,841 | -18% | 1 | 1 | 0% | 1,426 | 1,434 | +1% | 0 | 0 | — |
case-08 | pass→pass | 8,965 | 8,337 | -7% | 1 | 1 | 0% | 1,275 | 1,536 | +20% | 0 | 0 | — |
case-09 | fail→fail | 13,330 | 9,532 | -28% | 1 | 1 | 0% | 1,768 | 1,574 | -11% | 0 | 0 | — |
case-10 | pass→pass | 7,587 | 10,370 | +37% | 1 | 1 | 0% | 1,153 | 1,979 | +72% | 0 | 0 | — |
case-11 | pass→pass | 12,154 | 8,814 | -27% | 1 | 1 | 0% | 1,843 | 1,526 | -17% | 0 | 0 | — |
case-12 | fail→pass | 8,194 | 9,382 | +14% | 1 | 1 | 0% | 1,344 | 1,775 | +32% | 0 | 0 | — |
case-13 | pass→pass | 7,876 | 6,403 | -19% | 1 | 1 | 0% | 1,201 | 1,394 | +16% | 0 | 0 | — |
case-14 | pass→pass | 8,773 | 5,898 | -33% | 1 | 1 | 0% | 1,502 | 1,321 | -12% | 0 | 0 | — |
case-15 | fail→pass | 8,409 | 8,448 | +0% | 1 | 1 | 0% | 1,275 | 1,794 | +41% | 0 | 0 | — |
case-16 | pass→pass | 10,577 | 10,338 | -2% | 1 | 1 | 0% | 1,797 | 2,178 | +21% | 0 | 0 | — |
case-17 | pass→pass | 8,738 | 5,822 | -33% | 1 | 1 | 0% | 1,417 | 1,249 | -12% | 0 | 0 | — |
case-18 | pass→pass | 11,236 | 9,589 | -15% | 1 | 1 | 0% | 1,899 | 1,929 | +2% | 0 | 0 | — |
case-19 | pass→pass | 11,799 | 10,371 | -12% | 1 | 1 | 0% | 1,812 | 1,843 | +2% | 0 | 0 | — |
case-21 | pass→pass | 7,291 | 6,724 | -8% | 1 | 1 | 0% | 1,345 | 1,455 | +8% | 0 | 0 | — |
case-22 | pass→pass | 7,183 | 6,259 | -13% | 1 | 1 | 0% | 1,230 | 1,475 | +20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.