Model or dataset
CNWU16/vedic-astro-skills avatar
CNWU16/vedic-astro-skills

vedic-astro-skills computes a chart first and only then interprets it

🔱 Vedic/Jyotish AI analysis toolkit | 吠陀占星AI分析工具包——从排盘开始,到以后的长期追问。支持所有可以挂载Skill的平台。感谢大家的支持。

979 stars107 forksPythonAGPL-3.0

At a glance

What is it?
Vedic Astro Skills is a set of eight agent skills for Jyotish, or Vedic astrology, published as a Python toolkit with a synchronisation script that keeps the same content in a Codex distribution and a Claude Code distribution. The architecture is the interesting part: a calculator produces a chart from birth details, a reader validates that chart against sixteen rules and rates its stability, and every analysis module downstream consumes the same verified file.
Who is it for?
Vedic Astro Skills suits someone who already works with Jyotish and wants the repetitive half of a reading handled by code, since the chart, the divisional charts, the planetary audit and the dasha timelines are computed rather than recalled, and it suits a developer who wants to see how a multi skill agent toolkit can share one validated data contract instead of repeating a prompt.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Eight skills, one shared data file

The toolkit is organised as eight skills, each with a `SKILL.md` file under the `skills/` directory, and the design principle stated in the documentation is that the birth data chain is shared while the reading modules are separate. The main chain runs from birth date, exact time and place through `vedic-calculator`, which computes the chart, then `vedic-reader`, which validates the data and routes it, and then into one of the analysis modules. The reader produces a single file, `structured_data.md`, and every natal module downstream consumes that same file, which is the thing that makes the design more than a pile of prompts. The three files that matter when you run a reading are these:

text
structured_data.md
structured_prashna.md
dasha_query.py

The first is the verified natal data every topic module reads, the second is the separate file for a question asked at a moment in time, and the third is the script that reads the long dasha timeline on demand rather than all at once. The eight skills are the calculator, the reader, `vedic-core` for the full natal reading, `vedic-career`, `vedic-love`, `vedic-rectifier` for birth time correction, `vedic-synastry` for two person charts, and `vedic-prashna` for a question asked at a moment in time. The documentation recommends installing all eight and calling only the one a task needs, so that a career question does not load the whole vocabulary of the toolkit into the model. The README carries an installation section and a quick start section for the setup, and the repository ships a `scripts/` directory, a build script and the sync tool that keeps the distributions in step.

The calculator does the astronomy, the reader does the auditing

The calculator takes a birth date, an exact time, a latitude and longitude and an IANA timezone, and it is described as the calculation base of the natal chain. Its output list is long and specific. The ascendant, the nine grahas, their degrees, house positions, retrograde status and nakshatra with pada. The Chara Karaka table with seven karakas main and eight as a reference. Fifteen divisional charts running from D1 to D60, including D1, D9, D10, D4 and D5. Shadbala, the Ishta and Kashta Phala, the SAV and BAV. House lords, compound dignity, graha drishti, combustion, moon phase, the arudha lagna and the upapada lagna. And a complete Vimshottari timeline of nine mahadasha segments, eighty-one antardasha and seven hundred and twenty-nine pratyantardasha segments, plus the current transits, Sade Sati, double transits and divisional boundary sensitivity. The reader then takes that output, or a PDF, a screenshot or text exported from other astrology software, and applies sixteen checks.

Sixteen checks and an explicit judgement about trust

The validation list is the part that separates this from a template, and it is worth reading closely. The reader checks the SAV and BAV constants, the completeness of the planet set, the Rahu and Ketu opposition, retrograde status, combustion, planetary war, the ayanamsa, nakshatra placement, the Chara Karaka assignment, the continuity of the dasha sequence across all three levels, the D9 formula and the rules for divisional node placement. The point of the exercise is stated plainly, that the reader evaluates the stability of the divisional charts from the source of the birth time and the interval of uncertainty, instead of treating a birth certificate or a successful calculation as proof that every divisional chart is reliable. There is also a deliberate asymmetry about files. A PDF, a screenshot or a text chart is an optional input for extraction and cross checking, and in the file path it does not overwrite the computed values; the Shadbala figures always keep the calculated baseline, and PDF values are only shown line by line when a valid chart for the same birth time exists, with the differences marked.

Why the model never sees all seven hundred and twenty-nine segments

The dasha timeline is large, and the design decision about it is the one detail every engineer should take from this repository. The calculator generates and validates the whole set of mahadasha, antardasha and pratyantardasha segments in one pass, and then the downstream modules read it progressively through a script called `dasha_query.py`, on demand. The reason given is twofold, to avoid pushing seven hundred and twenty-nine lines of pratyantardasha into the model context by default, and to avoid the model drilling down only into the candidates it happens to like. That second reason is the more interesting one, because a selective read of a large dataset is exactly how a model ends up confident about the periods it looked at and silent about the ones it did not. The same principle appears elsewhere in the toolkit, in the structured outputs that are read by several modules, and in the separation between the technical files, which keep the parameters and the audit trail, and the readable report, which is written for a person.

The specialist modules and what each refuses to claim

The four topic modules are more interesting for the limits they state than for the astrology they do. The career module runs in four stages, a workplace ecology scan, an aptitude pattern scan, a deep D9 audit and a synthesis across dimensions, joining D1, D9, D10 and the dasha, and it separates what you are good at, what role suits you, what kind of organisation suits you and which career phase you are in, with the output split into profile and narrative, strategic decisions, and risks. The relationship module analyses the natal emotional pattern, needs and capacity before looking for timing windows, requires that supporting and constraining evidence both appear in a conclusion, and uses the fifth and seventh houses, Venus, the Moon, the PK and DK karakas and the UL, and D9. The birth time rectifier is the one that needs the most from the user, at least five major life events, and it compares all the candidate times rather than validating a preferred one, distinguishing the leader among the original divisional charts, the current best estimate, the confirmed level and the time confidence, and it sends critical cases to validation outside the chart rather than forcing a false minute precision. The synastry module refuses two things explicitly, it gives no compatibility percentage that papers over structural differences, and it does not infer the real world relationship type from the chart.

Prashna is a separate chart, deliberately

The eighth skill handles a question asked at a moment in time, and it is kept structurally apart from everything else. It answers a single question with an observable outcome, casting a chart from the exact time and place the question was formally asked. Its default standard layer uses Shatpanchasika as the main text, filtered for practice compatibility with the KN Rao and Bharatiya Vidya Bhavan tradition, and it gives a judgement through a rule ledger with three states, formed, suspended or not formed. The documentation is careful about what it does not do. The standard layer does not offer production grade event dates, and it will not automatically turn a Moon with no contact into a not formed verdict. Two optional stacks, Tajika and KP 1 to 249, are off by default and isolated at both the file and the conclusion permission level so that they cannot be mixed with the standard layer, and they remain marked as experimental candidates until their example charts and boundary tests are closed. The separation is deliberate in the pipeline diagram too, since the prashna chart does not need the natal chart and does not automatically call the natal dasha, divisional charts or SAV to draw conclusions.

Pinned astronomy, a synchronisation script and an AGPL licence

The technical appendix fixes the computation rather than leaving it to chance. The ayanamsa is true Chitrapaksha in the Lahiri family, on a fixed baseline, the node is the mean node, and every validation rule uses the same convention. The astronomy core is pysweph, the Swiss Ephemeris, for the planets, the ascendant and the time dependent calculations, and the SAV and BAV and the Vimshottari dasha come from PyJHora's own algorithms rather than from a reimplementation. The packaging is also explicit. The `skills/` directory is the source of truth, and a `skill_sync.py` script keeps the Codex and Claude Code distributions in step with it, so a client reads the same content whichever surface it uses. There is a `codex-patch/` directory and a `build_anchored.py` script in the tree, and the documentation is published in Chinese, English and Japanese. The licence is AGPL-3.0, and the tree carries a separate `COMMERCIAL_NOTICE` file, which is worth reading before you build anything commercial on top of the toolkit. And one editorial note of my own, since the project is careful and this review should be too: the output is a reading inside an astrological tradition, and the toolkit does not claim, and this review does not grant, scientific validation for it.

Editorial conclusion

Vedic Astro Skills suits someone who already works with Jyotish and wants the repetitive half of a reading handled by code, since the chart, the divisional charts, the planetary audit and the dasha timelines are computed rather than recalled, and it suits a developer who wants to see how a multi skill agent toolkit can share one validated data contract instead of repeating a prompt. It is a poor fit if you want a decision tool, because the output is a reading within an astrological tradition and the toolkit does not claim scientific validation, and it is a poor fit if you need the whole thing in one shot, because the modules are designed to be called one at a time. Before you install it, check three things: the Python version, since the badge states 3.8 to 3.13, that you have a client that reads the Claude Skill format, since that is the compatibility claim, and the terms, because the project is AGPL-3.0 with a separate commercial notice file in the tree that you should read before you use it in a product.

Frequently asked questions

What is vedic-astro-skills?

A Python toolkit of eight agent skills for Vedic astrology, or Jyotish, released under the AGPL-3.0. It computes a chart from birth details with vedic-calculator, validates it with vedic-reader, and then routes the verified data into natal, career, relationship, birth time, synastry or prashna analysis.

Which clients can run the vedic-astro-skills toolkit?

The documentation states compatibility with Codex, Claude Code, and any client that reads the Claude Skill format, including Antigravity and several other agent tools. The skills directory is the source of truth and a sync script keeps the Codex and Claude Code distributions consistent with it.

How does vedic-astro-skills validate the computed chart?

The reader applies sixteen checks, covering the SAV and BAV constants, planet completeness, the Rahu and Ketu opposition, retrograde status, combustion, planetary war, ayanamsa, nakshatra, Chara Karaka, the continuity of the dasha sequence, the D9 formula and the divisional node rules, and it rates the stability of the divisional charts from the source and uncertainty of the birth time rather than assuming the calculation is reliable.

Do I need a PDF chart to use vedic-astro-skills?

No. The main entry is birth date, exact time and place, and the calculator produces the chart. A PDF, screenshot or text chart exported from other astrology software is optional and is used for extraction and cross checking, and it does not overwrite the computed values, with the calculated Shadbala kept as the baseline.

What does vedic-astro-skills need to run?

Python 3.8 to 3.13 according to the version badge, and a client that reads the Claude Skill format. The astronomy is handled by pysweph, the Swiss Ephemeris, with the SAV, BAV and dasha algorithms taken from PyJHora, and the ayanamsa is fixed to true Chitrapaksha in the Lahiri family.

Official sources

  1. CNWU16/vedic-astro-skills on GitHub
  2. Issues
  3. License: AGPL-3.0
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/cnwu16-vedic-astro-skills.svg)](https://hysenlabs.com/projects/cnwu16-vedic-astro-skills)

Was this useful?