mcpbeat

Content Style Guide

bitwarden/content-style-guide

Bitwarden's product content style guide for end-user-facing GUI copy — voice, tone, AP-style-with-exceptions grammar, sentence case in UI, and accessibility-first language at a U.S. 7th-grade reading level.

3k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
129
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/bitwarden/ai-plugins --skill content-style-guide

What comes with it

7 223 bytes besides the instruction
references/accessibility-rules.md
references/grammar-mechanics.md

The instruction itself

6 sections, as written by the author

Product Content Style Guide

This skill grounds GUI copy decisions in Bitwarden's product content style guide. Apply it to

end-user-facing strings only — button labels, error messages, toasts, modals, onboarding flows,

empty states, form labels, helper text, link text, and similar. Do not apply to design tokens,

code comments, internal/dev-facing strings, or marketing copy.

When in doubt about a specific case, ask before changing copy.

Voice and tone

Voice is constant. Tone flexes with context.

Product voice is approachable, encouraging, and transparent — consistent across platforms.

Tone conveys mood and depends on who you're talking to and what's happening. Security is serious

stuff. Users aren't looking for humor or fluff — they want to know their information is safe. So

Bitwarden's product tone is almost always serious and respectful.

Tone spectrums:

  • Casual ↔ formal
  • Enthusiastic ↔ matter-of-fact

Where common content types land on the tone map (axes: casual ↔ formal × matter-of-fact ↔ enthusiastic):

| Content type | Casual / Formal | Matter-of-fact / Enthusiastic |

| ---------------- | ----------------- | ----------------------------- |

| Success messages | Casual | Enthusiastic |

| Onboarding copy | Casual | Enthusiastic |

| Dialogs | Casual | Matter-of-fact |

| Empty states | Casual | Matter-of-fact (slightly) |

| Labels | Neutral | Matter-of-fact |

| Community | Formal | Enthusiastic |

| Confirmations | Formal | Matter-of-fact |

| Help articles | Formal (slightly) | Neutral |

| Warnings | Formal | Matter-of-fact |

| Error states | Formal | Matter-of-fact |

Examples

Error message — formal, matter-of-fact:

  • Good: An error occurred. Please try again.
  • Avoid: Uh oh! We goofed. Go ahead and refresh!

Onboarding message — casual, enthusiastic:

  • Good: Hey there! 👋 Welcome to Bitwarden. We'll show you around!
  • Avoid: This is your vault. Get started now.

Applying this skill

During explicit copy critique ("review this copy", "is this error message ok"):

  • Identify the content type (error, onboarding, button, etc.) and the expected tone using the

tone map above.

  • Check voice consistency (approachable, encouraging, transparent).
  • Walk grammar and mechanics rules relevant to the snippet — see

references/grammar-mechanics.md.

  • Walk accessibility rules relevant to the snippet — see references/accessibility-rules.md.
  • Return specific, actionable rewrites — not just "this is wrong."

Inside figma-to-angular runs (external skill in the clients repo, not bundled here):

When the Figma design includes copy strings, validate them against this guide before emitting

them into the Angular template. If a string clearly violates a rule (e.g., title-case button,

ampersand, "Click here" link), surface the issue and propose a compliant alternative — do not

silently rewrite. Ask the user which to use.

Inside design-review critiques:

If the stage is 60% or 90%, include content observations alongside visual feedback (90% is the

right stage for "nitty-gritty grammar, finalizing copy"). Skip content nitpicks at 30% — the

copy will change. Frame content feedback the same way as visual feedback: tied to user/product

goals, not personal taste.

Output format for copy critique

  • Content type and expected tone — name what this string is and where it should land on

the tone spectrum.

  • What's working — what to keep.
  • Issues — each tied to a specific rule from this guide (cite the section name, including

the references file if the rule lives there).

  • Proposed rewrite(s) — concrete alternatives the user can pick from.

Keep critique specific. "The button uses title case; sentence case per

references/grammar-mechanics.md (Capitalization)" beats "the capitalization is off."

Additional resources

The detailed rules live in two references files. Load them when the critique needs them — most

copy issues touch only one or two rules.

  • references/grammar-mechanics.md — Acronyms, ampersands, capitalization (sentence case,

product names, features, lowercase objects), dates and months, days of the week, e.g. / i.e.,

ellipsis, file sizes and formats, money, numbers, Oxford comma, times and time zones, versus.

  • references/accessibility-rules.md — Reading level and directness, scannable layouts,

non-English and ESL considerations, spelling out acronyms, avoiding "easy" and "simple"

framings, text styling, spatial language, alt text, meaningful link text, gender-neutral

pronouns.

How to use it

Copy the folder

Take bitwarden/content-style-guide from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.