Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Develop or document a complete brand voice and tone system covering voice attributes, tone shifts by context, vocabulary preferences, grammar rules, and copy examples. Use this skill whenever the user wants to define how a brand sounds, write a voice and tone document, audit existing copy for voice consistency, train a team or AI assistant on brand voice, or refine the personality of brand writing. Triggers on brand voice, voice and tone, tone of voice, writing voice, brand personality, copy voi
.claude/skills/rampstackco-brand-voice/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-20 | ✓→✗ | ▼ Worse | 62% | 0% |
Define how a brand sounds in writing. Document it in a way that anyone (writer, designer, founder, AI assistant) can apply it consistently.
This skill produces a standalone voice document that can either live in the brand style guide or feed into it.
content-and-copy)brand-identity)brand-style-guide, which incorporates voice)brand-ideation)Voice has four layers, stacked. Each layer constrains the one below it.
The constants. The personality traits that define how the brand sounds across every context.
Pick 3 to 5 attributes. Pair each with what it is NOT (the failure mode if overdone).
Common attribute pairings (NOT a menu - generate your own):
The "not" half is what saves writers from overshooting. "Confident" alone produces swagger. "Confident, not arrogant" tells writers where the line is.
Voice is constant. Tone adapts to context.
Map the major contexts the brand writes in. For each, document how voice expresses differently.
Common contexts:
| Context | Tone shift | |---|---| | Onboarding | Warmer, more enthusiastic, slightly slower pace | | Hero / marketing | Confident, signature voice fully on | | Product copy / UX | Direct, helpful, brief | | Error messages | Calm, matter-of-fact, no apology theater | | Success states | Brief celebration, redirect to next action | | Empty states | Helpful, slightly playful, suggest action | | 404 / not found | Self-aware, light, points the way home | | Account deletion / cancellation | Quiet, respectful, no jokes | | Pricing | Direct, transparent, confidence-inspiring | | Legal / TOS | Plain language version sits next to the legal version | | Support / help center | Patient, thorough, no condescension | | Crisis communication | Calm, factual, accountable | | Product announcements | Excited but not breathless | | Email subject lines | Specific, never click-bait |
Voice stays consistent across all of these. Tone is what shifts.
The granular dial settings.
Vocabulary preferences:
Grammar and style:
Voice is taught through examples, not rules. Build a library.
For each major content type, show:
Cover the content types listed in the paired examples library of references/voice-document-template.md. The template owns that list, so there is one list to maintain rather than two that drift apart.
The floor is 15 paired examples. One pair per type in the template clears it. Past 25 the library gets harder to scan than to use, so treat 25 as the practical ceiling, not a hard cap. This is the most-used part of the voice doc in practice.
references/voice-frameworks.md has a "Choosing a framework" section that decides this. A brand starting from zero begins with archetypes there, then dimensions, then attributes, and rejoins this workflow at step 2. Everything below assumes copy exists to audit.references/voice-frameworks.md: 1 to 5 against each attribute, and anything scoring below 3 on any attribute is off-voice. Below 3 means the doc is incomplete, not that the copy needs another pass.references/voice-document-template.md.Default output is a markdown document at voice.md in the brand folder. Sections:
This doc can stand alone or feed into brand-style-guide.
references/voice-document-template.md - Fillable template.references/voice-frameworks.md - Detailed walkthrough of the Nielsen Norman 4 dimensions, Jung archetypes, and the "we are X not Y" approach.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 37,810 | 30,783 | -19% | 1 | 1 | 0% | 6,235 | 6,797 | +9% | 0 | 0 | — |
case-02 | fail→pass | 30,024 | 33,061 | +10% | 1 | 1 | 0% | 4,912 | 7,414 | +51% | 0 | 0 | — |
case-03 | fail→fail | 39,238 | 37,870 | -3% | 1 | 1 | 0% | 6,222 | 8,104 | +30% | 0 | 0 | — |
case-04 | pass→pass | 7,815 | 13,222 | +69% | 1 | 1 | 0% | 1,337 | 3,818 | +186% | 0 | 0 | — |
case-05 | pass→pass | 20,409 | 20,134 | -1% | 1 | 1 | 0% | 3,604 | 5,361 | +49% | 0 | 0 | — |
case-06 | fail→fail | 34,747 | 35,168 | +1% | 1 | 1 | 0% | 6,177 | 8,059 | +30% | 0 | 0 | — |
case-07 | fail→fail | 11,451 | 13,862 | +21% | 1 | 1 | 0% | 1,741 | 3,940 | +126% | 0 | 0 | — |
case-08 | fail→fail | 12,264 | 8,153 | -34% | 1 | 1 | 0% | 1,844 | 2,942 | +60% | 0 | 0 | — |
case-09 | fail→fail | 9,811 | 9,592 | -2% | 1 | 1 | 0% | 1,637 | 3,387 | +107% | 0 | 0 | — |
case-10 | pass→pass | 11,618 | 5,606 | -52% | 1 | 1 | 0% | 1,651 | 2,701 | +64% | 0 | 0 | — |
case-11 | fail→pass | 19,373 | 14,766 | -24% | 1 | 1 | 0% | 2,708 | 4,218 | +56% | 0 | 0 | — |
case-12 | fail→pass | 8,992 | 2,423 | -73% | 1 | 1 | 0% | 1,356 | 2,246 | +66% | 0 | 0 | — |
case-13 | pass→pass | 14,136 | 12,849 | -9% | 1 | 1 | 0% | 2,093 | 3,712 | +77% | 0 | 0 | — |
case-14 | fail→pass | 15,231 | 10,713 | -30% | 1 | 1 | 0% | 2,325 | 3,478 | +50% | 0 | 0 | — |
case-15 | pass→pass | 13,611 | 12,249 | -10% | 1 | 1 | 0% | 2,010 | 3,624 | +80% | 0 | 0 | — |
case-16 | pass→pass | 10,194 | 7,696 | -25% | 1 | 1 | 0% | 1,655 | 3,046 | +84% | 0 | 0 | — |
case-17 | pass→pass | 15,580 | 10,350 | -34% | 1 | 1 | 0% | 2,067 | 3,288 | +59% | 0 | 0 | — |
case-18 | fail→fail | 14,531 | 15,768 | +9% | 1 | 1 | 0% | 2,167 | 4,280 | +98% | 0 | 0 | — |
case-19 | pass→pass | 13,884 | 9,968 | -28% | 1 | 1 | 0% | 2,074 | 3,331 | +61% | 0 | 0 | — |
case-20 | pass→fail | 9,350 | 2,731 | -71% | 1 | 1 | 0% | 1,431 | 2,320 | +62% | 0 | 0 | — |
case-21 | pass→pass | 12,064 | 8,146 | -32% | 1 | 1 | 0% | 1,808 | 3,127 | +73% | 0 | 0 | — |
case-22 | pass→pass | 9,139 | 6,544 | -28% | 1 | 1 | 0% | 1,468 | 2,947 | +101% | 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 +14 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is 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.