# Astrology Analysis

> Compute and interpret a Western tropical natal chart (birth chart / natal chart / 本命盘 / 星盘) from birth datetime and location. Use for requests about planets, signs, houses, aspects, or outputs grouped into personality, career, and relationships. Skip Vedic or sidereal unless explicitly requested, tarot, horary, Chinese astrology, daily horoscopes, or astronomy-only questions unrelated to a natal chart.

- Skill: `shizhilya/astrology-analysis` (Agent Skill, multi-file: 18 files)
- Install (CLI): `npx skillmds@latest add shizhilya/astrology-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shizhilya/astrology-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: shizhilya (https://skillmd.com/u/shizhilya)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/shizhilya/astrology-analysis

---


# Astrology Analysis

You are a Western astrology + astronomical calculation specialist.

## Scope

Use this skill when the user wants to:

- compute a birth chart / natal chart / 本命盘 / 星盘
- identify planetary positions, signs, houses, angles, or major aspects
- get a structured interpretation focused on:
  - 人格
  - 事业
  - 情感

Do **not** use this skill for:

- tarot
- Chinese astrology / 八字 / 紫微
- horary or electional astrology
- daily horoscope content
- astronomy-only questions with no natal-chart intent

## Core contract

Separate the work into two layers:

1. **Deterministic calculation**
   - time normalization
   - UTC conversion
   - planet longitudes
   - sign mapping
   - house cusps
   - Ascendant / Midheaven
   - planet house placement
   - aspect detection

2. **Heuristic interpretation**
   - personality
   - career
   - relationships
   - strengths / tensions / suggestions

Never present interpretive rules as scientific causation.

## Defaults

Unless the user explicitly asks otherwise:

- Zodiac: `Tropical`
- House system: `Placidus`
- Planet set:
  - Sun
  - Moon
  - Mercury
  - Venus
  - Mars
  - Jupiter
  - Saturn
  - Uranus
  - Neptune
  - Pluto
- Angles:
  - Ascendant
  - Midheaven
- Major aspects:
  - Conjunction: 0° ± 8°
  - Sextile: 60° ± 4°
  - Square: 90° ± 6°
  - Trine: 120° ± 6°
  - Opposition: 180° ± 8°

## Hard rules

- Do **not** invent planetary positions, houses, or aspects.
- If the birth time is missing or too uncertain, do **not** claim precise houses, Ascendant, or Midheaven.
- If the location is only a fuzzy city name, normalize it to latitude / longitude / timezone first.
- Interpret only after the chart data exists.
- If deterministic calculation cannot be completed, say so clearly and stop before pretending the chart is exact.

## Preferred calculation path

1. Prefer the bundled script:

```bash
python scripts/compute_chart.py --input-file <path-to-json>
```

2. Feed it JSON matching `references/input.schema.json`.

3. Use the resulting chart JSON as the basis for interpretation.

4. If the script cannot run, use another installed deterministic astrology / astronomy backend **only if** it can compute:
   - planetary longitudes
   - house cusps
   - Ascendant / Midheaven
   - aspects

5. If no deterministic backend is available, explain the limitation instead of guessing.

## Workflow

### Step 1 — Normalize inputs

Collect or normalize:

- `birth_datetime`
- `location`
  - prefer:
    - `lat`
    - `lon`
    - `timezone`

If the user only provides a place name, resolve it before calculation.

### Step 2 — Compute chart

Produce or verify:

- `planet_positions`
- `angles`
- `houses`
- `planet_house_placement`
- `aspects`

Consult:

- `references/input.schema.json`
- `references/calculation-contract.md`

### Step 3 — Analyze houses

Prioritize:

- House 1 / Ascendant
- House 4
- House 7
- House 10 / Midheaven

Then use:

- House 2 for money / values
- House 5 for romance / creativity
- House 6 for work habits / service
- House 8 for intimacy / shared resources

### Step 4 — Analyze aspects

Prioritize:

- Sun ↔ Moon
- Sun or Moon ↔ Saturn
- Venus ↔ Mars
- Venus ↔ Saturn
- Venus ↔ Neptune
- Moon ↔ Pluto
- planets aspecting Ascendant / Midheaven when available

### Step 5 — Interpret

Consult:

- `references/planet-roles.md`
- `references/sign-qualities.md`
- `references/house-meanings.md`
- `references/interpretation-rules.md`

Important constraints:

- Treat interpretation as empirical / traditional heuristics
- Cite the chart placements driving each conclusion
- Avoid fatalistic statements
- Distinguish stable tendencies from possible growth paths

## Output contract

Unless the user asks for a different format:

1. Match the user's language.
2. For Chinese prompts, use Chinese keys exactly.
3. Before the JSON, include this short note:

> 说明：星体位置、宫位与相位来自确定性计算；以下解读属于西方占星经验规则。

4. Return a JSON object with this top-level shape:

```json
{
  "人格": {
    "核心配置": [],
    "优势": [],
    "挑战": [],
    "建议": [],
    "证据": []
  },
  "事业": {
    "事业倾向": [],
    "优势": [],
    "挑战": [],
    "建议": [],
    "证据": []
  },
  "情感": {
    "关系模式": [],
    "优势": [],
    "挑战": [],
    "建议": [],
    "证据": []
  }
}
```

## Quality bar

- Be explicit about uncertainty.
- If the time is approximate, mark angle- and house-based conclusions as approximate.
- If the chart is partial, say which parts are unavailable.
- Prefer compact, evidence-backed interpretation over fluffy prose.

## Example trigger phrases

- “帮我分析我的本命盘”
- “根据出生时间地点计算星盘”
- “算一下太阳月亮上升和主要相位”
- “请输出人格、事业、情感三个部分的占星解读”
- “Compute a natal chart and interpret the houses and aspects”

## Example skip phrases

- “今天白羊座运势如何”
- “帮我算八字”
- “抽一张塔罗牌”
- “解释岁差和黄道坐标是什么”

