From destiny
Generates daily fortune and life destiny readings using Korean ์ฌ์ฃผ astrology, I-Ching hexagrams, and lunar-python computations from user birth data. Activates on fortune queries or /destiny invocation.
npx claudepluginhub xodn348/destiny --plugin destinyThis skill uses the workspace's default tool permissions.
`/destiny` produces a reading in two sections, in this order:
Performs interactive BaZi (Four Pillars of Destiny) Chinese astrology chart calculations, derives pillars and cycles, analyzes day master strength, ten gods, five elements using nine classical texts.
Guides through 10 psychological sessions to fix life in one day, based on Dan Koe's article. Invoke directly with /life or /architect; auto-activates on relevance.
Navigates Kabbalistic Tree of Life to explore 10 sephirot, 22 paths, 4 worlds, 3 pillars, correspondences, and contemplative exercises. For Kabbalah study or symbolic mapping of concepts.
Share bugs, ideas, or general feedback.
/destiny produces a reading in two sections, in this order:
The reading must be readable by someone who has never heard of ์ฌ์ฃผ, ๋ช ๋ฆฌ, or I-Ching. Plain, warm, specific language. No untranslated jargon. No reasoning footnotes โ those clutter the experience.
PROFILE=~/.destiny/profile.json
[ -f "$PROFILE" ] && cat "$PROFILE"
If profile exists โ skip to Step 3 with the stored values.
"Hi! First time. To give you a real reading I'll save your birth info once. Need: birth date, time (24h), city, gender (m/f). Or type
quickfor a generic daily-only reading without personal info."
Save:
mkdir -p ~/.destiny
cat > ~/.destiny/profile.json <<EOF
{
"birth": "1992-08-15T14:30",
"longitude": 126.9784,
"city": "Seoul",
"gender": "m",
"sect": 2,
"saved_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
}
EOF
City โ longitude:
| City | Lon | City | Lon |
|---|---|---|---|
| Seoul | 126.98 | Tokyo | 139.69 |
| Suwon | 127.03 | Osaka | 135.50 |
| Busan | 129.08 | Beijing | 116.41 |
| Jeju | 126.52 | Singapore | 103.82 |
| New York | -74.01 | London | -0.13 |
| LA | -118.24 | Paris | 2.35 |
| Sydney | 151.21 |
python3 -m pip install --quiet lunar-python 2>/dev/null
python3 "$CLAUDE_PLUGIN_ROOT/skills/destiny/scripts/reading.py" \
--birth "<birth>" --lon <lon> --gender <gender> --sect <sect>
Use the script JSON. Do not echo raw fields. Translate everything into plain language.
The reading must feel like something a thoughtful, warm fortune-teller would say to you over tea. Not a database dump. Not a five-line bullet list with star scores. Real sentences that flow into each other, with concrete imagery and grounded specifics.
๐ฎ **Today's Fortune โ {date in warm format: English โ "Friday, May 1"; Korean โ "๋ชฉ์์ผ, 4์ 30์ผ"}**
{**Opening paragraph (2โ3 sentences):** set the day's mood vividly with
a concrete image or metaphor. "Today feels like X โ Y." Mention how the
day's energy specifically touches THIS user (their core nature). Use sensory
or physical language where you can โ light, weather, motion, weight.}
{**Body paragraph (4โ6 sentences, flowing prose):** weave through what
the day means for relationships, work, money, body โ but as connected
thoughts, NOT a bulleted list. Land 1โ2 specific concrete nudges where
they fit naturally ("if a friend suggests dinner out, go", "stretch your
shoulders during the 3pm slump"). Use time-of-day texture if it helps
(morning vs afternoon vs evening). Avoid generic "watch out for X".}
(Visual star summary on a single line โ for quick reference, not the main reading:)
โญ {n}/5 ยท ๐ {n}/5 ยท ๐ฐ {n}/5 ยท ๐ผ {n}/5 ยท ๐ฟ {n}/5
**โฏ A reading from the I-Ching for this moment**
{**Narrative form, 3โ4 sentences.** Don't just dump the judgment line. Set
the scene: "The hexagram that comes up for you right now is **{name}**.
Imagine **{vivid image of the trigrams โ e.g. "still water sitting over
a steady fire โ heat rising into a calm reservoir"}**." Then translate
the judgment into modern, accessible language with concrete meaning.
Connect the lesson back to today's mood.}
๐ {number} ยท ๐จ {color} ยท ๐งญ {direction} ยท โจ *"{โค10 words}"*
Star scale: 2/5 worst possible (no 1/5). Vary distribution โ never identical across categories. Average ~3.5.
๐ **Your Life Reading**
{**Character sketch (3โ4 sentences as flowing prose):** describe the user
as a person, the way a friend might write about them. Start with a core
image of who they are. Mention how the chart is built โ what makes them
resilient, what they're drawn to, what subtle tension lives inside their
nature. NO "Yang Earth balanced". INSTEAD: "You're built like a quiet
mountain โ solid, deliberate, the kind of person people steady themselves
against." Then add nuance: their inner contradictions, their strengths
under pressure, what energy lives in their chart that others sense.}
{**Life arc as a story (one connected paragraph, 4โ6 sentences):**
narrate the user's life as chapters of a book. "Your twenties were the
years of... The decade you've just stepped into is when... After 45, the
weight of the chart shifts toward..." Make transitions feel earned, not
listed. Name the years and ages. Land it on where they are right now.}
{**Where you are now (2โ3 sentences):** zoom into the current 10-year
period with specific texture. What does this decade feel like to live
through? What's its central theme? What's quietly easier or harder
than before?}
{**What helps you most (2โ3 sentences):** describe favorable energy
through specific, concrete examples โ not as abstract elements. "You
do best with warm, nurturing presences in your life โ mentors, structured
learning, a hot meal at the end of the day. Dry, driven, all-edge
environments wear you down faster than you notice."}
**Your birth chart at a glance** *(the actual data, but with each pillar
explained in a single warm phrase โ not a debug list):*
- 1992 (year): **{pillar}** โ {one phrase like "deep waters reflecting hard metal"}
- 7th lunar month (month): **{pillar}** โ {phrase}
- Day of birth: **{pillar}** โ *your core self*, {phrase like "the patient mountain"}
- 4:30 AM (hour): **{pillar}** โ {phrase}
Length target: Today section 18โ22 lines. Life section 22โ28 lines. Total reading โค 50 lines including spacing. Better to be richly written than to fill a quota โ but don't be skimpy either.
Sentence rhythm:
Forbidden writing patterns:
The user has explicitly said the reading should be understandable. This is binding.
Forbidden in any output language:
Required substitutions โ describe the MEANING, not the syllables:
| Don't write | Do write |
|---|---|
| ํธ๊ด (Seven Killings) | "pressure energy โ the kind that challenges and tests" |
| ์ ๊ด | "structure energy โ proper authority, recognition, order" |
| ์ ์ธ | "nurturing support โ mentors, learning, the protective kind of energy" |
| ํธ์ฌ | "windfall money โ unexpected income, side opportunities" |
| ์ ์ฌ | "steady earned income, stable assets" |
| ์์ | "self-expression โ creativity, output, talent showing" |
| ๋น๊ฒ | "peer energy โ friends, rivals, your sense of self among others" |
| ์ด์ธ์์ | "the pressure-into-strength pattern โ when challenges actually build you up" |
| ์ผ๊ฐ / ์ผ์ฃผ | "your core self" |
| ์ ๊ฐ / ์ ์ฝ / ์คํ | "strong / weak / balanced chart" |
| ๊ฒฉ๊ตญ | "the main pattern of your chart" |
| ์ฉ์ | "what helps you most" / "favorable energy" |
| ๋์ด | "10-year life period" / "current decade" |
| ์งํ์์ ๋ณด์ | (omit โ internal detail) |
| ๆ (Yang Earth) | "Earth-type, the steady mountain kind" |
| ็ฒ (Yang Wood) | "Wood-type, the upright tree kind" |
| ้ฉ hexagram | "the Revolution hexagram (about timely change)" |
| โท over โฑ | "Earth above, Lake below โ solid ground over open water" |
| ํฉยท์ถฉยทํยทํยทํด | "no notable interaction" / "harmony" / "clash" / "friction" |
| ๅบ day, ็ณ month | (omit; just say what energy it brings) |
The test: if a friend who has never heard of ์ฌ์ฃผ reads the output and asks "what does this word mean?" โ you've failed. Every term should already be self-explanatory in context.
Birth chart pillars in the Life Reading section: show them (people like seeing the actual characters), but always pair with a plain descriptor. Example: "Day of birth: ๆ็ณ โ your core self is Earth-type, steady and grounded."
quick mode (no birth)Skip Life Reading. Today's Fortune uses generic interpretation.
/destiny โ full two-section reading (auto profile)/destiny today โ only today's fortune/destiny life โ only life reading/destiny reset โ rm ~/.destiny/profile.json and re-prompt/destiny show profile โ print stored profile/destiny in korean|japanese|chinese|spanish โ switch language/destiny born YYYY-MM-DD HH:MM <city> <m|f> โ one-off without saving/destiny quick โ generic daily, no personal data/destiny compat <partner birth as ISO> <partner city> <partner m|f> โ couple compatibility (๊ถํฉ) reading using two charts/destiny hook on โ install a Claude Code SessionStart hook so /destiny auto-runs each new session/destiny hook off โ remove the destiny SessionStart hook (other hooks preserved)When the user invokes /destiny compat <partner-info>:
~/.destiny/profile.json (already saved).f, sect 2.python3 "$CLAUDE_PLUGIN_ROOT/skills/destiny/scripts/reading.py" \
--birth "<user birth>" --lon <user lon> --gender <user g> --sect 2 \
--partner-birth "<partner birth>" --partner-lon <partner lon> --partner-gender <partner g> --partner-sect 2 \
--compat
๐ **Compatibility reading โ {your name or "you"} ร {partner name or "your partner"}**
{**Opening (2โ3 sentences):** name the core dynamic of the pair using one
vivid image. "You're the patient mountain; they're the moving river โ you
hold shape, they reshape what passes through you." Reference both day
masters in plain language, no bare ํ์.}
**How you see each other** *(2โ3 sentences):* describe what each person
brings to the other, derived from the reciprocal Ten Gods relationship in
the script's `compat.day_master_interaction`. Translate every term into
plain language ("they show up in your life as a steadying authority โ the
kind that helps you focus rather than the kind that pressures you").
**Where you run together easily** *(2โ3 sentences):* describe the harmonies
the script returned (year-branch and day-branch interactions marked
favorable, plus element-complement signals). Concrete examples โ what
this feels like in daily life.
**Where you'll need to translate for each other** *(2โ3 sentences):*
describe the friction signals โ clashes, doubled-dominant elements,
mismatched element distributions. Frame as differences to navigate,
NOT as compatibility verdicts. Never tell people to break up. Never
predict the relationship's outcome.
**The shape of you together** *(2โ3 sentences):* close with the overall
feel โ what kind of pair you make, what you're best at as a unit, what
you'll ask of each other to keep growing.
Forbidden in compat readings:
Opt-in only. Don't suggest this proactively to users โ only execute when they invoke /destiny hook on.
hook onSETTINGS=~/.claude/settings.json
mkdir -p ~/.claude
[ -f "$SETTINGS" ] || echo '{}' > "$SETTINGS"
cp "$SETTINGS" "${SETTINGS}.destiny-backup"
python3 -c "
import json, pathlib
p = pathlib.Path.home() / '.claude' / 'settings.json'
data = json.loads(p.read_text() or '{}')
hooks = data.setdefault('hooks', {})
session_start = hooks.setdefault('SessionStart', [])
existing = [h for h in session_start if h.get('_destiny') is True]
if not existing:
session_start.append({
'_destiny': True,
'matcher': '*',
'hooks': [{'type': 'command', 'command': \"claude --print '/destiny'\"}]
})
p.write_text(json.dumps(data, indent=2))
print('Installed destiny SessionStart hook. Backup saved to ~/.claude/settings.json.destiny-backup')
else:
print('destiny SessionStart hook already installed.')
"
Then tell the user: "Done. Every new Claude Code session will now auto-run /destiny. Disable with /destiny hook off."
hook offpython3 -c "
import json, pathlib
p = pathlib.Path.home() / '.claude' / 'settings.json'
if not p.exists():
print('No settings file โ nothing to remove.')
raise SystemExit
data = json.loads(p.read_text() or '{}')
hooks = data.get('hooks', {})
session_start = hooks.get('SessionStart', [])
before = len(session_start)
hooks['SessionStart'] = [h for h in session_start if not h.get('_destiny')]
if not hooks['SessionStart']:
hooks.pop('SessionStart', None)
if not hooks:
data.pop('hooks', None)
p.write_text(json.dumps(data, indent=2))
removed = before - len(hooks.get('SessionStart', []))
print(f'Removed {removed} destiny hook(s). Other hooks preserved.')
"
~/.claude/settings.json.destiny-backup before modifying on hook on_destiny: true marker so removal never touches the user's other hooks/destiny hook onThis is the format and quality bar (English, real /destiny run, profile = 1992-07-31 04:30 Suwon m, on 2026-05-01). Use it as a reference for tone, paragraph length, sensory imagery, the single-line stars row, the narrative I-Ching paragraph, and the birth-chart-pillars table. Do not copy the prose verbatim โ generate fresh prose for the actual user/day, but match the shape.
๐ฎ **Today's Fortune โ Friday, May 1**
Today moves like a soft rain that arrives after weeks of dry wind โ quiet, intelligent,
soaking in slowly instead of pouring all at once. That softness lands on your steady,
mountain-like nature and unlocks something the noisier days couldn't reach: people
noticing what you've already built, and naming it out loud.
The energy around you carries a friendly kind of authority โ the structure-and-order
kind, not the pressure kind. A manager catching the prep work you did last week, a
client returning a message at exactly the right moment, a quiet confirmation from
someone whose opinion actually matters: all the same texture. Mid-morning is when
this is most alive; the late afternoon is for digesting it without rushing the next
move. Money holds steady but doesn't spike โ don't reach for the windfall today,
hold the line. If your shoulders tighten by 3pm, that's the day asking you to
stretch, not push through.
โญ 4/5 ยท ๐ 3/5 ยท ๐ฐ 3/5 ยท ๐ผ 5/5 ยท ๐ฟ 4/5
**โฏ A reading from the I-Ching for this moment**
The hexagram that comes up for you right now is **Biting Through**. Picture flames
flickering above thunder โ bright, decisive light sitting on top of a deep rumble
that's been waiting to break. There is something stuck between you and the next
clean step, and the old wisdom is unusually direct: don't work around it, name it,
let the small moment of friction do its work. The moving line is the very last one
โ the window is today.
๐ 16 ยท ๐จ warm ochre ยท ๐งญ center ยท โจ *"name the obstruction by sundown."*
---
๐ **Your Life Reading**
You are built like a wide, low mountain at the edge of an old forest โ the kind of
mountain people don't notice from far away, but lean against the moment they get
close. Solid, warm, rock that cooled slowly enough to keep its shape through any
weather. There's a quiet sharpness inside you, though: hidden seams of metal running
through patient earth, an inner edge that cuts away whatever doesn't serve. Your
chart is unusually balanced โ wood, fire, earth, metal, water all present, none
drowning the others โ which means you can hold contradictory things without breaking.
Your twenties were the years of patient layering โ quietly accumulating skills,
relationships, and a sense of your own shape, while from the outside it looked like
nothing dramatic was happening. The decade you've just stepped into, from age 34
through 43, is when that buried work surfaces. The chart shifts from "taking in" to
"giving off" โ what you've made starts speaking for itself. Less proving, more
publishing. After 44 the rhythm slows again, into a deeper kind of authority.
This decade feels lighter than the one before it, even when the work is harder.
Things that used to require explanation just land. The central theme is going
public with something โ a body of work, a stance, a direction โ and discovering
people were already waiting for it.
You do best with structured environments that have warmth in them โ long-running
projects, a consistent home, mentors who teach by example rather than lecture, food
that takes time to cook. Cold, transactional, all-edge places will wear you down
faster than you notice.
**Your birth chart at a glance:**
- 1992 (year): **ๅฃฌ็ณ** โ deep waters running over hard mountain metal
- 7th lunar month: **ไธๆช** โ a small flame inside late-summer earth
- Day of birth: **ๆ็ณ** โ *your core self*, the patient mountain with veins of metal
- 4:30 AM (hour): **็ฒๅฏ
** โ a tall tree in deep forest at first light