BaZi Calculator
v1.0.0Calculate a person’s Four Pillars (BaZi / Eight Characters) from birth date and time using sexagenary-cycle offsets from one trusted reference datetime that...
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name, description, SKILL.md, reference JSON files, and the single Python script all align with a BaZi / Four Pillars calculator. The inputs and outputs described in SKILL.md match what scripts/calc_bazi.py implements.
Instruction Scope
Runtime instructions are narrowly scoped to reading a reference JSON and computing pillars and DaYun. The SKILL.md does not instruct reading unrelated files, sending data externally, or accessing secrets beyond the provided reference file.
Install Mechanism
There is no install spec (instruction-only), which is low risk. However, the code imports the third‑party Python package 'lunar_python' but the skill does not declare this dependency or provide an install step. That mismatch means someone (or the runtime) may need to fetch and install 'lunar_python' from PyPI (or elsewhere) to run the tool; pulling that dependency is an external action not documented by the skill.
Credentials
The skill requests no environment variables, no credentials, and no config paths. All file reads are limited to user-supplied reference JSON files included in the skill; there is no sign of access to unrelated secrets.
Persistence & Privilege
Skill flags are default (always:false; agent invocation allowed). The skill does not request persistent or system-wide privileges and does not modify other skills or global agent configuration.
What to consider before installing
This skill appears to do what it says: compute Four Pillars and DaYun from a trusted reference point. Before installing or running it, note two practical concerns: (1) the Python script imports 'lunar_python' but the skill does not declare or install that dependency — you will need to install it yourself (e.g., pip install lunar_python) or ensure your runtime provides it; review the package source (PyPI project) before installing. (2) The accuracy depends entirely on the reference anchor JSON you supply; verify anchors against a trusted almanac for production/professional use. If you will run the code in an environment with restricted network access or strict supply-chain rules, treat the missing dependency as a deployment risk and inspect/approve the dependency before allowing automated install.Like a lobster shell, security has layers — review code before you run it.
latest
BaZi Calculator
Calculate Year/Month/Day/Hour pillars with a single reference point.
Quick Start
- Use
references/reference-verified.json(or your own verified reference JSON) with one trusted reference datetime and its four pillars. - Run:
python3 scripts/calc_bazi.py \
--birth "1992-08-14 21:35" \
--tz "Asia/Shanghai" \
--reference references/reference-verified.json \
--gender male
- Return results left-to-right as:
- Hour pillar
- Day pillar
- Month pillar
- Year pillar
- Eight characters (Hour Day Month Year)
Workflow
1) Validate inputs
- Require birth datetime (
YYYY-MM-DD HH:MM). - Require timezone (default
Asia/Shanghaiif omitted). - Require one reference JSON with:
reference_datetimereference_pillars.year/month/day/hour
2) Compute offsets from reference
- Year offset: LiChun-adjusted year difference (approximation: Feb-04 00:00 local).
- Month offset: calendar month difference.
- Day offset: calendar day difference.
- Hour offset: 2-hour bin difference (Zi starts at 23:00).
3) Shift each base pillar in 60-cycle
target_pillar = shift(reference_pillar, offset mod 60)for year/month/day/hour separately.
4) Present output
Birth (local): 1992-08-14 21:35 (Asia/Shanghai)
Hour Pillar: 丙戌
Day Pillar: 癸亥
Month Pillar: 丙申
Year Pillar: 壬申
Eight Characters (L→R Hour/Day/Month/Year): 丙戌 癸亥 丙申 壬申
Notes
- This is a deterministic reference-based method.
- Accuracy depends on correctness of the chosen reference and boundary rules.
- For professional-grade astrology, validate solar-term boundaries and true solar time adjustments.
Comments
Loading comments...
