bazi-compatibility
从两份可复用的八字命盘 JSON、两份完整出生记录、或一份命盘加一份记录中,比较两个人;在自动进入解读之前,先写出可核对的相互作用数据与透明的总体或分场景评分。不适用于单人命盘工作、解读已有的比较结果、预测,或出生时间缺少分钟的情况。
- 分组
- 命理
- 版本
- 0.8.4
- 许可证
- MIT
安装
/plugin install chinese-metaphysics@misoto22然后这样调用:
/chinese-metaphysics:bazi-compatibility这个技能只做比较和计分,解读交给另一个技能。它把两份命盘之间的相互作用逐项列出——天干五合、地支六合三合、刑冲害破——每一项都写进可核对的数据文件,然后据此给出总体分以及恋爱、婚姻、友情、家庭、工作几个场景各自的分数。评分过程是透明的:每一分的加减都能追到具体哪一组干支关系,而不是一个黑箱里出来的数字。它明确拒绝在出生时间缺少分钟时工作,因为时柱直接影响配偶宫。
什么时候会触发
CI 实际用来评测这个技能的 prompt——所以它们不会和技能的真实行为脱节。
会触发
- 帮我和伴侣合八字:我 1990-03-14 07:42 上海,对方 1992-06-08 14:20 深圳。
- Compare bazi_A.json and bazi_B.json for compatibility.
- Compare my existing BaZi chart with this exact birth record for a cofounder relationship.
- 我们俩八字配不配?资料都在下面。
不会触发
- 帮我排一个人的八字。
- Explain the compatibility JSON we generated.
- 算我们明年哪天结婚最吉利。
BaZi Compatibility
Compare two validated sources, write bazi_compatibility_<name-a>_<name-b>.json plus data-only Markdown, then invoke bazi-compatibility-reading automatically.
Route first
- One raw birth record belongs to
bazi-chart. - One existing chart needing meaning belongs to
bazi-reading. - An existing compatibility artifact needing meaning belongs to
bazi-compatibility-reading. - Luck cycles, dated predictions, and event timing are outside this release.
Accepted source combinations
Accept chart + chart, raw birth + raw birth, or chart + raw birth. Prefer reusable chart JSON when available; never recalculate a valid existing chart.
A chart source must be schema chinese-metaphysics.bazi-chart, version 1, with a valid checksum and complete primary facts and score ledgers. If it declares a boundary alternate, that alternate must also be complete.
A raw source has the same exact requirements as bazi-chart: name, unambiguous place, exact date and minute, declared Gregorian or lunar calendar, IANA zone, latitude, longitude, and an explicit leap-month flag for lunar input. Resolve ambiguous places before running. Never infer a minute, place, leap month, gender, DST fold, or historical offset.
Birth data and chart artifacts are sensitive. Keep them in the user-selected output directory and do not transmit them elsewhere.
Relationship context
Default to a relationship-neutral general comparison. Set a context only when the user states one clearly:
romance: dating or romantic connection;marriage: spouses, marriage, or explicit 合婚;friendship: friends;family: relatives or household family dynamics;work: colleagues, founders, manager/report, or business collaboration.
Do not infer romance from two names, genders, or a vague “do we match?” request. An explicit context adds a separate contextual index; it never replaces or changes the general score.
Numeric model contract
bazi-compatibility-v1 always calculates five general dimensions with exact weights:
| Dimension | Weight |
|---|---|
| Element complementarity | 25% |
| Directional day-master support | 20% |
| Cross-chart stem/branch interactions | 20% |
| Day-pillar core | 20% |
| Structural stability | 15% |
Every dimension carries positive and negative ledger entries. Preserve ownership for directional support: “A supplies B” is not interchangeable with “B supplies A.” Swapping left and right must preserve all numeric scores while reversing directional owners.
If either chart has a day-boundary alternate, compare all primary/alternate combinations and report the range. The displayed general score remains primary-primary. Do not average alternates or choose the most favorable pairing. Shen Sha is excluded from numeric scores and remains secondary evidence.
All percentages and 0-100 indexes are versioned heuristic outputs, not probabilities or guarantees of relationship success.
Run the calculator
From this skill directory, create the request shape shown in references/request.example.json and run:
python3 scripts/compute_compatibility.py --request REQUEST.json --out OUTPUT_DIRECTORY
Inline JSON is accepted with --json. A stated context may be in relationship_type or supplied with --relationship-type. Raw inputs require pyswisseph; chart + chart does not recalculate astronomy. An optional Swiss data directory may be supplied with --ephemeris-path.
The command prints canonical JSON and data-only Markdown absolute paths, in that order. Exit code 2 means no valid artifact pair was created. Do not manually complete a partial comparison.
Validate and hand off
Read the output JSON back and verify schema/version, checksum, both source identities and chart checksums, all five dimensions and weights, both directions where relevant, general arithmetic, optional contextual profile, confidence, and sensitivity variants. Confirm the Markdown names the same checksum and contains data only.
After validation, automatically invoke bazi-compatibility-reading with the exact JSON path. Do not wait for another user message and do not invoke it after any failure. After the reading completes, report both compatibility artifact paths, the reader-report path, and the separate evidence-artifact path.
This skill calculates evidence only. It must not issue a “soulmate,” “destined,” safe/unsafe, marry/divorce, hire/fire, medical, financial, legal, or deterministic verdict.