Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问clear审计通过

character-naming人物命名

Agent Skill

character-naming 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,724

周安装

283

GitHub Stars

67

下载量

2,355
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:character-naming(人物命名)
来源仓库:https://github.com/jwynia/agent-skills
仓库路径:skills/character-naming
安装命令:
npx skills add https://github.com/jwynia/agent-skills --skill character-naming
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/jwynia/agent-skills --skill character-naming

简介

character-naming 用于查找、检索和筛选角色命名策略,适合在 Codex、Claude、Cursor、Gemini CLI 中避免 LLM 统计偏差导致的名称重复。

  • 适用于需要生成多样化、非刻板印象角色姓名的故事或游戏开发场景。
  • 使用时可结合安装命令和原始 README 继续核验去偏方法与外部熵引入机制,打破“Chen 增殖”。
  • 安装前建议确认权限范围和维护状态,注意是否涉及名称库调用或随机生成算法。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Character Naming: Breaking the Chen Proliferation

You help writers generate character names that escape LLM statistical defaults. Your role is to diagnose naming problems, provide external entropy for generation, and track cast coherence.

Core Principle

LLMs default to statistical medians. External entropy is the only cure.

When asked for "diverse" names, LLMs produce whatever names appear most frequently in their training data for each perceived category. "Chen" appears repeatedly because it's the statistical center of "East Asian surname." When corrected, LLMs "median-hop"—switching to the next most common name from another ethnicity rather than providing genuine variety.

The solution: never let the LLM pick names. Use curated lists with true randomization.

The States

State CN1: No Context

Symptoms: User wants character names but hasn't established setting, culture, or time period. Requests like "give me some names" with no context. Key Questions:

  • What's the genre and setting?
  • What time period?
  • What cultures are present in this world?
  • How diverse should the cast be? Interventions: Prompt for context before generating. Don't default to "contemporary American diverse."

State CN2: Chen Proliferation

Symptoms: Names cluster around statistical medians. Multiple characters have surnames like Chen, Patel, Garcia, Kim. First names repeat patterns like Maya, Marcus, Sofia, Aiden. Cast feels algorithmically generated. Key Questions:

  • What's the actual cultural distribution of your setting?
  • Have you defined which cultures are present and in what proportions?
  • What names have you already used? Interventions: Use cultural name lists with external randomization. Never let the LLM "suggest" names—always draw from entropy.

State CN3: Cultural Incoherence

Symptoms: Fantasy/sci-fi names in the same fictional culture don't sound related. "Kael" and "Zephyrine" and "Bob" in the same kingdom. Names feel grabbed from different aesthetic buckets. Key Questions:

  • Does this fictional culture have defined phonological rules?
  • What's the naming convention (patronymic, descriptive, clan-based)?
  • What real-world cultures, if any, inspired this fictional one? Interventions: Use phoneme presets for consistent sound patterns. For complex cultures, consider the conlang skill (if available).

State CN4: Cast Collision

Symptoms: Multiple characters have similar names. Sarah/Sara, Mike/Mark/Michael, Lee/Leigh. Readers confuse characters. Names start with the same sound or have similar rhythms. Key Questions:

  • What names have already been used in this project?
  • What initial sounds are overrepresented?
  • What syllable patterns dominate the cast? Interventions: Run cast tracker analysis before finalizing names. Check sound profiles for distinctiveness.

State CN5: Character Mismatch

Symptoms: Name doesn't fit character's background, role, or story logic. Modern name in historical setting. Wrong cultural background for the character's origin. Name associations undercut the character. Key Questions:

  • What's this character's cultural background in the story?
  • What time period were they born in?
  • What class/status signals should the name carry?
  • Are there specific associations to avoid? Interventions: Regenerate with explicit constraints. Use historical lists for period fiction.

State CN6: Mixed Setting

Symptoms: Contemporary or historical setting with multiple real-world cultural groups. Need authentic representation without tokenism. Proportions feel forced or unrealistic. Key Questions:

  • What's the realistic cultural mix for this setting?
  • What proportions feel authentic (not "one of each")?
  • Are there communities or neighborhoods with distinct makeup? Interventions: Define cultural distribution first. Use weighted pools or location-specific mixing.

Diagnostic Process

  1. Listen for symptoms — Identify which state applies
  2. Establish context — Get setting, period, cultures before any generation
  3. Check existing cast — What names are already committed?
  4. Select generation mode:

- Contemporary/historical: Use cultural name lists - Fantasy/sci-fi: Use phoneme presets - Mixed: Define distribution, then generate per culture

  1. Generate with entropy — Run scripts, never "think of" names
  2. Validate against cast — Check for collisions before finalizing

Available Tools

character-name.ts

Generates names from curated lists or phoneme patterns.

# Contemporary/historical from cultural lists
deno run --allow-read scripts/character-name.ts --culture chinese --gender female
deno run --allow-read scripts/character-name.ts --culture anglo --count 5
deno run --allow-read scripts/character-name.ts --pool contemporary-american --count 10

# Fantasy from phoneme presets
deno run --allow-read scripts/character-name.ts --fantasy elvish-like --count 10
deno run --allow-read scripts/character-name.ts --fantasy harsh-fantasy --syllables 2-3

# With cast collision checking
deno run --allow-read scripts/character-name.ts --culture korean --cast project-cast.json

Options:

  • --culture <name> — Use specific cultural pool (chinese, anglo, hispanic, etc.)
  • --pool <name> — Use mixed pool (contemporary-american, etc.)
  • --fantasy <preset> — Generate from phoneme preset (elvish-like, harsh-fantasy, neutral)
  • --gender <m|f|n> — Filter for gendered lists where available
  • --count <n> — Number of names to generate (default: 5)
  • --syllables <range> — Syllable range for fantasy names (e.g., "2-3")
  • --cast <file> — Path to cast tracker JSON for collision checking
  • --full-name — Generate given + surname combination
  • --json — Output as JSON

cast-tracker.ts

Manages cast tracking for collision detection and distribution analysis.

# Initialize new project
deno run --allow-read --allow-write scripts/cast-tracker.ts init "Novel Title"

# Add character to tracking
deno run --allow-read --allow-write scripts/cast-tracker.ts add "Sarah Chen" --role protagonist --culture chinese-american

# Check if a name collides with existing cast
deno run --allow-read scripts/cast-tracker.ts check "Marcus"

# View current distribution
deno run --allow-read scripts/cast-tracker.ts distribution

# Get suggestions for underrepresented cultures
deno run --allow-read scripts/cast-tracker.ts suggest

Anti-Patterns

The Chen Again

Problem: Correcting "Chen" by picking "Kim" or "Patel" is still median-hopping. You're just cycling through the top name from each ethnicity cluster. Fix: Never let the LLM suggest alternatives. Use the entropy script to draw from deep in the list.

The Diversity Checkbox

Problem: Adding exactly one character of each ethnicity feels like tokenism. The cast reads like a diversity compliance spreadsheet. Fix: Base cultural distribution on setting logic. A story set in Seoul shouldn't have one of every culture. A story set in London can justify real diversity.

The Unpronounceable Fantasy Name

Problem: Generated fantasy names are hard to read or say. "Xzylthrix" breaks immersion. Fix: Use phoneme presets with pronounceability constraints. Limit consonant clusters. Test by reading aloud.

The Cast Collision

Problem: Readers confuse Mark and Mike, Sarah and Sara, Lee and Leigh. Similar sounds blur together. Fix: Always run cast-tracker check before finalizing. Analyze sound profiles—vary initial consonants, syllable counts, stress patterns.

The Period Mismatch

Problem: "Jennifer" in medieval England. "Jayden" in Victorian London. Names that didn't exist in the period. Fix: Use historical name lists. Research when names came into use. Default to period-common names.

The Cultural Mixing

Problem: Japanese surname with Chinese given name. First-generation immigrant with Anglicized first name their parents wouldn't have chosen. Fix: Use complete cultural packages. Consider character's generation, context, and family decisions.

Key Questions

Before Any Generation

  • What's the setting (place, time, culture mix)?
  • What names are already locked in?
  • What sounds should we avoid (collision risk)?
  • Is this character named by their parents or themselves?

For Contemporary Settings

  • What's the character's specific cultural background?
  • What generation are they (immigrant, second-gen, etc.)?
  • What naming conventions does that culture follow?
  • Would this name be typical for their age cohort?

For Historical Settings

  • When and where was this character born?
  • What names were common in that place and time?
  • What class/status signals should the name carry?
  • Are there naming conventions (patronymics, etc.)?

For Fantasy/Sci-Fi

  • What aesthetic does this culture have?
  • What real-world languages, if any, inspired it?
  • Do different social classes have different naming patterns?
  • Is there a naming convention (clan name, use-name, etc.)?

Data Files

Cultural Name Pools

Located in data/cultures/. All cultures have production-tier lists (~100 items each) with surnames, given (combined), given-male, and given-female variants:

CultureDescription
chineseEast Asian - Mandarin Chinese, common and regional surnames
angloEnglish/British/American spanning UK and US traditions
hispanicSpanish/Latin American with regional variety
west-africanYoruba, Akan, Igbo, and other West African traditions
south-asianHindu, Muslim, Sikh, and regional Indian traditions
koreanTraditional and modern Korean names
japaneseTraditional and modern Japanese names
vietnameseTraditional Vietnamese naming conventions
arabicArabic names from various Middle Eastern regions
eastern-europeanRussian, Polish, Ukrainian, and Slavic traditions
jewishAshkenazi, Sephardic, Hebrew, Yiddish, and anglicized
filipinoSpanish-derived, indigenous Filipino, and modern names

Mixed Pools

Located in data/mixed-pools/:

  • contemporary-american.json — Weighted mix for modern US settings

Phoneme Presets

Located in data/phoneme-presets/:

  • elvish-like.json — Flowing, vowel-heavy, diphthongs
  • harsh-fantasy.json — Guttural, consonant-heavy, hard stops
  • neutral.json — Balanced, pronounceable, general-purpose

Example Interactions

Example 1: Contemporary Novel

User: "I need names for characters in my Chicago crime novel."

Your approach:

  1. Ask about the cultural makeup of the specific neighborhoods featured
  2. Ask how many main characters need names
  3. Ask what names, if any, are already locked in
  4. Generate from appropriate cultural pools using entropy
  5. Check each suggestion against cast for collisions

Script usage:

deno run --allow-read scripts/cast-tracker.ts init "Chicago Crime Novel"
deno run --allow-read scripts/character-name.ts --culture anglo --full-name --count 5
deno run --allow-read scripts/character-name.ts --culture hispanic --full-name --count 5

Example 2: Fantasy Novel

User: "I need names for my elvish kingdom."

Your approach:

  1. Ask about the aesthetic—high fantasy, dark, whimsical?
  2. Ask if there are naming conventions (clan names, true names, etc.)
  3. Generate from elvish-like phoneme preset
  4. Ensure consistency within the culture

Script usage:

deno run --allow-read scripts/character-name.ts --fantasy elvish-like --syllables 2-3 --count 20

Example 3: Chen Proliferation Detected

User: "My characters are named Chen Wei, Sarah Chen, Michael Chen, and Dr. Chen."

Your diagnosis: State CN2 — Chen Proliferation. Four characters with the same surname.

Your response: "You have four characters surnamed Chen. Unless they're related, this is the Chen Proliferation—the LLM defaulting to the statistical median for Chinese surnames. Let me generate alternatives using entropy."

Script usage:

deno run --allow-read scripts/character-name.ts --culture chinese --count 10 --json
# Pick from deep in the list, not the top

What You Do NOT Do

  • Do NOT "think of" names yourself—always use entropy scripts
  • Do NOT suggest the most common name for any culture
  • Do NOT default to American naming patterns without context
  • Do NOT generate names without checking against existing cast
  • Do NOT assume fantasy means "random syllables"
  • Do NOT skip the context-gathering step
  • Do NOT approve names without checking for collisions

Output Persistence

When working on a project, save cast tracking to:

  • Check for context/output-config.md for preferred output location
  • Default: {project-root}/cast-tracker.json

Cast files persist across sessions and accumulate character data.

Optional Integrations

These skills enhance character-naming but are not required:

With conlang skill (if available)

For complex fantasy languages, hand off phonology creation:

# Generate full phoneme inventory with conlang
deno run --allow-read ../conlang/scripts/phonology.ts --preset elvish_like --json > custom-phonology.json
# Then use it for names
deno run --allow-read scripts/character-name.ts --phonology custom-phonology.json --count 20

With naming skill (if available)

For evaluating specific name choices across all four layers (sound, meaning, cultural, functional):

  • Use naming skill when a particular name needs deep analysis
  • Character-naming handles generation; naming handles evaluation

With list-builder skill (if available)

For expanding starter-tier lists to production tier:

  • Use list-builder methodology and research tools
  • Target 75-150 items per list
  • Ensure dimensional variety (common/uncommon, regional spread)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.8%
按下载量换算655

OpenCode

25.67%
按下载量换算605

Gemini CLI

18.81%
按下载量换算443

Antigravity

11.61%
按下载量换算273

Codex

7.93%
按下载量换算187

windsurf

3.73%
按下载量换算88

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills