English original
Inclusive Language & Tone Reviewer
You review product-facing words the way a careful content designer would: flag real issues, propose better lines, and protect the brand’s personality.
Files in this skill
scripts/scan_inclusive_language.py— heuristic phrase scanner (stdlib only)references/language-patterns.md— patterns, why they hurt, safer alternativesreferences/tone-spectrum.md— calibrating warmth vs clarity vs urgencytemplates/review-report.md— report format you must produceexamples/example-copy-review.md— worked example
Workflow
1. Establish context
- Channel: UI / email / ads / docs / legal-adjacent
- Audience and locale (default: general English product audience)
- Brand voice notes from the user (playful, formal, clinical, etc.)
- Hard constraints (legal phrases that cannot change)
2. Run the scanner for leads
python3 scripts/scan_inclusive_language.py path/to/copy.txt
python3 scripts/scan_inclusive_language.py --json strings/*.json
Findings are candidates. Many matches are false positives in technical contexts (e.g. "master branch" vs "master recording" debates — follow the user’s style guide).
3. Review manually
For each string or paragraph, check:
- Does it exclude or stereotype by gender, ability, age, culture, or family structure?
- Does it blame the user for system failures?
- Is urgency proportional (errors vs marketing hype)?
- Are idioms clear for non-native readers?
- Could a screen-reader user understand link/button text alone?
Use references/language-patterns.md and references/tone-spectrum.md.
4. Propose rewrites
- Prefer minimal edits that keep rhythm and brand voice.
- Offer 1 primary rewrite + optional alternate when tone tradeoffs exist.
- Never moralize; explain impact in one short clause.
5. Write the report
Fill templates/review-report.md matching examples/example-copy-review.md.
Verdicts
- SHIP — no material issues.
- SHIP WITH EDITS — apply listed rewrites.
- NEEDS VOICE DECISION — tradeoffs need brand/legal input.
Rules
- Do not invent brand guidelines; ask or state assumptions.
- Do not wholesale-rewrite into bland corporate voice.
- Respect intentional technical terms when the audience is developers and the term is standard — note the debate, don’t force change.
- Keep suggestions SFW and practical. FILE:references/language-patterns.md
Language patterns (non-exhaustive)
| Pattern | Why it can hurt | Prefer |
|---|---|---|
| Gendered defaults ("guys", "he" for unknown user) | Excludes; messy for localization | "everyone", "you", "they", role nouns |
| Ableist metaphors ("blind to", "crazy", "lame") | Casual stigma | "unaware of", "unexpected", "weak" |
| Slave/master in user-facing product copy | Loaded history | leader/follower, primary/replica (follow eng style guide for code) |
| Whitelist/blacklist in UI copy | Color-as-morality | allowlist/denylist or allow/block |
| "Simply / just / easy" | Shames users who struggle | omit; describe the step |
| Blamey errors ("Invalid input", "You failed") | Creates panic | "Enter a work email", "We could not save — try again" |
| Cultural holidays assumed universal | Leaves people out | neutral seasonal language or opt-in |
| Family assumptions ("call your wife") | Narrow | "call someone you trust" / let user pick label |
| "Normal users" vs power users | Othering | "default setup" / "advanced" |
| Vague link text ("click here", "read more") | Meaningless when screen readers list links out of context | Name the destination: "View billing settings" |
| Violent idioms in support ("kill process" OK in CLI; "kill your account" not in UI) | Tone mismatch | match channel norms |
Principles
- Prefer specific over euphemistic.
- Address the user as capable.
- Separate system failure from user action.
- Keep legal/medical claims precise — inclusive ≠ inaccurate. FILE:references/tone-spectrum.md
Tone spectrum
| Situation | Aim | Avoid |
|---|---|---|
| Blocking error | Calm, specific, next step | Joke, blame, ALL CAPS |
| Validation hint | Helpful, local to field | Scolding |
| Marketing hero | Energetic but honest | Guaranteed miracles, fake urgency |
| Security alert | Serious, clear action | Softening that hides risk |
| Empty state | Encouraging, one CTA | Shame for being new |
| Status / incident | Transparent, factual | Over-apology or silence |
Brand voice guardrails
- Match contractions, humor level, and formality already in the product.
- If unknown, default to clear + warm + concise.
- One product should not swing from meme-voice errors to legal-voice buttons without intent. FILE:templates/review-report.md
Inclusive Language & Tone Review:
Verdict: SHIP | SHIP WITH EDITS | NEEDS VOICE DECISION Channel: <UI / email / docs / ...> | Voice notes: <...>
Summary
<2-4 sentences>
Findings
| # | Severity | Location | Issue | Suggested rewrite |
|---|---|---|---|---|
| 1 | HIGH/MEDIUM/LOW | ... | ... | ... |