Agent skill

Vedic Birth Chart Calculator

by CNWU16 in CNWU16/vedic-astro-skills

Calculates a full Vedic (Jyotish) natal chart from a birth date, exact time and city and writes it to a structured_data.md file for later analysis.

AGPL-3.0Auto-check passedData & Analytics

SKILL.md written in Chinese; this summary is our English description.

Install Vedic Birth Chart Calculator

skills CLI
$ npx skills add CNWU16/vedic-astro-skills --skill vedic-calculator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CNWU16/vedic-astro-skills vedic-calculator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CNWU16/vedic-astro-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vedic-calculator .claude/skills/vedic-calculator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vedic-calculator
GitHub stars
947
Token cost
~3.6k tokens
SKILL.md length
492 words
Files
19 (incl. scripts)
Skills in repo
8
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Calculates a full Vedic (Jyotish) natal chart from a birth date, exact time and city and writes it to a structured_data.md file for later analysis.

  • Works in 6 steps: 收集出生信息 → AI转换地理坐标 → 运行引擎 → …
  • Casting a Vedic natal chart from a birth date, time and place
  • SKILL.md covers Language contract / 语言契约, 前置条件, 使用流程 and engine 返回数据结构, plus 3 more sections
  • Runs Python scripts from its folder; calls python and pip

What it does

The agent collects the birth date, a 24-hour birth time and the birthplace, asks whether the time given is the wall-clock reading when daylight saving was in force, converts the city to coordinates itself, and runs the bundled Python scripts. These are built on the pysweph astronomy engine and PyJHora and cover dashas, divisional charts, ashtakavarga, shadbala and more, with a formatter producing the structured_data.md output.

Setup matters: it needs Python 3.8 to 3.13 (3.14 is not supported yet) with pysweph, PyJHora and pytz, and the instructions say not to run pip install -r requirements.txt directly because PyJHora leaves out its dependencies and the pip package lacks the .se1 ephemeris files. Use setup_env.py to build the environment and run check_env.py on first use on a new machine. The skill replies in the user's language, has a separate Japanese terminology file, and its output is meant to feed the vedic-reader and vedic-core skills.

When your agent uses it

  • Casting a Vedic natal chart from a birth date, time and place
  • Generating the chart file that vedic-reader needs before it can analyze anything
  • Computing dasha periods or divisional charts for a birth chart
  • Requests in Chinese or Japanese asking to calculate a birth chart

Example prompts

  • “Calculate my Vedic chart. I was born in Pune at a quarter past six in the morning on the first of May.”
  • “Generate a chart file for vedic-reader from these birth details.”
  • “Which dasha am I in right now? Build the chart from my birth data first.”

Requirements

  • Python 3.8 to 3.13 (3.14 is not supported)
  • pysweph, PyJHora and pytz, installed with setup_env.py

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. 收集出生信息
  2. AI转换地理坐标
  3. 运行引擎
  4. 校验输出
  5. 5: 三级运渐进读取(不改canonical数据)
  6. 模式选择

What it can do on your machine

Read from SKILL.md and the folder at commit c1a94c3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 15 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vedic Birth Chart Calculator loads about 3.6k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 492 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from CNWU16/vedic-astro-skills at commit c1a94c3, republished under its AGPL-3.0 licence (© CNWU16). 492 words, ~3,606 tokens.

Download SKILL.mdSave it as .claude/skills/vedic-calculator/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.
name
vedic-calculator
description
Calculate a complete Vedic/Jyotish natal chart directly from birth date, exact time, and place, producing the canonical structured_data.md for downstream analysis. Use for requests such as 'calculate my Vedic chart', 'cast my birth chart', 'generate a chart from my birth details'; Chinese triggers including '直接排盘', '计算星盘', '快速排盘', and '算一下'; or Japanese triggers including '出生図を作って', 'ホロスコープを計算して', and 'ヴェーダ占星術で出生図を出して'. Also use when vedic-reader has birth details but no chart file. / 吠陀占星排盘计算引擎。

vedic-calculator: 吠陀占星排盘引擎

Language contract / 语言契约

  • Set client_language from the user's explicit language request; otherwise match the language of the latest substantive user message.
  • Use client_language for all chat replies, intake questions, confirmations, progress updates, user-visible warnings, reports, and Q&A. Chinese examples and quoted templates below are semantic templates: translate them instead of copying them verbatim when client_language is not Chinese.
  • Keep canonical filenames, CLI flags, JSON keys, structured_data.md schema headings, technical codes, and Sanskrit/English identifiers unchanged. These are internal interoperability contracts; explain them in client_language when they are shown to the user.
  • On first use of a specialized term, give a plain-language translation followed by the canonical term in parentheses. Never translate canonical identifiers inside calculations or evidence citations.
  • If the user changes language mid-run, preserve the existing data and artifact lineage; switch client-facing language from that point onward unless the user explicitly asks to regenerate earlier artifacts.
  • When client_language is Japanese, read resources/ja-calculator.md completely before the first Japanese client-facing message. Apply it only as a terminology, register, intake, and rendering layer; it never changes calculations, schemas, evidence, phases, or output requirements.

基于pysweph天文引擎 + PyJHora精确算法,直接从出生时间计算完整星盘数据。 输出格式完全兼容vedic-reader的structured_data.md,可直接交给vedic-core分析。

前置条件

  • Python 3.8 ~ 3.13(pysweph 为 C 扩展,3.14 暂不支持)
  • 依赖: pysweph, PyJHora==4.8.6, pytz

⚠️ 不要直接 pip install -r requirements.txt! PyJHora 未声明其运行时依赖,且 pip 包缺少 .se1 星历文件。 请使用 setup_env.py 自动安装(见下方)。

环境自动检测
运行前检查依赖是否可用(按优先级):

  1. 检查 <skill目录> 或工作目录下是否有已有 venv/:
     - <skill目录>/venv/
     - <工作目录>/vedic-calc-env/
     - <工作目录>/venv/
     找到 → 用其 Python 运行 → 尝试 import swisseph → 成功 → 直接使用

  2. 尝试当前 Python import swisseph:
     - 成功且 swe.version 不是 '0.0.0' → 直接使用
     - 失败或空壳 → 继续

  3. 自动创建 venv(运行 setup_env.py):
     <合适的Python> <skill目录>/scripts/setup_env.py
     脚本会自动:检测 Python 版本 → 创建 venv → 按正确顺序安装 → 验证 SAV=337

⚠️ <skill目录> = vedic-calculator skill 的安装路径,AI 根据实际环境自动填写。 ⚠️ 如果系统默认 Python 是 3.14,setup_env.py 会自动查找 3.12/3.13 来创建 venv。

⚠️ 首次使用必须先跑环境诊断
在新机器/新环境首次使用 vedic-calculator 前,必须先运行:

  python <skill目录>/scripts/check_env.py

该脚本会自动检查:
  ✅ venv 位置和 Python 版本
  ✅ 3个核心依赖(pysweph/PyJHora/pytz)
  ✅ swisseph 空壳检测
  ✅ 星历表文件
  ✅ 最小计算测试(SAV=337)

如果输出 🎉 → 直接使用它报告的 Python 路径
如果输出 ⚠️ → 按提示运行 setup_env.py 修复

注意:check_env.py 本身可以用任何 Python 版本运行(包括3.14),
它会自动找到正确的 venv Python 来做依赖检查。

使用流程

Step 1: 收集出生信息

向用户收集:

- 出生日期 (YYYY-MM-DD)
- 出生时间 (HH:MM,24小时制)
- 出生地点 (城市名)
- 性别
- 感情状态(可选)
- 时间精度(精确到分钟 / ±15分钟 / ±1小时 / 不确定)
- 时间来源(出生证 / 家人记忆 / 大概回忆 / 未追问)

⚠️ 夏令时确认(出生日期落在当地夏令时期间时必做,如中国大陆 1986-1991 每年4月中~9月中):

向用户输出一句确认(默认=墙上钟,绝大多数记录是当时钟表显示时间):
"您出生时当地正实行夏令时。您提供的时间是当时钟表显示的时间吗?(通常是,直接回'是'即可)
 若家里记录的是未拨快的'标准时/北京时间',请说明。"
→ 墙上钟(默认)→ 正常排盘(引擎 pytz 自动按夏令时换算 UTC,正确)
→ 用户声明标准时 → 用固定时区排盘(如中国用 'Etc/GMT-8' 替代 'Asia/Shanghai'——
   注意 Etc 时区符号反转,GMT-8 即 UTC+8),并在备注记录"用户声明标准时"
排盘后 structured_data 元信息会自动带"夏令时"标注行,供用户核对。
Step 2: AI转换地理坐标

根据用户提供的城市名,AI直接填写:

  • 纬度 (lat)
  • 经度 (lon)
  • 时区字符串 (tz_str)

常用参考:

北京:     39.9042, 116.4074, "Asia/Shanghai"
上海:     31.2304, 121.4737, "Asia/Shanghai"
广州:     23.1291, 113.2644, "Asia/Shanghai"
成都:     30.5728, 104.0668, "Asia/Shanghai"
台北:     25.0330, 121.5654, "Asia/Taipei"
香港:     22.3193, 114.1694, "Asia/Hong_Kong"
新德里:   28.6139, 77.2090,  "Asia/Kolkata"
孟买:     19.0760, 72.8777,  "Asia/Kolkata"

⚠️ 中国全境使用 "Asia/Shanghai" (UTC+8) ⚠️ 印度全境使用 "Asia/Kolkata" (UTC+5:30)

Step 3: 运行引擎

在工作目录下创建计算脚本并执行:

python
import sys, os

# ⚠️ 动态路径:AI根据skill安装位置自动填写
# Claude Code 示例: ~/.claude/skills/vedic-calculator/scripts
# 其它客户端: 换成该客户端实际的 skill 安装目录下的同名路径
SCRIPTS_DIR = r"<vedic-calculator skill 的 scripts 目录绝对路径>"
sys.path.insert(0, SCRIPTS_DIR)

from engine import calculate_full_chart
from transit import calc_transit
from formatter import format_structured_data

# 计算本命盘
chart = calculate_full_chart(
    year=YYYY, month=MM, day=DD, 
    hour=HH, minute=MM,
    lat=LAT, lon=LON, 
    tz_str="TIMEZONE",
    # 按“有效精度”传入:出生证分钟记录至少审计±1;家人明确记忆通常5;
    # ±15分钟报时传15。它审计输入稳定性,不改变报时本身。
    uncertainty_minutes=1
)

# 计算当前过运
transit = calc_transit(
    chart['lagna']['sign_idx'],
    chart['planets']['Moon']['sign_idx'],
    "TIMEZONE"
)

# 元信息
meta = {
    'dob': 'YYYY-MM-DD',
    'time': 'HH:MM',
    'place': '城市名',
    'lat': LAT, 'lon': LON,
    'time_precision': '精确到分钟',
    'time_source': '未追问'
}

# 用户信息
user_info = {
    'gender': '男/女',
    'relationship': '单身/恋爱中/已婚'
}

# 生成structured_data.md
md = format_structured_data(chart, transit, meta, user_info)
with open(r"WORKDIR\structured_data.md", 'w', encoding='utf-8') as f:
    f.write(md)

# ⚠️ 正确的 SAV 验证方式(不要自己猜 key!)
SIGNS = ['Aries','Taurus','Gemini','Cancer','Leo','Virgo','Libra','Scorpio','Sagittarius','Capricorn','Aquarius','Pisces']
sav_total = sum(chart['sav'].get(s, 0) for s in SIGNS)
print(f"✅ SAV total: {sav_total}")
assert sav_total == 337, f"SAV FAILED: {sav_total} != 337"

执行命令(AI 根据环境自动选择 Python):

# 优先级:skill目录下的venv → 系统Python
# Windows:  <skill目录>\venv\Scripts\python.exe SCRIPT_PATH
# Linux/Mac: <skill目录>/venv/bin/python SCRIPT_PATH
# 都没有venv: python SCRIPT_PATH(需已全局安装依赖)

⚠️ 禁止自己手写 print 来读取 chart 数据! 必须用 formatter.py 输出 structured_data.md。 chart 的数据结构见下方「engine 返回数据结构」。

Step 4: 校验输出

检查生成的structured_data.md:

  1. SAV总计 = 337 ✅
  2. 行星完整性 = 10颗 ✅
  3. Ra-Ke差180° ✅
  4. Lagna星座是否合理
  5. Vimsottari = 9段MD、81段AD、729段PD,且每层 [start,end) 无缝连续 ✅
  6. 分盘边界审计:读取分盘可信度声明,确认D1/D9/D10/D4/D5在有效精度 区间内是“稳定”还是“边界敏感”。禁止因“出生证”或“直接计算”自动把全部 分盘写成可信;二者分别表示记录来源和数学可复现性,不表示输入扰动下稳定。

分盘消费硬约束:

  • ✅ 审计区间内稳定:对应分盘可按当前Lagna正常使用;
  • ⚠️ 边界敏感:保留给定时刻的计算表,但分盘宫位、内部宫主和所有下游形态 结论必须条件化或降级;
  • 旧structured_data缺少边界审计:标“未验证”,不得补写成高可信;
  • 出生证未写明记录的是啼哭、分娩、断脐还是事后录入时,时刻语义仍未知。

时间分辨率硬约束:

  • 只读MD时,只输出背景趋势;
  • 读到MD×AD时,最多输出阶段窗口;
  • 用户要求月份或窄于AD的窗口时,必须读取MD×AD×PD;
  • PD缺失或校验失败时停止月级判定,禁止用AD或365.25天近似制造月级精度。
Show full SKILL.md (188 more words)Show less
Step 4.5: 三级运渐进读取(不改canonical数据)

Calculator正常排盘仍必须一次性计算、校验并写入完整9 MD + 81 AD + 729 PD。 渐进读取优化的是下游模型上下文,不是删数据、少计算或改时间线。

下游reader/rectifier/core/core-pro/QA一律按三层消费:

  1. MD背景层:先定人生大阶段;
  2. AD阶段层:再定领域候选与事件阶段;
  3. PD微触发层:只在用户要求月/日、实际输出窄于完整AD、 或相邻AD/PD接力会改变结论时读取。

禁止默认把structured_data.md中729行PD整表送入模型上下文。使用确定性工具:

bash
# 默认读盘:输出全部非PD数据与MD/AD,折叠729行PD
python <calculator>/scripts/dasha_query.py --file structured_data.md --overview

# 完整性校验:只输出校验结果,不展开PD
python <calculator>/scripts/dasha_query.py --file structured_data.md --check

# 月级下钻:只返回命中的PD与相邻上下文
python <calculator>/scripts/dasha_query.py --file structured_data.md --month 2023-06 --context 1

# 日级或自定义[start,end)窗口
python <calculator>/scripts/dasha_query.py --file structured_data.md --date 2023-06-15 --context 1
python <calculator>/scripts/dasha_query.py --file structured_data.md --start 2023-05-01 --end 2023-07-01 --context 1

候选比较时,先用同一方法完成所有候选的MD/AD矩阵,锁定全部仍需PD分辨的候选后再统一下钻。 禁止只给当前最喜欢的候选读PD,也禁止通读729行后反向挑一个最像答案的窗口。

Step 5: 模式选择

structured_data.md 生成后,向用户输出:

✅ 排盘完成!所有数据已生成(行星/分盘/SAV/Dasha大运+小运+三级运/宫主表/尊贵度/过运…)

📊 Shadbala 精度说明:
   structured_data以calc为主数据源。
   Shadbala始终先写入calc基准值。如没有JHora PDF,直接采用calc。
   如有同一出生时间生成的JHora PDF,则逐行对照并展示PDF值;
   二者不一致时会明确提示"当前采用PDF"。其余PDF数据只用于交叉验证。

下一步:
  a) 直接进入验前事(推荐)
  b) 发送 JHora PDF 补充 Shadbala

排盘完成后不要把小火人资料导出插入上述正常 a/b 流程。先让用户按上面的流程继续, 只在消息最后补一句可选提示:“如果想把这张盘带到小火人里使用,可以再说‘整理一段可复制给小火人的资料’。” 用户明确提出“小火人资料”“可复制资料”“关系资料”或类似请求时,才进入导出分支;普通排盘用户不自动接收额外长资料。

  • 用户选 a) 或说"直接分析"/"开始" → 触发 vedic-reader(精简模式:跳过提取,直接读 structured_data → 验前事)

  • 用户发送 PDF → 核对出生信息一致性 → 从PDF文本层提取有效Shadbala → 与calc Shadbala逐行对照 → PDF存在的行展示PDF值,差异行标注并提示用户 → PDF缺失行保留calc → 其余PDF数据仅交叉验证 → 再触发reader验前事

  • 用户明确请求小火人资料 → 保留已生成的 canonical structured_data.md 不变,运行 scripts/make_xiaohuo_person_card.py structured_data.md,把 stdout 返回的一段 xiaohuo-person-v1 纯文字直接发给用户;不要生成图片,不要求用户打开或理解文件, 也不要把资料卡当作新的排盘结果。双人使用时,两个人分别排盘、分别生成一段个人资料, 再在双人对话中标为 A/B 粘贴。导出包含明确的 Lagna、当前 MD/AD/PD 和带日期的 慢行星过运快照;导出器不调用星历,也不把旧快照改成今天。若用户要求真实当日过运且 源文件日期已过期,必须重新运行完整 Calc 后再导出,不得只重跑导出器或手改日期。

engine 返回数据结构

⚠️ 必读! 不要猜 key 名。以下是 calculate_full_chart() 返回的 dict 结构。

python
chart = {
    # 基础天文
    'ayanamsa': 23.8982,           # float, True Chitra ayanamsa 度数(约23.9°,与Lahiri差<1′)
    'lagna': {
        'sign': 'Cancer',          # str, 英文星座名
        'sign_idx': 3,             # int, 0-indexed (Aries=0)
        'degree': 13.61,           # float, 绝对度数 (星座内)
        'deg_str': "13°36'",       # str, 格式化度分
        'longitude': 103.61,       # float, 黄道经度
        'nakshatra': {'name': 'Pushya', 'pada': 4, 'lord': 'Saturn'}
    },
    'planets': {
        'Sun': {
            'sign': 'Scorpio', 'sign_idx': 7,
            'degree': 25.41, 'deg_str': "25°24'",
            'longitude': 235.41,
            'house': 5,            # int, 1-indexed 从 Lagna 数
            'retrograde': False,
            'nakshatra': {'name': 'Jyeshtha', 'pada': 3, 'lord': 'Mercury'}
        },
        # ... Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu 同结构
    },

    # SAV — ⚠️ key 是英文星座名,不是 'by_sign'!
    'sav': {
        'Aries': 36, 'Taurus': 34, 'Gemini': 22, 'Cancer': 28,
        'Leo': 34, 'Virgo': 29, 'Libra': 29, 'Scorpio': 25,
        'Sagittarius': 32, 'Capricorn': 20, 'Aquarius': 26, 'Pisces': 22
    },
    'sav_by_house': {
        1: {'sign': 'Cancer', 'value': 28},  # 按宫位编号
        # ... 2-12 同结构
    },

    # BAV
    'bav': {
        'Sun': {'Aries': 6, 'Taurus': 5, ...},  # 12星座
        # ... Moon, Mars, Mercury, Jupiter, Venus, Saturn
    },

    # Shadbala — ⚠️ 用 strength_pct (不是 strength_ratio)!
    'shadbala': {
        'Sun': {
            'total_60ths': 288.6,  'total_rupas': 4.81,
            'sthana': 82.0, 'kaala': 55.0, 'dig': 6.7,
            'cheshta': 44.9, 'naisargika': 60.0, 'drik': 40.0,
            'strength_pct': 96.2,  # ⚠️ 百分比,直接用!
            'classification': '弱',
            'ishta_phala': 7.64,   # Ishta Phala
            'kashta_phala': 50.18  # Kashta Phala
        },
        # ... Moon, Mars, Mercury, Jupiter, Venus, Saturn 同结构
    },

    # Dasha
    'dashas': [
        {
            'planet': 'Jupiter', 'start': '1998-02', 'end': '2014-02',
            'years': 16, 'is_current': False,
            'antardashas': [
                {
                    'planet': 'Jupiter',
                    'start': '1998-02-11', 'end': '2000-04-01',
                    'start_time': '1998-02-11 12:34', 'end_time': '2000-04-01 08:20',
                    'is_current': False,
                    'pratyantardashas': [
                        {
                            'planet': 'Jupiter',
                            'start': '1998-02-11', 'end': '1998-05-26',
                            'start_time': '1998-02-11 12:34', 'end_time': '1998-05-26 04:15',
                            'is_current': False
                        },
                        # ... 每个AD共9个PD
                    ]
                },
                # ... 9个小运
            ]
        },
        # ... 共9段大运
    ],

    # 分盘 — (sign_name, sign_idx) tuple
    'd9':  {'Lagna': ('Scorpio', 7), 'Sun': ('Aquarius', 10), ...},
    'd10': {'Lagna': ('Cancer', 3),  'Sun': ('Pisces', 11), ...},
    'd4':  {'Lagna': ('Libra', 6),   'Sun': ('Leo', 4), ...},
    'd5':  {'Lagna': ('Pisces', 11), 'Sun': ('Scorpio', 7), ...},
    'vargottama': {'Sun': False, 'Moon': False, 'Rahu': True, ...},
    'divisional_charts': {'D2': ..., 'D3': ..., ...},  # 额外分盘

    # 预分析
    'karakas': {'7k': [...], '8k': [...], 'dk_7k': 'Saturn', 'dk_8k': 'Rahu', 'dk_note': '7K(主)=Saturn, 8K(参考)=Rahu'},
    'dignity': {'Sun': {'compound': 'great_friend', ...}, ...},
    'aspects': [{'p1':'Rahu','p2':'Ketu','type':'对冲(180°)','degree_diff':'180.0'}, ...],
    'house_lords': {1: {'lord':'Moon','domain':'自我','lord_house':8}, ...},
    'special_points': {'AL': {'sign':'Virgo','house':3}, 'UL': {'sign':'Pisces','house':9}},
    'combustion': {},
    'moon_phase': {'waxing': True, 'sun_moon_diff': 88.6},
}

输出规格

输出的structured_data.md包含以下数据板块(完全匹配data_contract.md):

板块内容
元信息出生时间、地点、Ayanamsa、读盘方式
行星位置10颗行星+Lagna,星座/宫位/度数/逆行
Nakshatra全部行星的Nakshatra+Pada
Chara Karakas7K主表(KN Rao)+ 8K参考
Shadbala7颗行星的Rupas/百分比/排名/强弱/Ishta/Kashta
SAV原始值(按星座) + 宫位映射(按宫位)
BAV7颗行星×12星座矩阵
Vimsottari Dasha9段大运 + 81段Antardasha + 729段Pratyantardasha;当前MD/AD/PD
特殊点位AL(Arudha Lagna) + UL(Upapada Lagna)
Compound DignityPanchadha Maitri(旺/入庙/陷直接确定)
Graha Drishti吠陀行星相位(宫位照射:星→7th 等;西占 orb 相位表已废弃删除)
宫主表12宫完整
分盘D9/D10/D4/D5 + Vargottama + 报时不确定区间边界审计
校验12项自动校验
过运慢行星过运 + Sade Sati + 双过运

技术规格

  • Ayanamsa: True Chitrapaksha (TRUE_CITRA)(固定,不可更改;属Lahiri系,差<1′)
  • Node模式: Mean Node
  • 天文核心: pysweph (Swiss Ephemeris C binding)
  • SAV/BAV: PyJHora 原生 (ashtakavarga_pyjhora.py)
  • Dasha: PyJHora 原生 MD/AD/PD (dasha_pyjhora.py);区间统一按[start,end),禁止自行近似补三级运
  • Shadbala: PyJHora + 9项修正 (shadbala_pyjhora.py)
  • 分盘: PyJHora 原生 (divisional_pyjhora.py) — 15张 D1~D60
  • 分盘稳定性: 在调用方传入的uncertainty_minutes内逐分钟重算D1/D9/D10/D4/D5 Lagna;数学正确性与输入稳定性分别报告
  • Dignity: 自建(旺/入庙/陷前置判断);燃烧 orb / 方位强宫两表内联于 engine.py
  • Chara Karakas: 7K(KN Rao)+ 8K参考
  • 容错策略: fail-fast(缺依赖直接报错,不给错误结果)

与其他skill的关系

路径1(纯calc,推荐):
  用户给出生信息 → vedic-calculator → structured_data.md → vedic-reader(验前事) → vedic-core

路径2(PDF + calc主数据):
  用户给PDF → reader提取出生信息 → calculator生成canonical structured_data
  → PDF交叉验证(仅有效Shadbala可覆盖)→ reader(验前事) → core

路径3(兜底):
  用户材料无法提供完整出生信息 → reader提取模式(标注降级)→ reader(验前事) → core

所有路径输出的 structured_data.md 格式完全一致,core 无需区分数据来源。

© CNWU16, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 18 other files (scripts) in skills/vedic-calculator of CNWU16/vedic-astro-skills.

  • SKILL.md
  • requirements.txt
  • resources/ja-calculator.md
  • scripts/ashtakavarga_pyjhora.py
  • scripts/chara_dasha.py
  • scripts/check_env.py
  • scripts/dasha_pyjhora.py
  • scripts/dasha_query.py
  • scripts/divisional_pyjhora.py
  • scripts/engine.py
  • scripts/ephe/seas_18.se1
  • scripts/ephe/semo_18.se1
  • scripts/ephe/sepl_18.se1
  • scripts/extras_pyjhora.py
  • scripts/formatter.py
  • scripts/make_xiaohuo_person_card.py
  • scripts/setup_env.py
  • scripts/shadbala_pyjhora.py
  • … and 1 more

Open the folder on GitHubat commit c1a94c3

Compare with similar skills

Vedic Birth Chart Calculator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vedic Birth Chart Calculator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vedic Birth Chart Calculator this skillCNWU16/vedic-astro-skills947—~3.6kAutomated safety check: PassAGPL-3.0
Scikit LearnzLanqing/codex-claude-academic-skills4.7k16 repos~3.9kAutomated safety check: PassBSD-3-Clause
TimesFM Forecastinggoogle-research/timesfm34k—~4.7kAutomated safety check: PassApache-2.0
Excel and CSV Data Analysisbytedance/deer-flow84k4 repos~2.2kAutomated safety check: PassMIT
Firecrawl Page Scrape Integrationfirecrawl/firecrawl190k1 repos~944Automated safety check: PassISC
Firecrawl Interact Integrationfirecrawl/firecrawl190k1 repos~731Automated safety check: PassISC

Similar skills

  • Scikit Learn

    zLanqing/codex-claude-academic-skills

    Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.

    4.7k GitHub starsUsed in 16 repos~3.9k tokens
    Data & AnalyticsAuto-check passed
  • TimesFM Forecasting

    google-research/timesfm

    Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.

    34k GitHub stars~4.7k tokensUpdated 11 days ago
    Data & AnalyticsAuto-check passed
  • Excel and CSV Data Analysis

    bytedance/deer-flow

    Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.

    84k GitHub starsUsed in 4 repos~2.2k tokens
    Data & AnalyticsAuto-check passed
  • Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.

    190k GitHub starsUsed in 1 repo~944 tokens
    Data & AnalyticsAuto-check passed
  • Guides adding Firecrawl's /interact endpoint to product code for pages that need clicks, forms, pagination or logged-in flows beyond plain scraping.

    190k GitHub starsUsed in 1 repo~731 tokens
    Data & AnalyticsAuto-check passed
  • Statsmodels

    zLanqing/codex-claude-academic-skills

    Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.

    4.7k GitHub starsUsed in 15 repos~4.9k tokens
    Data & AnalyticsAuto-check passed

More from CNWU16/vedic-astro-skills

All 8 skills in this repo
  • Vedic Prashna Chart Caster

    CNWU16/vedic-astro-skills

    Casts and interprets a question-time Vedic horary chart for one concrete question, using the exact time and place it was asked.

    947 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Vedic Synastry Chart Reader

    CNWU16/vedic-astro-skills

    Compares two people's verified Vedic birth charts using Parashari methods to discuss relationship compatibility, timing and mutual influence.

    947 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Vedic Astrology Core Analysis Engine

    CNWU16/vedic-astro-skills

    Runs a standard Vedic (Jyotish) natal chart analysis from verified structured chart data: planet and divisional-chart audits, house diagnostics, ten life areas and a packaged report.

    947 GitHub stars~8.9k tokensUpdated yesterday
    Auto-check passed
  • Vedic Birth Time Rectifier

    CNWU16/vedic-astro-skills

    Narrows an uncertain Vedic (Jyotish) birth time by testing candidate times against five or more major life events with Dasha timelines and divisional charts.

    947 GitHub stars~7.6k tokensUpdated yesterday
    Auto-check passed
  • Vedic Astrology Career Analysis

    CNWU16/vedic-astro-skills

    Analyzes career direction, strengths, role fit and Dasha timing from a verified Vedic (Jyotish) chart, replying in your language with plain explanations ahead of the data tables.

    947 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Vedic Love and Relationship Timing

    CNWU16/vedic-astro-skills

    Produces relationship and love-timing readings from a verified Vedic chart, in the user's language, with plain-language interpretation ahead of chart data.

    947 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Vedic Birth Chart Calculator

What does Vedic Birth Chart Calculator do?

Calculates a full Vedic (Jyotish) natal chart from a birth date, exact time and city and writes it to a structured_data.md file for later analysis. The agent collects the birth date, a 24-hour birth time and the birthplace, asks whether the time given is the wall-clock reading when daylight saving was in force, converts the city to coordinates itself, and runs the bundled Python scripts.md output.

When should I use Vedic Birth Chart Calculator?

Vedic Birth Chart Calculator fits situations like: casting a Vedic natal chart from a birth date, time and place; generating the chart file that vedic-reader needs before it can analyze anything; computing dasha periods or divisional charts for a birth chart; requests in Chinese or Japanese asking to calculate a birth chart.

How do I install Vedic Birth Chart Calculator in Claude Code?

Run `npx skills add CNWU16/vedic-astro-skills --skill vedic-calculator -a claude-code`. Or copy the skill folder (skills/vedic-calculator in CNWU16/vedic-astro-skills) into .claude/skills/vedic-calculator in your project. Claude Code loads it when a task matches its description.

How do I install Vedic Birth Chart Calculator in Codex?

Run `npx skills add CNWU16/vedic-astro-skills --skill vedic-calculator -a codex`. Or copy the skill folder (skills/vedic-calculator in CNWU16/vedic-astro-skills) into .agents/skills/vedic-calculator in your project. Codex loads it when a task matches its description.

Can I use Vedic Birth Chart Calculator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CNWU16/vedic-astro-skills --skill vedic-calculator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vedic-calculator, .gemini/skills/vedic-calculator, .github/skills/vedic-calculator and .opencode/skills/vedic-calculator in your project.

What does Vedic Birth Chart Calculator need to run?

Going by SKILL.md and its folder, Vedic Birth Chart Calculator needs Python for the scripts in its folder and the command-line tools its instructions call (python and pip). Our summary lists: Python 3.8 to 3.13 (3.14 is not supported); pysweph, PyJHora and pytz, installed with setup_env.py.

Does Vedic Birth Chart Calculator access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Vedic Birth Chart Calculator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Vedic Birth Chart Calculator use?

Vedic Birth Chart Calculator is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vedic Birth Chart Calculator use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vedic Birth Chart Calculator?

Skills that share tags, products or a category with Vedic Birth Chart Calculator: Scikit Learn (zLanqing/codex-claude-academic-skills, 4.7k stars), TimesFM Forecasting (google-research/timesfm, 34k stars), Excel and CSV Data Analysis (bytedance/deer-flow, 84k stars) and Firecrawl Page Scrape Integration (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vedic Birth Chart Calculator?

CNWU16 (a GitHub user) maintains it in CNWU16/vedic-astro-skills, which has 947 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 10, 2026.

Source: CNWU16/vedic-astro-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.