AgentSkillsCN

inclusive-names

为示例、模拟数据及测试用例生成文化多样的名称。包括能捕捉 bug 的边缘案例名称。

SKILL.md
--- frontmatter
name: inclusive-names
description: Generate culturally diverse names for examples, mock data, and test fixtures. Includes edge-case names that catch bugs.
allowed-tools: Read, Write, Edit
user-invocable: true

Inclusive Names Generator

Generate culturally diverse names for use in examples, mock data, and test fixtures.

Philosophy

Names in examples signal who you built your product for. But diverse names aren't just about representation—they're also better test data.

"If your tests only use 'John Smith', you're not testing your code. You're testing the happy path."

Names with apostrophes, diacritics, single words, and non-Latin characters catch real bugs that simple Western names miss.

Reference

Read for name lists and guidelines:

  • references/diverse-names.md - Names by region, gender-neutral options, edge cases

Usage

The user may request:

  • A specific number of names
  • Names for a specific purpose (test users, example customers, documentation)
  • Names to replace existing Western-only examples
  • Edge-case names for robust testing
  • A mix for a specific file or fixture

Generation Guidelines

Diversity Principles

  1. Mix regions - Don't cluster all names from one region
  2. Vary gender presentation - Include names across the spectrum
  3. Include gender-neutral options - Sam, Jordan, Alex, Morgan, Taylor, Priya, Yuki
  4. Respect naming conventions - Some cultures put family name first
  5. Context matters - Match diversity to the example's context
  6. Avoid stereotyping - Don't pair names with assumed ethnicities in occupations

Edge Cases to Include

Always include some names that test code robustness:

TypeExamplesWhat It Tests
ApostrophesO'Brien, N'Golo, D'AngeloString escaping, SQL injection
DiacriticsJosé, Müller, Björk, FrançoisUnicode handling, encoding
Single namesSuharto, Madonna, PeléRequired field assumptions
Long namesWolfeschlegelsteinhausenbergerdorffField length limits, UI overflow
Non-Latin田中太郎, Иванов, محمدCharacter encoding, font support
HyphenatedGarcía-López, Smith-JonesParsing, display formatting
ParticlesLudwig van Beethoven, Leonardo da VinciSorting algorithms

Output Formats

Provide names in the format the user needs:

Simple list:

code
Amara Okafor
Wei Chen
María García-López
Yuki Tanaka
Jordan O'Brien

JSON fixtures:

json
[
  { "name": "Amara Okafor", "email": "amara.o@example.com" },
  { "name": "José François", "email": "jose.f@example.com" },
  { "name": "田中太郎", "email": "tanaka.t@example.com" }
]

With flexible name fields (recommended):

javascript
const TEST_USERS = [
  { givenName: 'Amara', familyName: 'Okafor', displayName: 'Amara Okafor' },
  { givenName: 'Wei', familyName: 'Chen', displayName: 'Chen Wei' },
  { givenName: 'Suharto', familyName: null, displayName: 'Suharto' },
];

Edge-case focused:

javascript
const EDGE_CASE_NAMES = [
  "O'Brien",           // Apostrophe
  "José García",       // Diacritics
  "Suharto",           // Single name
  "李明",              // Non-Latin
  "Smith-Jones",       // Hyphenated
  "Wolfeschlegelstein" // Long (truncated for display)
];

Integration

If the user wants to replace names in existing files:

  1. Show current names found
  2. Suggest diverse replacements (including edge cases)
  3. Preview changes
  4. Apply with Edit tool after user approval

Quick Reference

Need 5 diverse names fast?

code
Amara Okafor (West Africa)
Wei Chen (East Asia)
Priya Sharma (South Asia)
María García (Latin America)
Jordan O'Brien (gender-neutral + apostrophe)

Need edge cases for testing?

code
O'Brien, José, Müller, 田中, Suharto, García-López