Install
openclaw skills install @tianlinle/cantian-naming中文姓名分析与起名推荐技能(优先按喜用神筛选)。用于用户请求“按姓氏起单字/双字名”“结合喜用神推荐名字”“比较多个候选名”“改名并说明原因”“给男孩/女孩各出一批候选名”“宝宝起名”“公司起名”“品牌名/店铺名起名”“英文名或中英双语名”“艺名/笔名/网名起名”“宠物起名”“按行业气质与目标客群定名”“避开常见重名字并保留寓意”“检查名字读音和语义是否顺口”等场景;支持综合考虑姓氏、性别、生肖、音律、美感、字义与八字五行。关键词包括:姓名分析、起名、改名、宝宝起名、公司起名、品牌起名、英文名、艺名、网名、宠物名、喜用神、八字、生肖、音律、重名、读音、寓意。 / Chinese naming analysis and candidate generation skill (prioritize favorable-element filtering; treat WuGe as secondary reference). Use when users ask to pick one/two-character given names by surname, recommend names by favorable elements, compare candidates, explain rename decisions, generate boy/girl batches, name a baby, name a company, create brand/store names, generate English or bilingual names, suggest stage/screen names, name pets, align names with industry tone and target audience, avoid overused names while preserving meaning, or check pronunciation and semantics, while balancing surname, gender, zodiac, phonetics, aesthetics, meaning, and BaZi context.
openclaw skills install @tianlinle/cantian-namingCantian AItsx 执行SKILL.md 所在目录)运行以下命令npm i
# 仅在需要兼容运行时安装
npm i -D tsx
scripts/analyzeName.ts:分析指定姓名的三才五格结果scripts/pickName.ts:按喜用神筛选候选名字;有姓氏时附加三才五格评估(单字/双字)scripts/pickNameByElement.ts:只按喜用神五行筛选与打分推荐候选名字(不计算三才五格)scripts/analyzeName.ts# 推荐方式
node scripts/analyzeName.ts [--surname <姓>] --given <名> [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>]
# 兼容方式(fallback)
tsx scripts/analyzeName.ts [--surname <姓>] --given <名> [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏分析”执行并跳过三才五格--given(必填):中文名字(不含姓氏);长度 1-2 个字符;无默认值;缺失、超长或为空时报错并退出--favorable-element(选填):喜用神主五行;取值 金|木|水|火|土--secondary-element(选填):喜用神次五行;取值 金|木|水|火|土--help(选填):打印使用说明后退出输出说明:
错误行为:
data/hanzi.json 时,脚本报错并退出(非 0)scripts/pickName.ts# 推荐方式
node scripts/pickName.ts [--surname <姓>] [--given-len <1|2|both>] [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>] [--allow-unknown-element] [--allow-level2] [--disable-name-filter]
# 兼容方式(fallback)
tsx scripts/pickName.ts [--surname <姓>] [--given-len <1|2|both>] [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>] [--allow-unknown-element] [--allow-level2] [--disable-name-filter]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏场景(公司/品牌名)”评分;长度非法时报错并退出--given-len(选填):候选名长度;取值 1|2|both;默认 both;非法值时报错并退出--favorable-element(选填):喜用神主五行(基于八字分析得到);取值 金|木|水|火|土--secondary-element(选填):喜用神次五行(基于八字分析得到);取值 金|木|水|火|土--allow-unknown-element(选填):启用后,element 缺失的字在五行筛选时可参与候选;默认关闭--allow-level2(选填):启用后可纳入 level=2 字;默认仅使用 level=1 常用字--disable-name-filter(选填):关闭“人名友好过滤”;默认开启--help(选填):打印使用说明后退出输出说明:
筛选与打分规则:
--surname 时,不计算三才五格,仅按“喜用神 + 字级别 + 重字惩罚”评分element 缺失的字;启用 --allow-unknown-element 后可放开level=1 常用字并启用“人名友好过滤”;可用 --allow-level2、--disable-name-filter 放宽level)与喜用神匹配优先参与分数计算;吉凶与三才关系作为附加分scripts/pickNameByElement.ts# 推荐方式
node scripts/pickNameByElement.ts [--surname <姓>] --favorable-element <金|木|水|火|土> [--secondary-element <金|木|水|火|土>] [--given-len <1|2|both>] [--count <1-100>] [--allow-level2] [--disable-name-filter]
# 兼容方式(fallback)
tsx scripts/pickNameByElement.ts [--surname <姓>] --favorable-element <金|木|水|火|土> [--secondary-element <金|木|水|火|土>] [--given-len <1|2|both>] [--count <1-100>] [--allow-level2] [--disable-name-filter]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏场景”生成候选;长度非法时报错并退出--favorable-element(选填,但与 --secondary-element 二选一至少填一个):喜用神主五行(基于八字分析得到);取值 金|木|水|火|土--secondary-element(选填,但与 --favorable-element 二选一至少填一个):喜用神次五行(基于八字分析得到);取值 金|木|水|火|土--given-len(选填):候选名长度;取值 1|2|both;默认 both;非法值时报错并退出--count(选填):返回条数;取值范围 1-100;默认 50;非法值时报错并退出--allow-level2(选填):启用后可纳入 level=2 字;默认仅使用 level=1 常用字--disable-name-filter(选填):关闭“人名友好过滤”;默认开启--format(选填):json|markdown;默认 markdown--help(选填):打印使用说明后退出输出说明:
筛选与打分规则:
--favorable-element 或 --secondary-element)element 缺失的字不会进入候选池sancaiWugeScore):由 luckScore + relationScore 构成;未提供姓氏时固定为 0elementPreferenceScore):由 elementScore 构成;pickNameByElement.ts 只看这一维pickName.ts:输出“总分 + 维度分 + 细项分”,用于综合排序pickNameByElement.ts:只看喜用神,不计算三才五格analyzeName.ts:输出结构分析分;喜用神维度固定为 0(该脚本不做喜用神匹配)# 单字名最小可用示例
node scripts/analyzeName.ts --surname 李 --given 明
# 双字名最小可用示例
node scripts/analyzeName.ts --surname 欧阳 --given 若曦
# 无姓氏分析示例(公司/品牌名)
node scripts/analyzeName.ts --given 星澜
# 自创候选补评分示例(含喜用神维度)
node scripts/analyzeName.ts \
--given 星澜 \
--favorable-element 木 \
--secondary-element 火
# pickName 最小可用示例(单字+双字)
node scripts/pickName.ts --surname 李
# pickName 指定喜用神
node scripts/pickName.ts \
--surname 李 \
--given-len both \
--favorable-element 木 \
--secondary-element 火
# pickName 公司起名示例(无姓氏)
node scripts/pickName.ts \
--given-len 2 \
--favorable-element 木 \
--secondary-element 火
# pickNameByElement 最小可用示例(只看喜用神)
node scripts/pickNameByElement.ts \
--favorable-element 木 \
--secondary-element 火
# pickNameByElement 公司起名示例(无姓氏)
node scripts/pickNameByElement.ts \
--given-len 2 \
--favorable-element 木 \
--secondary-element 火
cantian-bazi 技能按生日计算喜用神。--surname);个人姓名场景再传入姓氏。pickNameByElement.ts,按喜用神拿到一批候选。analyzeName.ts 回填“总分 + 维度分 + 分数拆解 + 结构解析”后再对用户展示。pickName.ts 或 analyzeName.ts 做补充评估(公司/品牌场景可继续不传 --surname)。analyzeName.ts 只做姓名分析;候选推荐请使用 pickName.ts 或 pickNameByElement.ts。pickNameByElement.ts。数理五行(来自三才五格数值映射)与 汉字五行(来自字库字段 element),两者不可混用。wugeStrokeCount;若字形存在异体字争议,结果以字库记录为准。cantian-bazi(clawhub的slug-id) 技能完成八字分析,再把喜用神结果带回本技能进行起名筛选。cantian-bazi 根据生日计算;用户明确不需要时,再按其给定条件继续起名。