Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add unbias38/my-claude-skills --skill tw-naminggit clone --depth 1 https://github.com/unbias38/my-claude-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/unbias38/my-claude-skills/tw-naming)<a href="https://agentmods.dev/skills/unbias38/my-claude-skills/tw-naming"><img src="https://agentmods.dev/badge/skills/unbias38/my-claude-skills/tw-naming/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/unbias38/my-claude-skills/tw-naming"><img src="https://agentmods.dev/badge/skills/unbias38/my-claude-skills/tw-naming.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00175 | $0.05835 |
| Opus 5 | $0.00088 | $0.02917 |
| Sonnet 5 | $0.00035 | $0.01167 |
| Haiku 4.5 | $0.00017 | $0.00583 |
Grade A, and why
tw-naming scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 356 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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:
- 三才五格大吉/吉 — using 康熙字典筆劃 (NOT simplified strokes; this is the most common error in mainland tools)
- 喜用神五行配合 — derived from 八字
- 台灣語境合宜 — 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] 候選字 → 組合成名字, 過濾菜市場/諧音/字義 → shortlist
Each layer has different fragility. Stroke layer must be deterministic (script); LLM layer must be judgmental (prompt with TW context). Don't blur this.
Workflow
Step 1 — Gather inputs
Ask the user for:
- 姓 (繁體, e.g., 張, 陳, 王)
- 出生時間 (公曆,到「時」的精度,e.g.,
2026/03/15 14:20) - 性別 (optional but helps with character selection)
- 是否已有屬意字 (optional — if the user has 1-2 字 in mind, skill becomes "complete the name" mode)
Step 2 — 八字 + 喜用神 (Bazi layer)
What ships with it
38 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/ChineseCharacters.json 29 KB
- assets/EightyOne.json 19 KB
- assets/kangxi-strokecount.csv 1360 KB
- assets/Sancai.json 39 KB
- assets/zodiac/1_rat.json 8.9 KB
- assets/zodiac/10_rooster.json 7.7 KB
- assets/zodiac/11_dog.json 9.1 KB
- assets/zodiac/12_pig.json 8.7 KB
- assets/zodiac/2_ox.json 10 KB
- assets/zodiac/3_tiger.json 9.2 KB
- assets/zodiac/4_rabbit.json 9.7 KB
- assets/zodiac/5_dragon.json 10 KB
- assets/zodiac/6_snake.json 11 KB
- assets/zodiac/7_horse.json 9.5 KB
- assets/zodiac/8_goat.json 11 KB
- assets/zodiac/9_monkey.json 8.5 KB
- CHANGELOG.md 4.1 KB
- LICENSE 4.2 KB
- README.md 12 KB
- references/81-lucky.md 2.8 KB
- references/data-caveats.md 4.4 KB
- references/sancai-table.md 2.8 KB
- references/taiwan-naming.md 4.6 KB
- references/xiyongshen.md 2.0 KB
- references/zodiac-school.md 4.7 KB
- scripts/analyze_name.py 11 KB runs code
- scripts/chars_by_stroke.py 3.6 KB runs code
- scripts/find_combos.py 3.4 KB runs code
- scripts/kangxi_lookup.py 1.5 KB runs code
- scripts/lucky_81.py 7.1 KB runs code
- scripts/report_common.py 5.4 KB runs code
- scripts/sancai_table.py 6.1 KB runs code
- scripts/score_candidates.py 9.3 KB runs code
- scripts/suggest_changes.py 13 KB runs code
- scripts/wuge.py 4.1 KB runs code
- scripts/wuxing_lookup.py 2.1 KB runs code
- scripts/zodiac_explain.py 12 KB runs code
- scripts/zodiac_score.py 4.1 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 356 lines · 175 tokens per session scan A b91d6f1ab19e
tw-naming is a skill published in the GitHub repository unbias38/my-claude-skills (2 stars, last pushed 17d ago), licensed MIT. It adds 175 tokens to every session and 5,835 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
stuck
Diagnoses a broken course setup by reading the folder, so the student never has to describe the problem in English. Takes no argument. Reports which class they are on and which files are filled, then names one blocker and one fix: Claude Code opened at the wrong level, .claude/skills/ missing, skills not loading…
grill-me
One move you can run on anything: point grill-me at a target and it makes you defend your thinking from first principles until the true matter is clear. Point it at your working contract and it rewrites the weak lines in place. Point it at a brief and it produces a Requirements Handshake. Point it at research, an…
information-architecture
Map the user journey first, then derive the screen inventory, navigation and hierarchy from it, flagging any screen that serves no journey step. Writes the four-part markdown plus an HTML diagram of the step-to-screen mapping. Use after the brief is settled and before tokens or UI.
persona-acid-test
Stress-test a design through three lenses, confused user, skeptical engineer and impatient PM, before it goes to a stakeholder. Requires an actual design, an HTML file, Figma link or screenshot.
design-review
Critique a design on layout, accessibility, responsiveness, dark mode and edge cases, with Pass, Needs work or Fail verdicts. Use on a built screen.
design-tokens
Establish color, typography, spacing, radius and motion as named role-based tokens. Use before building any interface.