Astrology API Skill
When to Use
Use this skill when the user asks about:
- Birth charts, natal charts, horoscopes
- Zodiac compatibility, synastry, relationship analysis
- Planetary positions, transits, aspects
- Moon phases, lunar metrics, void of course
- Solar/lunar returns, progressions, directions
- Tarot card readings, spreads, interpretations
- Numerology (core numbers, compatibility, comprehensive)
- Vedic astrology (kundli, doshas, dashas, panchang)
- Chinese astrology (bazi, ming gua, feng shui)
- Human design (bodygraph, type, channels, gates)
- Kabbalah (tree of life, birth angels, gematria)
- Astrocartography (relocation, power zones, lines)
- Fixed stars (positions, conjunctions)
- Eclipses (upcoming, natal impact)
- Palmistry (palm analysis, reading)
- Daily/weekly/monthly/yearly horoscopes
- Career, health, spiritual, psychological analysis
- Chart rendering (SVG, PNG images)
Prerequisites
Before making any API call, verify:
$ASTROLOGY_API_KEY environment variable is set
curl is available on PATH
If the API key is missing, ask the user to set it:
export ASTROLOGY_API_KEY="your_token_here"
How It Works
Gather data from the user depending on the request type:
- For natal/personal: name, birth date (year, month, day), birth time (hour, minute), birth city + country code (2-letter ISO)
- For synastry/compatibility: birth data for TWO people
- For transits: natal data + transit date/time
- For horoscopes by sign: just the zodiac sign name
- For tarot: question or spread type
- For numerology: full name + birth date
Call the API using {baseDir}/scripts/astro-api.sh:
bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{ ... }'
Present results in a human-friendly format, highlighting key findings.
API Call Patterns
Natal Chart (most common)
bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"options": {
"house_system": "P",
"zodiac_type": "Tropic",
"language": "EN"
}
}'
Synastry (compatibility)
bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/synastry '{
"subject": {
"name": "Person A",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"partner": {
"name": "Person B",
"year": 1992, "month": 7, "day": 20,
"hour": 9, "minute": 0, "second": 0,
"city": "London", "country_code": "GB"
},
"options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'
Transit Snapshot
bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/transit '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"transit": {
"year": 2026, "month": 2, "day": 12,
"hour": 12, "minute": 0, "second": 0,
"city": "New York", "country_code": "US"
},
"options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'
Current Sky Data (no parameters needed)
bash {baseDir}/scripts/astro-api.sh GET /api/v3/data/now
Planetary Positions
bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/positions '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"options": {"house_system": "P", "zodiac_type": "Tropic"}
}'
Lunar Metrics
bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/lunar-metrics '{
"subject": {
"name": "now",
"year": 2026, "month": 2, "day": 12,
"hour": 12, "minute": 0, "second": 0,
"city": "New York", "country_code": "US"
}
}'
Daily Horoscope by Sign
bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/sign/daily '{
"sign": "aries",
"language": "EN"
}'
Personal Daily Horoscope
bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/personal/daily '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"language": "EN"
}'
Natal Analysis Report (AI-generated interpretation)
bash {baseDir}/scripts/astro-api.sh POST /api/v3/analysis/natal-report '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'
Render Chart as SVG
bash {baseDir}/scripts/astro-api.sh POST /api/v3/svg/natal '{
"subject": {
"name": "John",
"year": 1990, "month": 3, "day": 15,
"hour": 14, "minute": 30, "second": 0,
"city": "New York", "country_code": "US"
},
"options": {"house_system": "P", "zodiac_type": "Tropic"}
}'
Tarot Card Draw
bash {baseDir}/scripts/astro-api.sh POST /api/v3/tarot/cards/draw '{
"count": 3
}'
Numerology Core Numbers
bash {baseDir}/scripts/astro-api.sh POST /api/v3/numerology/core-numbers '{
"full_name": "John Smith",
"birth_date": "1990-03-15"
}'
Full endpoint reference: Read {baseDir}/references/api-endpoints.md for all 190+ endpoints with detailed parameters.
Default Options
When the user doesn't specify preferences, use these defaults:
- House system:
P (Placidus) — most common in Western astrology
- Zodiac type:
Tropic (Tropical) — Western standard
- Language:
EN (English) — override based on user's language
- Tradition:
universal — broadest coverage
Output Format
When presenting results to the user:
- Start with the highlights: Sun sign, Moon sign, Ascendant (Rising)
- Use plain language — translate astrological jargon
- Format positions as tables when showing multiple planets
- Highlight notable aspects (conjunctions, oppositions, squares, trines)
- For compatibility: lead with the overall score/summary
- For horoscopes: present the text naturally, don't dump raw JSON
- For chart images (SVG/render): save to a file and inform the user
Edge Cases
- Birth time unknown: Use noon (12:00) and note that house positions and Moon degree may be less accurate
- City not found: Ask for latitude/longitude instead. Use
latitude and longitude fields instead of city/country_code
- API errors (400/422): Parse the error message and explain to the user what's wrong (e.g., invalid date, missing field)
- Large responses: For analysis reports, summarize the key points rather than showing everything
- Language support: The API supports EN, RU, FR, DE, ES, IT, PT, and more — match the user's language when possible
1---2name: astroapi-skill3description: Astrology API: generate natal charts, synastry, composite, transits, solar/lunar returns, progressions, directions, planetary positions, house cusps, aspects, lunar metrics, horoscopes, analysis reports, SVG/render charts, tarot, numerology, Vedic, Chinese astrology, human design, kabbalah, astrocartography, eclipses, palmistry, and fixed stars. Use when user asks about birth charts, horoscopes, zodiac signs, compatibility, planetary positions, moon phases, transits, astrological calculations, tarot readings, numerology, or any esoteric/astrological topic.4---56# Astrology API Skill78## When to Use910Use this skill when the user asks about:1112- Birth charts, natal charts, horoscopes13- Zodiac compatibility, synastry, relationship analysis14- Planetary positions, transits, aspects15- Moon phases, lunar metrics, void of course16- Solar/lunar returns, progressions, directions17- Tarot card readings, spreads, interpretations18- Numerology (core numbers, compatibility, comprehensive)19- Vedic astrology (kundli, doshas, dashas, panchang)20- Chinese astrology (bazi, ming gua, feng shui)21- Human design (bodygraph, type, channels, gates)22- Kabbalah (tree of life, birth angels, gematria)23- Astrocartography (relocation, power zones, lines)24- Fixed stars (positions, conjunctions)25- Eclipses (upcoming, natal impact)26- Palmistry (palm analysis, reading)27- Daily/weekly/monthly/yearly horoscopes28- Career, health, spiritual, psychological analysis29- Chart rendering (SVG, PNG images)3031## Prerequisites3233Before making any API call, verify:34351. `$ASTROLOGY_API_KEY` environment variable is set362. `curl` is available on PATH3738If the API key is missing, ask the user to set it:3940```41export ASTROLOGY_API_KEY="your_token_here"42```4344## How It Works45461. **Gather data** from the user depending on the request type:47 - For natal/personal: name, birth date (year, month, day), birth time (hour, minute), birth city + country code (2-letter ISO)48 - For synastry/compatibility: birth data for TWO people49 - For transits: natal data + transit date/time50 - For horoscopes by sign: just the zodiac sign name51 - For tarot: question or spread type52 - For numerology: full name + birth date53542. **Call the API** using `{baseDir}/scripts/astro-api.sh`:5556 ```57 bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{ ... }'58 ```59603. **Present results** in a human-friendly format, highlighting key findings.6162## API Call Patterns6364### Natal Chart (most common)6566```bash67bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{68 "subject": {69 "name": "John",70 "year": 1990, "month": 3, "day": 15,71 "hour": 14, "minute": 30, "second": 0,72 "city": "New York", "country_code": "US"73 },74 "options": {75 "house_system": "P",76 "zodiac_type": "Tropic",77 "language": "EN"78 }79}'80```8182### Synastry (compatibility)8384```bash85bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/synastry '{86 "subject": {87 "name": "Person A",88 "year": 1990, "month": 3, "day": 15,89 "hour": 14, "minute": 30, "second": 0,90 "city": "New York", "country_code": "US"91 },92 "partner": {93 "name": "Person B",94 "year": 1992, "month": 7, "day": 20,95 "hour": 9, "minute": 0, "second": 0,96 "city": "London", "country_code": "GB"97 },98 "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}99}'100```101102### Transit Snapshot103104```bash105bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/transit '{106 "subject": {107 "name": "John",108 "year": 1990, "month": 3, "day": 15,109 "hour": 14, "minute": 30, "second": 0,110 "city": "New York", "country_code": "US"111 },112 "transit": {113 "year": 2026, "month": 2, "day": 12,114 "hour": 12, "minute": 0, "second": 0,115 "city": "New York", "country_code": "US"116 },117 "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}118}'119```120121### Current Sky Data (no parameters needed)122123```bash124bash {baseDir}/scripts/astro-api.sh GET /api/v3/data/now125```126127### Planetary Positions128129```bash130bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/positions '{131 "subject": {132 "name": "John",133 "year": 1990, "month": 3, "day": 15,134 "hour": 14, "minute": 30, "second": 0,135 "city": "New York", "country_code": "US"136 },137 "options": {"house_system": "P", "zodiac_type": "Tropic"}138}'139```140141### Lunar Metrics142143```bash144bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/lunar-metrics '{145 "subject": {146 "name": "now",147 "year": 2026, "month": 2, "day": 12,148 "hour": 12, "minute": 0, "second": 0,149 "city": "New York", "country_code": "US"150 }151}'152```153154### Daily Horoscope by Sign155156```bash157bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/sign/daily '{158 "sign": "aries",159 "language": "EN"160}'161```162163### Personal Daily Horoscope164165```bash166bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/personal/daily '{167 "subject": {168 "name": "John",169 "year": 1990, "month": 3, "day": 15,170 "hour": 14, "minute": 30, "second": 0,171 "city": "New York", "country_code": "US"172 },173 "language": "EN"174}'175```176177### Natal Analysis Report (AI-generated interpretation)178179```bash180bash {baseDir}/scripts/astro-api.sh POST /api/v3/analysis/natal-report '{181 "subject": {182 "name": "John",183 "year": 1990, "month": 3, "day": 15,184 "hour": 14, "minute": 30, "second": 0,185 "city": "New York", "country_code": "US"186 },187 "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}188}'189```190191### Render Chart as SVG192193```bash194bash {baseDir}/scripts/astro-api.sh POST /api/v3/svg/natal '{195 "subject": {196 "name": "John",197 "year": 1990, "month": 3, "day": 15,198 "hour": 14, "minute": 30, "second": 0,199 "city": "New York", "country_code": "US"200 },201 "options": {"house_system": "P", "zodiac_type": "Tropic"}202}'203```204205### Tarot Card Draw206207```bash208bash {baseDir}/scripts/astro-api.sh POST /api/v3/tarot/cards/draw '{209 "count": 3210}'211```212213### Numerology Core Numbers214215```bash216bash {baseDir}/scripts/astro-api.sh POST /api/v3/numerology/core-numbers '{217 "full_name": "John Smith",218 "birth_date": "1990-03-15"219}'220```221222> **Full endpoint reference:** Read `{baseDir}/references/api-endpoints.md` for all 190+ endpoints with detailed parameters.223224## Default Options225226When the user doesn't specify preferences, use these defaults:227228- **House system:** `P` (Placidus) — most common in Western astrology229- **Zodiac type:** `Tropic` (Tropical) — Western standard230- **Language:** `EN` (English) — override based on user's language231- **Tradition:** `universal` — broadest coverage232233## Output Format234235When presenting results to the user:2362371. **Start with the highlights**: Sun sign, Moon sign, Ascendant (Rising)2382. **Use plain language** — translate astrological jargon2393. **Format positions as tables** when showing multiple planets2404. **Highlight notable aspects** (conjunctions, oppositions, squares, trines)2415. **For compatibility**: lead with the overall score/summary2426. **For horoscopes**: present the text naturally, don't dump raw JSON2437. **For chart images (SVG/render)**: save to a file and inform the user244245## Edge Cases246247- **Birth time unknown**: Use noon (12:00) and note that house positions and Moon degree may be less accurate248- **City not found**: Ask for latitude/longitude instead. Use `latitude` and `longitude` fields instead of `city`/`country_code`249- **API errors (400/422)**: Parse the error message and explain to the user what's wrong (e.g., invalid date, missing field)250- **Large responses**: For analysis reports, summarize the key points rather than showing everything251- **Language support**: The API supports EN, RU, FR, DE, ES, IT, PT, and more — match the user's language when possible