tw-naminglisted
Install: claude install-skill unbias38/my-claude-skills
# Traditional Chinese Name Generator (TW)
## Three Modes
| Mode | When | Entry script |
|---|---|---|
| **Generate** (新生兒命名) | 全新取名, 姓 + 生辰已知 | `find_combos.py` → `chars_by_stroke.py` → LLM |
| **Analyze** (反查) | 評估既有名字好不好 | `analyze_name.py` |
| **Suggest** (改名建議) | 既有名字想改一個字 | `suggest_changes.py` |
All three share the same data layer (康熙 CSV, 81/125 表). Generate and Suggest respect the same 父母避諱 filter via `--avoid` (analyze evaluates an existing name, so it has no such flag).
## Two-tier signal model
| Signal | Role | Output |
|---|---|---|
| 三才五格 + 喜用神 | **Hard filter** (剪枝) | 通過/不通過, 縮減候選空間 |
| 生肖派 (`--year`) | **Soft signal** (排序加分) | 每字 +1/0/-1, 顯示但不否決 |
| 父母避諱 (`--avoid`) | **Hard filter** (剔除) | 完全不出現 |
不要把 soft signal 升級為 hard filter — 派別爭議大的算法當硬篩會崩塌候選空間。see `references/zodiac-school.md`.
## Goal (Generate mode)
Produce a shortlist of name candidates for a person, given 姓 (surname) and 生辰 (birth datetime),
that satisfy:
1. **三才五格大吉/吉** — using **康熙字典筆劃** (NOT simplified strokes; this is the most common error in mainland tools)
2. **喜用神五行配合** — derived from 八字
3. **台灣語境合宜** — common in TW, no taboo homophones (台語/國語), not 菜市場名, good 字義/聲調
This skill explicitly rejects the common mistake of treating 簡體筆劃 = 繁體筆劃. 「張」=11 劃 (康熙), not 7.
## Architecture (4 layers)
```
[Bazi layer] birth time → 八字 + 喜用神 (五行)
↓
[Stroke layer] surname + 康熙筆劃 → 三才五格大吉的名字筆劃組合
↓
[Char layer] 筆劃組合 × 喜用神五行 → 候選字 (繁體, 台灣常用)
↓
[LLM layer] 候選字 → 組