Indic-ai-skills vedic-astrology
Complete Vedic astrology chart generation and interpretation. Generate birth charts (D1-D60), calculate Panchanga, Shadbala, Vimshottari Dasha, Ashtakavarga, and provide interpretations using Krishnamurthi Paddhati (KP) system, classical Parashara principles, and traditional texts. Supports both natal and horary (Prasna) charts.
git clone https://github.com/ankitjh4/indic-ai-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/ankitjh4/indic-ai-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/vedic-astrology" ~/.claude/skills/ankitjh4-indic-ai-skills-vedic-astrology && rm -rf "$T"
skills/vedic-astrology/SKILL.mdVedic Astrology Skill
Generate and interpret complete Vedic astrology birth charts using multiple systems including Krishnamurthi Paddhati (KP), classical Parashara principles, and traditional Vedic texts.
Overview
This skill combines three powerful Python libraries for comprehensive Vedic astrology:
- flatlib - Traditional astrology calculations with Swiss Ephemeris
- VedicAstro - Krishnamurthi Paddhati (KP) system specialization
- jyotishganit - Professional grade Vedic calculations with NASA JPL ephemeris
All three libraries are integrated to provide:
- Complete birth chart generation (D1-D60 divisional charts)
- Panchanga (five limbs of time)
- Vimshottari Dasha periods
- Shadbala (six-fold planetary strength)
- Ashtakavarga point system
- KP system significators and sublords
- Horary (Prasna) chart generation
- Traditional interpretations from classical texts
Installation
The scripts automatically install required libraries on first run:
# All dependencies auto-installed: # - flatlib (from sidereal branch) # - vedicastro # - jyotishganit # - pyswisseph # - skyfield
Usage
Generate Complete Birth Chart
# Basic natal chart bun scripts/generate-chart.ts \ --date "1990-07-15" \ --time "14:30:00" \ --lat 28.6139 \ --lon 77.2090 \ --tz 5.5 \ --name "Sample Person" \ --place "New Delhi" # Saves to: Charts/sample-person-chart.json
Output includes:
- All planetary positions (9 grahas)
- Ascendant and house cusps
- D1-D60 divisional charts
- Panchanga details
- Vimshottari Dasha periods
- Shadbala calculations
- Ashtakavarga points
- KP significators and sublords
Horary (Prasna) Chart
# Question-based horary chart bun scripts/generate-horary.ts \ --question "Will I get the job?" \ --lat 19.0760 \ --lon 72.8777 \ --tz 5.5 \ --place "Mumbai" # Uses current time or specify: bun scripts/generate-horary.ts \ --question "Should I invest in this business?" \ --date "2024-03-15" \ --time "10:45:00" \ --lat 12.9716 \ --lon 77.5946 \ --tz 5.5 \ --place "Bangalore"
Interpret Chart
# Get detailed interpretation bun scripts/interpret-chart.ts \ --chart "Charts/sample-person-chart.json" \ --focus "career" \ --system "kp" # Focus areas: career, marriage, health, wealth, education, children # Systems: kp, parashara, combined
Dasha Predictions
# Current dasha period analysis bun scripts/analyze-dasha.ts \ --chart "Charts/sample-person-chart.json" \ --date "2024-03-15" # Get upcoming events bun scripts/analyze-dasha.ts \ --chart "Charts/sample-person-chart.json" \ --period "next-year"
Panchanga (Daily Almanac)
# Today's panchanga bun scripts/panchanga.ts \ --lat 28.6139 \ --lon 77.2090 \ --tz 5.5 # Specific date bun scripts/panchanga.ts \ --date "2024-04-15" \ --lat 13.0827 \ --lon 80.2707 \ --tz 5.5 \ --place "Chennai"
Transit Analysis
# Current planetary transits bun scripts/transit.ts \ --chart "Charts/sample-person-chart.json" # Future transit bun scripts/transit.ts \ --chart "Charts/sample-person-chart.json" \ --date "2024-06-01"
Compatibility (Synastry)
# Match two charts bun scripts/compatibility.ts \ --chart1 "Charts/person1-chart.json" \ --chart2 "Charts/person2-chart.json" # Includes: # - Kuta/Guna matching # - Mangal Dosha check # - Nadi, Bhakuta, Gana compatibility # - Overall score and recommendations
Key Concepts
Krishnamurthi Paddhati (KP) System
What makes KP unique:
- Uses 249 subdivisions (sublords) instead of just 27 nakshatras
- Planet as significator of houses > Planet posited in house
- More precise timing predictions
- Simplified rules compared to classical systems
KP Significators (ABCD):
- A: Planets in a house's constellation
- B: Planets in a house
- C: Planets aspecting a house
- D: Planets in aspect to house lord
Divisional Charts (Vargas)
| Chart | Name | Significance |
|---|---|---|
| D1 | Rasi | Overall life, personality |
| D2 | Hora | Wealth, financial potential |
| D3 | Drekkana | Siblings, courage |
| D4 | Chaturthamsa | Property, fixed assets |
| D7 | Saptamsa | Children, progeny |
| D9 | Navamsa | Marriage, spouse, dharma |
| D10 | Dasamsa | Career, profession |
| D12 | Dwadasamsa | Parents, ancestry |
| D16 | Shodasamsa | Vehicles, luxuries |
| D24 | Chaturvimsamsa | Education, learning |
| D27 | Bhamsha | Physical strength |
| D30 | Trimsamsa | Misfortunes, suffering |
| D60 | Shashtiamsa | Past life karma |
Panchanga (Five Limbs)
- Tithi - Lunar day (1-30)
- Nakshatra - Moon's constellation (27 divisions)
- Yoga - Sun-Moon combination (27 types)
- Karana - Half of tithi (11 types)
- Vaara - Weekday (7 days)
Vimshottari Dasha
120-year planetary period system:
- Ketu: 7 years
- Venus: 20 years
- Sun: 6 years
- Moon: 10 years
- Mars: 7 years
- Rahu: 18 years
- Jupiter: 16 years
- Saturn: 19 years
- Mercury: 17 years
Each Mahadasha divided into Antardashas, Pratyantardashas, etc.
Shadbala (Six-Fold Strength)
- Sthanabala - Positional strength
- Kaalabala - Temporal strength
- Digbala - Directional strength
- Cheshtabala - Motional strength
- Naisargikabala - Natural strength
- Drikbala - Aspectual strength
Minimum required strength (Rupas):
- Sun: 5, Moon: 6, Mars: 5, Mercury: 7
- Jupiter: 6.5, Venus: 5.5, Saturn: 5
Ashtakavarga
Point-based system showing strength in each sign:
- Sarvashtakavarga (SAV): Combined points from all planets
- Bhinnashatkavarga (BAV): Individual planet contributions
- Used for transit predictions and strength assessment
Output Format
Charts are saved as JSON with complete astrological data:
{ "person": { "name": "Sample Person", "birth_date": "1990-07-15T14:30:00", "latitude": 28.6139, "longitude": 77.2090, "timezone": 5.5, "place": "New Delhi" }, "ayanamsa": 23.87, "d1_chart": { "ascendant": {"sign": "Libra", "degrees": 12.45}, "planets": [...], "houses": [...] }, "divisional_charts": { "d9": {...}, "d10": {...} }, "panchanga": { "tithi": "Krishna Chaturthi", "nakshatra": "Pushya", "yoga": "Vyaghata", "karana": "Bava", "vaara": "Sunday" }, "dashas": { "current_mahadasha": "Venus", "current_antardasha": "Moon", "periods": [...] }, "kp_data": { "significators": {...}, "sublords": {...} }, "shadbala": {...}, "ashtakavarga": {...} }
Chart Interpretation Principles
House Significations (Parashara System)
- 1st House (Lagna): Self, body, personality, general fortune
- 2nd House: Wealth, family, speech, food, early education
- 3rd House: Siblings, courage, communication, short journeys
- 4th House: Mother, home, property, vehicles, happiness
- 5th House: Children, education, intelligence, romance, speculation
- 6th House: Enemies, diseases, debts, service, obstacles
- 7th House: Spouse, marriage, partnerships, business
- 8th House: Longevity, inheritance, occult, sudden events
- 9th House: Father, dharma, fortune, higher education, long journeys
- 10th House: Career, profession, status, authority, fame
- 11th House: Gains, income, friends, ambitions, elder siblings
- 12th House: Losses, expenses, foreign lands, spirituality, isolation
Planetary Natures
Natural Benefics:
- Jupiter (guru) - Great benefic
- Venus (shukra) - Lesser benefic
- Moon (chandra) - Benefic when waxing
- Mercury (budha) - Benefic when alone or with benefics
Natural Malefics:
- Saturn (shani) - Great malefic
- Mars (mangal) - Lesser malefic
- Sun (surya) - Mild malefic
- Rahu/Ketu - Shadow planets (malefic)
Functional Benefics/Malefics: Depends on ascendant and lordship of houses.
Yogas (Planetary Combinations)
Powerful Yogas:
- Raj Yoga: Combinations giving power, status
- Dhana Yoga: Wealth-giving combinations
- Neecha Bhanga Raj Yoga: Debilitation cancellation
- Gajakesari Yoga: Jupiter-Moon combination
- Mahapurusha Yogas: Pancha Mahapurusha combinations
Challenging Yogas:
- Kemadruma Yoga: Moon isolated (no planets in adjacent houses)
- Daridra Yoga: Poverty-giving combinations
- Kala Sarpa Yoga: All planets between Rahu-Ketu axis
Dasha Interpretation Rules
-
Mahadasha Lord:
- Natural significations of the planet
- Houses owned by the planet
- Houses occupied and aspected
-
Antardasha Lord:
- Relationship with Mahadasha lord
- Its own significations and house lordship
-
Transit Influence:
- Current position of dasha lords
- Aspects to natal positions
- Ashtakavarga strength in transit sign
KP Judgment Rules
For any event to manifest:
-
Significators must be present:
- Check house significations (ABCD method)
- Primary significators > Secondary > Tertiary
-
Dasha must be supportive:
- Current Mahadasha-Antardasha lords
- Must be significators of relevant houses
-
Sublord must promise:
- Cusp sublord more important than house lord
- Sublord shows final fructification
Example (Marriage timing):
- Houses: 2, 7, 11 (positive), avoid 1, 6, 10 (negative)
- Check significators of 2-7-11
- Dasha must run of these significators
- 7th cusp sublord should not be in 1-6-10 star lord
Traditional Texts Referenced
The interpretation incorporates wisdom from:
- Brihat Parashara Hora Shastra - Foundation of Vedic astrology
- Brihat Jataka (Varahamihira) - Classical text on natal astrology
- Saravali (Kalyana Varma) - Comprehensive horoscopy
- Phaladeepika (Mantreswara) - Results of planetary positions
- Jataka Parijata (Vaidyanatha) - Natal astrology compendium
- KP Readers (K.S. Krishnamurti) - KP system foundation
Environment Variables
Set these in Settings > Advanced if needed:
# Optional: Swiss Ephemeris path SWISSEPH_PATH="/custom/path/to/ephe" # Optional: Output directory ASTRO_CHARTS_DIR="./Charts"
Technical Details
Ayanamsa Used:
- True Chitra Paksha (Lahiri) - Default
- Based on Spica star position
- ~23.87° for year 2024
Ephemeris Source:
- NASA JPL DE421 (jyotishganit)
- Swiss Ephemeris (flatlib, VedicAstro)
- Accuracy to arc-seconds
Coordinate System:
- Geocentric sidereal zodiac
- Whole sign house system (traditional)
- Equal house divisions
Common Use Cases
Career Guidance
# Generate chart and get career insights bun generate-chart.ts --date "1990-05-20" --time "08:15:00" \ --lat 18.5204 --lon 73.8567 --tz 5.5 --name "Client" --place "Pune" bun interpret-chart.ts --chart "Charts/client-chart.json" --focus "career" --system "combined"
Marriage Timing
# Check marriage prospects bun interpret-chart.ts --chart "Charts/client-chart.json" --focus "marriage" # Check compatibility with partner bun compatibility.ts --chart1 "Charts/person1.json" --chart2 "Charts/person2.json"
Health Analysis
# Health indicators bun interpret-chart.ts --chart "Charts/client-chart.json" --focus "health" # Check current dasha for health matters bun analyze-dasha.ts --chart "Charts/client-chart.json"
Business Partnership
# Horary question bun generate-horary.ts --question "Should I partner with this person?" \ --lat 22.5726 --lon 88.3639 --tz 5.5 --place "Kolkata" # Interpret horary chart using KP rules bun interpret-chart.ts --chart "Charts/horary-*.json" --system "kp"
Muhurta (Auspicious Timing)
# Find auspicious time for event bun panchanga.ts --date "2024-04-15" --lat 28.6139 --lon 77.2090 --tz 5.5 # Check multiple dates bun panchanga.ts --start-date "2024-04-01" --end-date "2024-04-30" \ --lat 12.9716 --lon 77.5946 --tz 5.5 --format "table"
Ethical Guidelines
When using this skill for chart interpretation:
- Emphasize Free Will: Charts show potentials, not certainties
- Be Compassionate: Avoid fatalistic language
- Provide Remedies: Suggest mantras, gemstones, charity
- Respect Privacy: Handle birth data confidentially
- Continuous Learning: Cross-reference with classical texts
- Seek Expertise: For complex charts, consult experienced astrologers
Troubleshooting
Missing ephemeris data:
# Libraries auto-download on first run # If issues, check internet connection and: pip install --upgrade pyswisseph skyfield
Wrong positions:
# Verify timezone is correct (IST = 5.5) # Check latitude/longitude format (decimal degrees) # Ensure date format: YYYY-MM-DD # Ensure time format: HH:MM:SS (24-hour)
Interpretation accuracy:
# Always verify birth time accuracy (±5 minutes changes ascendant) # Birth time rectification may be needed # Use divisional charts (D9, D10) to confirm D1 readings
Further Learning
Books:
- "Light on Life" by Hart de Fouw and Robert Svoboda
- "Brihat Parashara Hora Shastra" translated by R. Santhanam
- "KP Reader" series by K.S. Krishnamurti
- "Fundamentals of Hindu Astrology" by S. Kannan
Online Resources:
- Saptarishis Astrology (saptarishisastrology.com)
- Vedic Astrology Research Portal (vedic-astrology.net)
- KP Astrology Forum (kpastroforum.com)
API Integration
For programmatic access, you can import the Python modules directly:
from vedicastro import VedicHoroscopeData from jyotishganit import calculate_birth_chart from flatlib import const from flatlib.datetime import Datetime from flatlib.geopos import GeoPos from flatlib.chart import Chart # Use in your own scripts # See references/api-examples.py for detailed usage
Contributing
To enhance this skill:
- Add more interpretation rules from classical texts
- Implement additional yoga calculations
- Add regional variations (Tamil, Kerala systems)
- Enhance remedy suggestions
- Add PDF report generation
References
See
references/ directory for:
- Complete house significations
- Planetary dignity tables
- Yoga definitions
- Nakshatra characteristics
- Dasha interpretation rules
- Classical text excerpts
When to Use This Skill
Use this skill when you need to:
- Generate complete Vedic birth charts
- Calculate Panchanga for any date/location
- Analyze planetary periods (Dashas)
- Time events using KP or classical systems
- Check compatibility between charts
- Answer specific questions (horary)
- Provide astrological consultations
- Research astrological patterns
- Teach Vedic astrology concepts