Install
openclaw skills install @wauputr4/astronPersonal astrology companion for calculating and interpreting natal charts, with first-use birth-profile onboarding and conversational feedback. Use for personal natal readings or astrology questions involving the user's chart.
openclaw skills install @wauputr4/astronUse this skill when requested, not automatically at installation: installation cannot initiate a conversation. On first invocation, check for a private local profile using the host's appropriate user-data location (for example ~/.local/share/astron/profile.json, or macOS ~/Library/Application Support/astron/profile.json). Never put personal data in this skill folder or a shared repository. If the environment has a private user-memory mechanism, it may be used instead; do not assume it exists. Do not access another person's profile. In a group, do not request or reveal birth details; move onboarding to a private conversation.
scripts/chart.py with JSON on stdin, using a Python environment with pyswisseph. Read the JSON result; never invent positions. If dependency is missing, explain and install in an isolated environment only where appropriate, or ask the user to provide one. Do not silently use synthetic charts. If birth time is unknown, calculate positions at local noon as a provisional snapshot and explicitly omit houses and angles; Moon sign/aspects and other time-sensitive results can vary that day. If location is unavailable, request it rather than assuming UTC.Use the saved profile only in the owner's private context. Recalculate if birth details change. Distinguish actual chart data from interpretation and user feedback. Do not infer precise houses from unknown time. For transit and secondary progression requests use the tested local calculator described below; do not fabricate missing events or portray sampled boundaries as exact. Do not claim automated installation onboarding or cross-machine memory.
For general sky events, scripts/sky_events.py calculates lunations, exact geocentric tropical moving-body aspects and retrograde/direct stations using Kerykeion 6.0.5. Install kerykeion==6.0.5 in a dedicated local Python 3.12+ virtual environment if missing; do not depend on Hermex or a temporary test environment. Example input on stdin: {"start_utc":"2026-11-01","end_utc":"2026-11-30","timezone":"Asia/Jakarta","points":["Sun","Mercury","Mars","Jupiter","Neptune"],"aspects":["conjunction","trine"],"planets":["Mercury","Venus"]}. Date-only bounds are UTC and the end includes that entire UTC date; convert desired local calendar boundaries to explicit UTC instants and filter final results to the requested local interval. Report UTC and local timezone, event type, settings and calculation source. Missing data or backend errors are errors, not empty calendars. Do not claim eclipse or personal-transit support from this script: use an independently verified calculator for those. General sky events are not automatically natal contacts. Compare event and natal longitudes using a stated aspect and orb before claiming a personal connection; distinguish a coincident snapshot from an exact personal transit. Eclipse occurrence is not local visibility. Interpret as symbolic reflection, never certainty. Only offer optional scheduled reminders; create no schedule without explicit user request and verify its private delivery and timezone.
When the user asks for a monthly roadmap or a 1–5 star assessment, use a previously established, evidence-grounded reading or calculate the relevant chart contacts with a separately verified calculator. A natal chart alone does not establish month-specific transits: if transit evidence is unavailable, say so and do not invent contacts or scores. Identify the actual technique, date range, sampling method and limitations; a mid-month snapshot does not establish exact dates or cover the whole month. Separate past reflection from future planning.
Present each requested month with a short chart-grounded theme, a practical reflective action, and, when requested, a symbolic 1–5 star rating: 1 = heightened caution, 2 = proceed thoughtfully, 3 = mixed or neutral, 4 = supportive, 5 = a symbolically favorable or "golden" period. These are subjective interpretive summaries, not measured probabilities, promises, danger warnings, or facts about personality. Briefly explain how the particular observed contacts support each rating, acknowledge mixed indicators, and do not force a 1 or 5. Invite the user to disagree and relate the reading to their own experience. Adapt vocabulary to the user's astrology knowledge, and avoid deterministic advice on health, money, legal matters, or other consequential decisions.
Run python3 scripts/chart.py with stdin JSON such as {"date":"1990-07-15","time":"10:30","timezone":"Europe/Rome","latitude":41.9028,"longitude":12.4964}. For unknown time omit time. Output identifies timezone, effective instant, source flags, zodiac, houses, and aspect orb. Inputs are local civil time with IANA timezone; the script fails on DST ambiguity rather than guessing. Coordinates must be verified, not guessed. Output contains sensitive birth details: avoid logs or shared locations.
Use Python 3.12+ and install the pinned dependencies in a private virtual environment: python3 -m venv ~/.local/share/astron/venv then ~/.local/share/astron/venv/bin/python -m pip install -r <skill-directory>/requirements.txt. Do not reuse Hermex or the developer test environment. Run scripts/astron.py with JSON on stdin and the venv interpreter; supply birth as {"date":"1990-07-15","time":"10:30","timezone":"Europe/Rome","latitude":41.9028,"longitude":12.4964}. operation is natal for JSON; optionally add output with a private .json path for natal, transits or progression (refuses overwrite); svg with an explicit private output ending in .svg for a natal chart; transits with timezone-aware start_utc and end_utc for a range of at most 370 days; or progression with target_utc for secondary progression JSON. Explain that saved SVG and JSON may contain sensitive birth details; do not share externally without permission. The SVG command refuses to overwrite existing files. For unknown birth time use chart.py and do not create a false house wheel, progression, or timed transit.
Transit calculations use 2-hour sampling and optional root refinement with the library's default aspects/orbs; sample resolution and range boundaries may miss or clip events. A closest_sample_moment with exact_not_verified is not an exact transit. Do not call an event exact solely because a library field is named exact; inspect min_orb, and describe sampling, assumptions, and warnings. The Kerykeion backend may use lower-precision approximations for optional points; pay attention to stderr and provenance, and do not present those as high-precision data. Progressions and transits are distinct from general sky events. Interpret all symbolically.
Offer periodic reminders only after the user chooses frequency and private destination; use the host scheduler if available and verify access, time zone, delivery and pause/delete controls. No scheduler is installed or created by this skill. Synastry, solar returns, visual transit timelines, PDF exports and journaling are not implemented; do not claim otherwise.