Browser
mingli
Mingli (命理) — Multi-system daily horoscope: Western astrology
---
name: mingli
description: "Mingli (命理) — Multi-system daily horoscope: Western astrology (natal chart + transits), Ba-Zi / Four Pillars (Bát Tự), numerology, I Ching (Kinh Dịch). Kerykeion + astronomyapi.com. Telegram delivery."
version: 2.0.0
---
# Mingli 命理
Multi-system divination skill: Western astrology (Placidus houses, precise aspects), Ba-Zi / Four Pillars (Ngu Hanh), numerology (LifePath + personal cycles), and I Ching (hexagram + SPARK). Delivered daily via Telegram cron or on-demand.
## Modes
| Mode | Description | Trigger |
|------|-------------|---------|
| **Setup** | Register birth data, compute all charts | "set up my horoscope" |
| **Daily** | Automated 4-system horoscope via cron | Cron schedule |
| **On-demand** | Instant horoscope | "my horoscope", "horoscope now" |
| **I Ching** | Hexagram reading (random or manual) | "cast I Ching", "throw hexagram" |
| **Manage** | Pause/resume/change time | "pause horoscope", "change horoscope time" |
## Scripts
```bash
# Western natal chart (kerykeion — houses, aspects, nodes)
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/calculate-western-natal-chart-using-kerykeion.py \
--date 2000-03-25 --time 12:00 --tz "Asia/Saigon" --lat 21.0245 --lon 105.84117 --name "User"
# Ba-Zi Four Pillars + Western zodiac
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/calculate-bazi.py \
--date 1990-05-15 --time 14:30 --tz "Asia/Saigon"
# Planetary positions (astronomyapi.com fallback for transit data)
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/fetch-planetary-positions.py \
--lat 10.8231 --lon 106.6297
# Numerology — LifePath, Birthday, Attitude, Challenges, Pinnacles, Personal cycles
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/calculate-numerology.py \
--date 2000-03-25
# I Ching hexagram casting
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/cast-i-ching-hexagram.py --mode random
.claude/skills/.venv/bin/python3 .claude/skills/mingli/scripts/cast-i-ching-hexagram.py \
--mode manual --upper Kan --lower Kun --moving 2,1
```
## Setup Mode
1. Ask for: **birth date** (YYYY-MM-DD), **birth time** (HH:MM), **birth city** (lat/lon + timezone)
2. Ask for: **Telegram chat ID**, **preferred delivery time** + **timezone**
3. Run all calculation scripts: natal chart, Ba-Zi, numerology
4. Write results to `~/clawd/memory/horoscope-users.md` (include lat/lon, LifePath number)
5. Create daily cron job
6. Confirm: Western sign + ASC + Ba-Zi Day Master + LifePath + delivery schedule
## Daily Mode
Cron triggers 4 scripts → all JSON fed to LLM → compose multi-system horoscope → Telegram.
See `references/horoscope-prompt-template.md` for full agentTurn message.
## On-Demand Mode
Trigger: "my horoscope", "horoscope now", "what's my horoscope today"
Same flow, inline (not isolated session). Includes daily I Ching hexagram.
## I Ching Mode
Trigger: "cast I Ching", "throw hexagram", "que Kinh Dich"
- **Random cast:** 3-coin method, cryptographic randomness
- **Manual input:** User provides upper/lower trigrams + moving lines
- Output: primary hexagram, moving lines, transformed hexagram, SPARK summary
## Management Commands
| Command | Action |
|---------|--------|
| "pause horoscope" | Disable cron job |
| "resume horoscope" | Enable cron job |
| "change horoscope time to 7am" | Update cron schedule |
| "remove horoscope" | Delete cron job + memory entry |
## Cron Delivery
One cron job per user: `horoscope-daily-{username}`
```json
{
"name": "horoscope-daily-{username}",
"enabled": true,
"schedule": { "kind": "cron", "expr": "0 {hour} * * *", "tz": "{timezone}" },
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "[prompt from references/horoscope-prompt-template.md]",
"model": "claude-sonnet-4-20250514",
"timeoutSeconds": 180,
"deliver": true,
"channel": "telegram",
"to": "{telegram_chat_id}"
},
"isolation": { "postToMainPrefix": "Horoscope delivered", "postToMainMode": "summary" }
}
```
## State Tracking
File: `state/users.json` — maps usernames to cron job IDs.
## Error Handling
- **kerykeion fails:** Fallback to `fetch-planetary-positions.py` (API-based, no houses)
- **API down:** LLM generates horoscope from zodiac knowledge only
- **Memory missing:** Prompt user to run setup first
- **I Ching data missing:** Generate hexagram from embedded trigram math only
## References
- `references/astronomyapi-reference.md` - API auth + endpoints
- `references/zodiac-reference.md` - Western + Chinese zodiac tables, stems, branches
- `references/horoscope-prompt-template.md` - LLM prompt for daily generation
- `references/i-ching-64-hexagrams.json` - 64 hexagrams with Chinese/Vietnamese names
## Dependencies
- **kerykeion** (pip) — natal chart, houses, aspects. Install: `pip install kerykeion`
- **astronomyapi.com** — env: `ASTRONOMY_APP_ID`, `ASTRONOMY_APP_SECRET`
- All other scripts: Python stdlib only
browser
By
Comments
Sign in to leave a comment