Purpose
Return a numerology analysis using only the symbolic rules in this skill. The result must be deterministic, reproducible, and limited to symbolic mappings.
Accepted input
Accept either:
A JSON object:
{
"input": {
"name": "",
"birthdate": ""
}
}
A natural-language request that clearly includes both a name and a birthdate.
If one field is missing, ask only for the missing field.
If the birthdate is ambiguous (for example 03/04/2001), ask for ISO YYYY-MM-DD before computing.
Flow
- Calculate
- Map
- Output
Rules
1) Normalize birthdate
- Accept
YYYY-MM-DD, YYYY/MM/DD, or YYYYMMDD.
- Remove all non-digit characters to produce
normalized_birthdate.
normalized_birthdate must contain exactly 8 digits.
- If the date cannot be normalized to 8 digits, request correction.
2) Reduce function
Use this deterministic reducer everywhere a reduction step is required:
reduce_number(n):
while n is not 11, 22, or 33 and n > 9:
n = sum_of_digits(n)
return n
This preserves the master numbers 11, 22, and 33.
3) Life path number
Compute:
life_path_number = reduce_number(sum(digits(normalized_birthdate)))
4) Normalize name
- Trim leading and trailing whitespace.
- Ignore spaces, hyphens, underscores, apostrophes, and common punctuation.
- Convert Latin letters to uppercase before mapping.
- Do not transliterate non-Latin scripts into Latin. Use the fallback mapping directly.
5) Name mapping
Latin mapping
Use the following fixed mapping:
A J S = 1
B K T = 2
C L U = 3
D M V = 4
E N W = 5
F O X = 6
G P Y = 7
H Q Z = 8
I R = 9
Fallback mapping for non-Latin or unmapped characters
For every character that is not mapped by the Latin table:
- Take the character's Unicode decimal code point.
- Sum the digits of that decimal code point.
- Reduce that sum to a single digit from
1 to 9.
- Use that value as the character mapping.
Example:
- Unicode code point
24352 -> 2 + 4 + 3 + 5 + 2 = 16 -> 1 + 6 = 7
6) Name number
- Map every valid character after name normalization.
- Compute:
name_number = reduce_number(sum(mapped_character_values))
7) Personality map
Use only this symbolic map:
1 -> 标签 ["独立", "主动", "开创"], 符号 "起点型"
2 -> 标签 ["协调", "敏感", "合作"], 符号 "联结型"
3 -> 标签 ["表达", "创意", "社交"], 符号 "表达型"
4 -> 标签 ["稳定", "秩序", "执行"], 符号 "结构型"
5 -> 标签 ["变化", "自由", "探索"], 符号 "变化型"
6 -> 标签 ["责任", "关怀", "和谐"], 符号 "照护型"
7 -> 标签 ["内省", "分析", "洞察"], 符号 "思辨型"
8 -> 标签 ["目标", "掌控", "成就"], 符号 "成就型"
9 -> 标签 ["理想", "包容", "完成"], 符号 "完成型"
11 -> 标签 ["直觉", "启发", "感召"], 符号 "启发型"
22 -> 标签 ["建构", "整合", "落地"], 符号 "建构型"
33 -> 标签 ["奉献", "滋养", "引导"], 符号 "滋养型"
Output contract
Return JSON with exactly this top-level structure:
{
"核心数字": {
"生命路径数": 0,
"姓名数": 0,
"主导数": 0,
"辅助数": 0
},
"性格": {
"生命路径": {
"标签": [],
"符号": ""
},
"姓名映射": {
"标签": [],
"符号": ""
},
"综合": {
"标签": [],
"说明": ""
}
}
}
Output rules
主导数 = 生命路径数
辅助数 = 姓名数
生命路径 uses the symbolic map for life_path_number
姓名映射 uses the symbolic map for name_number
综合.标签 is the de-duplicated concatenation of 生命路径.标签 followed by 姓名映射.标签
综合.说明 must be exactly:
以内在核心采用生命路径数的符号映射,以外在表达采用姓名数的符号映射
Constraints
- Pure symbolic mapping only.
- No event prediction.
- No luck, fate, or timing claims.
- No medical, legal, financial, or safety claims.
- Do not add astrology, tarot, zodiac, feng shui, MBTI, clinical psychology, or any external system.
- Do not infer real-world outcomes from the numbers.
- Do not add unsupported narrative beyond the provided labels and symbols unless the user explicitly asks for a short explanation.
Formatting behavior
- Default to JSON only.
- If the user explicitly asks for an explanation, provide the JSON first and then a short explanation that stays fully consistent with the same mapping and constraints.
Canonical machine-readable spec
The canonical internal spec id is numerology_analysis.
The runtime skill name is numerology-analysis for broad compatibility across agent tools.
Use assets/spec.json as the machine-readable reference when needed.
1---2name: numerology-analysis3description: Compute symbolic numerology from a person's name and birthdate using deterministic mappings only. Use for numerology / 数字命理 / 生命路径数 / 姓名映射 requests and structured numerology JSON. Do not use for predictive fortune-telling or non-symbolic advice.4---56# Purpose78Return a numerology analysis using only the symbolic rules in this skill. The result must be deterministic, reproducible, and limited to symbolic mappings.910# Accepted input1112Accept either:13141. A JSON object:15 ```json16 {17 "input": {18 "name": "",19 "birthdate": ""20 }21 }22 ```23242. A natural-language request that clearly includes both a name and a birthdate.2526If one field is missing, ask only for the missing field.27If the birthdate is ambiguous (for example `03/04/2001`), ask for ISO `YYYY-MM-DD` before computing.2829# Flow30311. Calculate322. Map333. Output3435# Rules3637## 1) Normalize birthdate3839- Accept `YYYY-MM-DD`, `YYYY/MM/DD`, or `YYYYMMDD`.40- Remove all non-digit characters to produce `normalized_birthdate`.41- `normalized_birthdate` must contain exactly 8 digits.42- If the date cannot be normalized to 8 digits, request correction.4344## 2) Reduce function4546Use this deterministic reducer everywhere a reduction step is required:4748```text49reduce_number(n):50 while n is not 11, 22, or 33 and n > 9:51 n = sum_of_digits(n)52 return n53```5455This preserves the master numbers `11`, `22`, and `33`.5657## 3) Life path number5859Compute:6061```text62life_path_number = reduce_number(sum(digits(normalized_birthdate)))63```6465## 4) Normalize name6667- Trim leading and trailing whitespace.68- Ignore spaces, hyphens, underscores, apostrophes, and common punctuation.69- Convert Latin letters to uppercase before mapping.70- Do not transliterate non-Latin scripts into Latin. Use the fallback mapping directly.7172## 5) Name mapping7374### Latin mapping7576Use the following fixed mapping:7778- `A J S = 1`79- `B K T = 2`80- `C L U = 3`81- `D M V = 4`82- `E N W = 5`83- `F O X = 6`84- `G P Y = 7`85- `H Q Z = 8`86- `I R = 9`8788### Fallback mapping for non-Latin or unmapped characters8990For every character that is not mapped by the Latin table:91921. Take the character's Unicode decimal code point.932. Sum the digits of that decimal code point.943. Reduce that sum to a single digit from `1` to `9`.954. Use that value as the character mapping.9697Example:98- Unicode code point `24352` -> `2 + 4 + 3 + 5 + 2 = 16` -> `1 + 6 = 7`99100## 6) Name number101102- Map every valid character after name normalization.103- Compute:104105```text106name_number = reduce_number(sum(mapped_character_values))107```108109## 7) Personality map110111Use only this symbolic map:112113- `1` -> 标签 `["独立", "主动", "开创"]`, 符号 `"起点型"`114- `2` -> 标签 `["协调", "敏感", "合作"]`, 符号 `"联结型"`115- `3` -> 标签 `["表达", "创意", "社交"]`, 符号 `"表达型"`116- `4` -> 标签 `["稳定", "秩序", "执行"]`, 符号 `"结构型"`117- `5` -> 标签 `["变化", "自由", "探索"]`, 符号 `"变化型"`118- `6` -> 标签 `["责任", "关怀", "和谐"]`, 符号 `"照护型"`119- `7` -> 标签 `["内省", "分析", "洞察"]`, 符号 `"思辨型"`120- `8` -> 标签 `["目标", "掌控", "成就"]`, 符号 `"成就型"`121- `9` -> 标签 `["理想", "包容", "完成"]`, 符号 `"完成型"`122- `11` -> 标签 `["直觉", "启发", "感召"]`, 符号 `"启发型"`123- `22` -> 标签 `["建构", "整合", "落地"]`, 符号 `"建构型"`124- `33` -> 标签 `["奉献", "滋养", "引导"]`, 符号 `"滋养型"`125126# Output contract127128Return JSON with exactly this top-level structure:129130```json131{132 "核心数字": {133 "生命路径数": 0,134 "姓名数": 0,135 "主导数": 0,136 "辅助数": 0137 },138 "性格": {139 "生命路径": {140 "标签": [],141 "符号": ""142 },143 "姓名映射": {144 "标签": [],145 "符号": ""146 },147 "综合": {148 "标签": [],149 "说明": ""150 }151 }152}153```154155## Output rules156157- `主导数 = 生命路径数`158- `辅助数 = 姓名数`159- `生命路径` uses the symbolic map for `life_path_number`160- `姓名映射` uses the symbolic map for `name_number`161- `综合.标签` is the de-duplicated concatenation of `生命路径.标签` followed by `姓名映射.标签`162- `综合.说明` must be exactly:163 `以内在核心采用生命路径数的符号映射,以外在表达采用姓名数的符号映射`164165# Constraints166167- Pure symbolic mapping only.168- No event prediction.169- No luck, fate, or timing claims.170- No medical, legal, financial, or safety claims.171- Do not add astrology, tarot, zodiac, feng shui, MBTI, clinical psychology, or any external system.172- Do not infer real-world outcomes from the numbers.173- Do not add unsupported narrative beyond the provided labels and symbols unless the user explicitly asks for a short explanation.174175# Formatting behavior176177- Default to JSON only.178- If the user explicitly asks for an explanation, provide the JSON first and then a short explanation that stays fully consistent with the same mapping and constraints.179180# Canonical machine-readable spec181182The canonical internal spec id is `numerology_analysis`.183The runtime skill name is `numerology-analysis` for broad compatibility across agent tools.184Use `assets/spec.json` as the machine-readable reference when needed.