Astro Daily Transits
/install astro-daily-transits
Astrology — Daily Transit Forecast
Engine: Swiss Ephemeris (pyswisseph 2.10.3.2) + Pillow (PIL)
This skill calculates daily transits over a natal chart and generates an astrological forecast for any target date specified by the user (past, present, or future). It renders a composite 2-column chart showing a combined natal+transit wheel and a wide textual forecast panel.
🔬 Precision
All planetary positions are computed using the Swiss Ephemeris library (pyswisseph 2.10.3.2), which is based on NASA's JPL DE431 ephemerides. This ensures planetary position accuracy of approximately 0.003° — the same engine used by professional astrologers and astronomy software worldwide. House cusps are calculated using the Placidus system with exact iterative methods (swe.houses_ex()).
⚠️ Requirements
| Requirement | Details |
|---|---|
| OS | Windows (x64) |
| Python | 3.14.x |
| Runtime | Microsoft Visual C++ Redistributable 2015–2022 (x64) |
| Pillow | 12.x — pip install pillow |
| Swiss Ephemeris | Bundled as swisseph.cp314-win_amd64.pyd.dat |
Architecture
daily_transits.py --json → JSON data (natal + transits + aspects + houses) → draw_daily.py → PNG image
↕
daily_transits.py → text forecast output
daily_transits.py is the sole calculation engine powered by Swiss Ephemeris. draw_daily.py renders the chart by calling it via subprocess. This guarantees text and graphical output always match.
How Daily Transits Work
Step 1: Natal Chart → Fixed Foundation
The natal chart is the birth snapshot — positions of planets at the moment of birth. This never changes. Computed once from birth date, time, and location.
Step 2: Transit Positions → Moving Planets on Target Date
Transit positions are where the planets are on the user-specified target date (default: today). The user can request a forecast for any date — yesterday, tomorrow, or years in advance.
Step 3: Aspects Between Transits and Natal
When a transit planet forms an angle (aspect) with a natal planet, it activates that natal planet's energy. Aspect lines are drawn directly on the wheel:
| Aspect | Symbol | Meaning | Line Style |
|---|---|---|---|
| Conjunction | ☌ | Fusion of energies — powerful, direct impact | Solid |
| Opposition | ☍ | Tension, confrontation, awareness through contrast | Solid |
| Trine | △ | Harmony, flow, luck — energy works naturally | Solid |
| Square | □ | Challenge, friction — crisis that mobilizes | Solid |
| Sextile | ✶ | Opportunity — potential that needs action | Solid |
| Semisextile | ⚺ | Subtle influence, minor adjustments | Solid |
| Semisquare | ∠ | Irritation, minor tension | Solid |
| Quincunx | ⚹ | Adjustment needed, discomfort | Solid |
| Retrograde | ℞ | Transit planet moving backward | Dashed |
Step 4: House Activation (Detailed)
Transit planets falling in specific natal houses show which life areas are activated. Each house is displayed with:
- House title and description
- Transit planets in the house (with sign, degrees, retrograde status)
- Interpretation of each transit planet in the context of that house
- Activation context if a natal planet also occupies the same house
| House | Life Area |
|---|---|
| I | Personality, appearance, self |
| II | Money, values, resources |
| III | Communication, siblings, learning |
| IV | Home, family, roots |
| V | Creativity, children, romance |
| VI | Health, work, routine |
| VII | Partnership, marriage |
| VIII | Transformation, shared resources |
| IX | Philosophy, travel, higher education |
| X | Career, reputation, public life |
| XI | Friends, groups, hopes |
| XII | Subconscious, solitude, karma |
Step 5: AI-Generated Extended Conclusion
An extended forecast summary is generated, including:
- Overall energy assessment (powerful/harmonious/challenging/calm)
- Transit planet context (sign position, meaning)
- Most activated house analysis
- Practical recommendations for the day
When run through OpenClaw, the AI agent can provide an enhanced conclusion via the --conclusion flag.
Usage
Text Forecast (CLI)
# Forecast for today
python scripts/daily_transits.py 24.04.1983 07:00 Ижевск --lang ru --name "Алексей"
# Forecast for any specific date (past, present, or future)
python scripts/daily_transits.py 24.04.1983 07:00 Ижевск --target-date 04.06.2026 --lang ru
# English output
python scripts/daily_transits.py 24.04.1983 07:00 Ижевск --lang en
# JSON output (for renderers / AI)
python scripts/daily_transits.py 24.04.1983 07:00 Ижевск --json --target-date 04.06.2026
Graphical Chart
# Chart for today (Russian)
python scripts/draw_daily.py 24.04.1983 07:00 Ижевск --lang ru --name "Алексей"
# Chart for any specific date
python scripts/draw_daily.py 24.04.1983 07:00 Ижевск --target-date 04.06.2026 --lang ru --name "Алексей"
# With AI-generated conclusion from file
python scripts/draw_daily.py 24.04.1983 07:00 Ижевск --target-date 04.06.2026 --lang ru --name "Алексей" --conclusion conclusion.txt
# English
python scripts/draw_daily.py 24.04.1983 07:00 Ижевск --target-date 04.06.2026 --lang en --name "Alexey"
CLI Arguments
| Argument | Description |
|---|---|
date |
Birth date DD.MM.YYYY |
time |
Birth time HH:MM |
city |
Birth city |
--target-date |
Forecast date DD.MM.YYYY (default: today). Can be any date — past, present, or future. |
--lang |
Language: ru or en (default: ru) |
--name |
Person's name for display |
--json |
Output JSON instead of text |
--conclusion |
Path to text file with AI-generated conclusion (for draw_daily.py) |
JSON Output Format
{
"name": "Алексей",
"birth_date": "24.04.1983",
"birth_time": "07:00",
"birth_city": "Ижевск, Россия",
"target_date": "04.06.2026",
"natal": {
"Sun": {"lon": 33.38, "speed": 0.974, "retro": false},
"Moon": {"lon": 172.92, "speed": 14.116, "retro": false},
...
},
"transits": {
"Sun": {"lon": 103.5, "speed": 0.955, "retro": false},
...
},
"transit_houses": {"Sun": 12, "Moon": 9, ...},
"planet_houses": {"Sun": 12, "Moon": 6, ...},
"houses": [asc_deg, ..., mc_deg],
"asc": 1.83,
"mc": 22.92,
"aspects": [
{"transit": "Sun", "natal": "Venus", "type": "conjunction", "symbol": "☌", "name": "Соединение", "nature": "powerful", "orb": 1.3}
],
"engine": "Swiss Ephemeris v20230604"
}
Image Layout (5760×2880 px)
+------------------+---------------------------------------------+
| | |
| COMBINED | FORECAST PANEL |
| WHEEL | (3600×2880) |
| (2160×2160) | |
| | - Date header + name |
| - Sign sectors | - Key aspects (colored planet names) |
| - House cusps | - Aspect descriptions (word-wrapped) |
| - Natal planets | - House activations (detailed, like natal |
| (pale, inner | chart skill): |
| orbit RP=520) | • House title + description |
| - Transit | • Transit planet (ME ♉ 12°30') in house |
| planets | • Interpretation of transit in house |
| (bright, outer| • Natal planet activation context |
| orbit RP=720) | - AI Conclusion (extended forecast) |
| - Aspect lines | |
| (solid=color, | |
| dashed=retro) | |
| | |
| --- Legends --- | |
| Planet|Element | |
| |Aspect|Retro | |
+------------------+---------------------------------------------+
Font Handling
Two bundled fonts in scripts/:
| Font | Purpose | Extension |
|---|---|---|
seguisym.ttf.dat |
Zodiac symbols ♈♉♊... + aspect symbols ☌☍△□... | .dat (ClawHub-compatible) |
segoeuisl.ttf.dat |
Cyrillic, latin, digits | .dat (ClawHub-compatible) |
Both are auto-copied to .ttf at runtime for Pillow compatibility. Per-character font selection ensures zodiac and aspect symbols render correctly alongside Cyrillic/Latin text.
Scripts Reference
| Script | Purpose | Dependencies |
|---|---|---|
scripts/daily_transits.py |
Sole calculation engine. Swiss Ephemeris planetary positions, house cusps (Placidus), aspect detection. Text forecast + JSON export. | swisseph, math, json |
scripts/draw_daily.py |
Renderer. Calls daily_transits.py --json, draws 5760×2880 chart with combined wheel + forecast panel. | subprocess, json, math, Pillow |
scripts/swisseph.cp314-win_amd64.pyd.dat |
Swiss Ephemeris binary (2 MB) — JPL DE431 ephemerides | MSVC++ Redist |
scripts/seguisym.ttf.dat |
Zodiac + aspect symbol font (2.4 MB) | — |
scripts/segoeuisl.ttf.dat |
Cyrillic/latin font (854 KB) | — |
AI Conclusion Workflow (for OpenClaw agents)
Step 1: python scripts/daily_transits.py \x3Cdate> \x3Ctime> \x3Ccity> --json --target-date \x3Cdate>
Step 2: AI analyzes JSON and writes enhanced conclusion to a file
Step 3: python scripts/draw_daily.py \x3Cdate> \x3Ctime> \x3Ccity> --lang ru --name "Name" --conclusion \x3Cfile>
When --conclusion is provided, the AI-generated text is used verbatim. Otherwise, the script generates a built-in conclusion.
Disclaimer
This is an entertainment/educational tool, not a scientific method. Do not make medical or financial decisions based on astrological readings.
Changelog
v5.0.0 (2026-06-04)
- Combined single wheel: natal planets (pale, inner orbit) + transit planets (bright, outer orbit) on one wheel
- Aspect lines on wheel: solid lines by aspect type, dashed lines for retrograde transits
- Wide forecast panel (3600px): full word-wrapped text with colored planet names
- House activations: detailed format matching astro-natal-chart skill (title → description → planets → interpretation)
- Transit planet interpretation: each transit planet in house gets contextual meaning
- Natal planet activation: shows when transit activates a natal planet in the same house
- AI conclusion: extended forecast with practical recommendations
- --conclusion flag: supports AI-generated conclusion files from OpenClaw
- Any target date: forecast can be computed for any past, present, or future date
- Precision: Swiss Ephemeris JPL DE431 ephemerides, ~0.003° accuracy
v1.0.0 (2026-06-04)
- Initial release
- Daily transit calculation with Swiss Ephemeris
- Aspect detection (8 types) with configurable orbs
- House activation analysis
- Bilingual text forecast (RU/EN)
- 3-column graphical chart (natal + transit + forecast)
- JSON export for AI integration
- Bundled fonts and swisseph as .dat files (ClawHub-compatible)
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install astro-daily-transits - 安装完成后,直接呼叫该 Skill 的名称或使用
/astro-daily-transits触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Astro Daily Transits 是什么?
Calculates daily planetary transits over a natal chart, detects aspects and house activations, and generates text forecasts plus a detailed 3-column graphica... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 40 次。
如何安装 Astro Daily Transits?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install astro-daily-transits」即可一键安装,无需额外配置。
Astro Daily Transits 是免费的吗?
是的,Astro Daily Transits 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Astro Daily Transits 支持哪些平台?
Astro Daily Transits 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Astro Daily Transits?
由 dynamicsAlex(@dynamicsalex)开发并维护,当前版本 v5.0.0。