Numerology
Yuan (元) — a unified destiny-reading skill for Codex, Claude Code, and Agent Skills runtimes. One input surface, six methods (BaZi / Cheng Gu / Numerology / Western / Vedic / Zi Wei), production-grade output.
npx -y skills add shizhilya/yuan --skill numerologyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
5.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
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, orYYYYMMDD. - Remove all non-digit characters to produce
normalized_birthdate. normalized_birthdatemust 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 = 1B K T = 2C L U = 3D M V = 4E N W = 5F O X = 6G P Y = 7H Q Z = 8I 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
1to9. - 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 forlife_path_number姓名映射uses the symbolic map forname_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.
What ships with it: 7 files
12.5 KB alongside SKILL.md
agents/
- openai.yaml367 B
assets/
- example_input.json72 B
- example_output.json679 B
- output.schema.json3.2 KB
- spec.json5.5 KB