How cnwu16/vedic-astro-skills works
1. What this repository is
This is not a single application; it is a multi-skill astrology toolkit packaged three ways for Antigravity, Claude Code, and Codex. The same domain logic is mirrored under antigravity/skills/, claude-code/skills/, and codex/skills/, with Codex also carrying agents/openai.yaml descriptors.
2. Top-level architecture
The system is organized around seven skills: vedic-calculator, vedic-reader, vedic-core, vedic-career, vedic-love, vedic-rectifier, and vedic-synastry. The first is the computational foundation; the others are analysis or correction layers built on its output.
3. Canonical data boundary
The key architectural contract is an intermediate artifact called structured_data.md. The calculator produces it, the reader can validate it, and all downstream analysis skills consume it. This makes the calculator the authoritative source for chart data.
4. Input ingestion and routing
User input can arrive as:
- birth details directly,
- a PDF/screenshot/text chart report,
- or two people’s charts for synastry.
The reader acts as the entry router: it extracts birth data when needed, or passes direct birth information to the calculator. If no usable input is present, it falls back to a guided prompt flow.
5. vedic-calculator subsystem
This is the local chart computation engine. It is Python-based and depends on:
- Swiss Ephemeris data (scripts/ephe/*.se1)
- PyJHora-derived logic for positions, dashas, divisional charts, ashtakavarga, and bhava calculations
- a Shadbala correction layer in shadbala_pyjhora.py
It is designed as fail-fast and uses setup_env.py to provision and verify the Python environment rather than relying on ad hoc package installation.
6. vedic-reader subsystem
The reader is the extraction + verification front end. It supports PDF/image/text-based chart intake, then cross-checks the extracted information against calculator output. The resources/ directory holds its validation rules and data contract, showing that the reader is a policy-driven parsing layer rather than a heavy computation layer.
7. vedic-core and report generation
vedic-core is the main interpretive analysis engine. It performs:
- planet-by-planet audit,
- D9 cross-checks,
- house diagnosis,
- and synthesized life-domain reporting.
Its resources/ folder contains the interpretive frameworks and QA rules, while scripts/report_builder.py suggests it can package analysis into a structured report output.
8. Specialized downstream analyses
vedic-career and vedic-love are domain-specific analyzers that reuse the same chart foundation but focus on different questions:
- career blueprinting over multiple chart layers,
- relationship timing and marriage-phase analysis.
vedic-rectifier is a separate correction pipeline that uses life events to infer birth time adjustments, and it has its own scan script plus a dedicated event-to-house mapping resource.
9. vedic-synastry as a separate two-chart boundary
vedic-synastry is architecturally distinct because it requires two structured chart inputs. It performs cross-chart relationship analysis using its own rulebooks and scripts:
- build_synastry_data.py
- validate_synastry_data.py
Its resources encode relationship frameworks, aspect policy, koota policy, and signal triage, which means the logic is rule-heavy and intentionally separated from single-person analysis.
10. Resources as domain policy, not code
The resources/ directories are an important boundary. They contain interpretation frameworks, validation rules, report rules, and house mappings. These files function like knowledge and policy packs that shape how the scripts interpret computed chart data.
11. Runtime and infrastructure
The repo is fundamentally local Python tooling, not a networked service. The README indicates support for Python 3.8–3.13 and no requirement for external APIs. The only bundled infrastructure-like dependency is the ephemeris data shipped inside the calculator skill.
12. Quality and control model
The system emphasizes validation over guesswork:
- environment checks before execution,
- numeric cross-validation,
- explicit rule-based analysis,
- and fail-fast behavior rather than fallback approximations.
For diagramming purposes, the main flow is: user input → reader/calculator → structured chart data → specialized analysis skills, with synastry as a separate two-input branch and rectifier as a correction loop.
Main entry points: data_contract.md Structured data · vedic-calculator Calculator · vedic-core Core analysis · vedic-reader Reader
Components 22
Canonical toolkit
Shared astrology skill architecture and data flow.
- Skill suite · Seven mirrored astrology skills organized around a shared chart-data contract.
- Calculator · Computes chart data and emits the canonical structured artifact.
antigravity/skills/vedic-calculator - Reader · Extracts or verifies birth data from reports and routes usable input onward.
antigravity/skills/vedic-reader - Core analysis · Performs chart interpretation, QA checks, and report synthesis.
antigravity/skills/vedic-core - Career · Career and vocation analysis over the shared chart foundation.
antigravity/skills/vedic-career - Love · Relationship and marriage-focused analysis over the shared chart foundation.
antigravity/skills/vedic-love - Rectifier · Uses life events to infer birth-time adjustments.
antigravity/skills/vedic-rectifier - Synastry · Performs relationship analysis from two structured charts.
antigravity/skills/vedic-synastry - Structured data · Intermediate chart artifact consumed by downstream analysis skills.
antigravity/skills/vedic-reader/resources/data_contract.md - Ephemeris · Bundled Swiss Ephemeris files used by the calculator.
antigravity/skills/vedic-calculator/scripts/ephe - Setup env · Provisions and verifies the calculator runtime environment.
antigravity/skills/vedic-calculator/scripts/setup_env.py - Shadbala · Shadbala-specific correction logic used by the calculator.
antigravity/skills/vedic-calculator/scripts/shadbala_pyjhora.py - Report builder · Packages core analysis into structured report output.
antigravity/skills/vedic-core/scripts/report_builder.py - Reader rules · Validation and chart-reading rules for intake and extraction.
antigravity/skills/vedic-reader/resources/validation_rules.md - Core rules · Interpretation frameworks, QA rules, house framework, and yogas.
antigravity/skills/vedic-core/resources/qa_rules.md - Synastry rules · Aspect, koota, triage, and relationship frameworks.
antigravity/skills/vedic-synastry/resources/interpretation-rubric.md - Event map · Event-to-house mapping used by the rectification pipeline.
antigravity/skills/vedic-rectifier/resources/event_house_map.md
Antigravity
Antigravity packaging of the skill set.
- Antigravity skills · Antigravity distribution of the shared skill set.
antigravity/skills
Claude Code
Claude Code packaging of the skill set.
- Claude skills · Claude Code distribution of the shared skill set.
claude-code/skills
Codex
Codex packaging of the skill set and agent descriptors.
- Codex skills · Codex distribution of the shared skill set and agent descriptors.
codex/skills - Agent YAML · Codex-specific OpenAI agent descriptors for selected skills.
codex/skills/vedic-core/agents/openai.yaml
Other components
- Repo · Multi-runtime astrology skill repository.
Connections 30
- Repo → Skill suite: contains · Repository contains the shared astrology skill architecture.
- Repo → Antigravity skills: packages · Antigravity distribution of the toolkit.
- Repo → Claude skills: packages · Claude Code distribution of the toolkit.
- Repo → Codex skills: packages · Codex distribution of the toolkit.
- Skill suite → Calculator: foundation · Chart computation is the authoritative source for downstream analysis.
- Skill suite → Reader: entry · Reader routes and validates user input before analysis.
- Skill suite → Core analysis: analysis · Core performs the primary interpretive pass.
- Skill suite → Career: specializes · Career analysis reuses the shared chart foundation.
- Skill suite → Love: specializes · Love analysis reuses the shared chart foundation.
- Skill suite → Rectifier: specializes · Rectifier infers time corrections from life events.
- Skill suite → Synastry: specializes · Synastry analyzes relationships using two chart inputs.
- Calculator → Structured data: emits · Calculator produces the canonical structured chart artifact.
- Reader → Structured data: validates · Reader checks extracted or provided chart data against the contract.
- Structured data → Core analysis: feeds · Core consumes the canonical chart artifact.
- Structured data → Career: feeds · Career analysis consumes the canonical chart artifact.
- Structured data → Love: feeds · Love analysis consumes the canonical chart artifact.
- Structured data → Rectifier: feeds · Rectifier consumes chart data plus event context.
- Structured data → Synastry: feeds · Synastry consumes structured charts for each person.
- Calculator → Ephemeris: depends on · Local ephemeris data underpins chart computation.
- Calculator → Setup env: bootstraps · Environment setup is part of the calculator execution model.
- Calculator → Shadbala: corrects · Shadbala logic refines strength calculations.
- Core analysis → Report builder: packages · Core can assemble structured report output.
- Reader → Reader rules: governs · Intake and extraction are policy-driven.
- Core analysis → Core rules: governs · Interpretation and QA are rule-driven.
- Synastry → Synastry rules: governs · Relationship analysis is driven by dedicated rulebooks.
- Rectifier → Event map: governs · Event-to-house mapping guides rectification logic.
- Codex skills → Agent YAML: extends · Codex mirrors include agent descriptors alongside skills.
- Antigravity skills → Skill suite: mirrors · Antigravity mirrors the canonical skill set.
- Claude skills → Skill suite: mirrors · Claude Code mirrors the canonical skill set.
- Codex skills → Skill suite: mirrors · Codex mirrors the canonical skill set.