Not in the top 1,000 by GitHub stars

aryaminus/astro

Astrology MCP server & Agent Skill — birth charts, transits, synastry across Western, Vedic/Jyotish & Chinese BaZi. Deterministic zero-dependency Python engine. 18 MCP tools, 31 REST endpoints, ChatGPT Action. Free & self-hostable.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/astrology/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 82df4c1c285c

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 82df4c1c285cb470625373a716bab86c343e4b6e

git clone --filter=blob:none --no-checkout https://github.com/aryaminus/astro.git .hotskills/aryaminus-astro && git -C .hotskills/aryaminus-astro checkout --detach 82df4c1c285cb470625373a716bab86c343e4b6e # Copy each selected skill directory from .hotskills/aryaminus-astro into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/aryaminus/astro.git .hotskills/aryaminus-astro && git -C .hotskills/aryaminus-astro checkout --detach 82df4c1c285cb470625373a716bab86c343e4b6e # Copy each selected skill directory from .hotskills/aryaminus-astro into .agents/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/aryaminus/astro.git .hotskills/aryaminus-astro && git -C .hotskills/aryaminus-astro checkout --detach 82df4c1c285cb470625373a716bab86c343e4b6e # Copy each selected skill directory from .hotskills/aryaminus-astro into .cursor/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/aryaminus/astro.git .hotskills/aryaminus-astro && git -C .hotskills/aryaminus-astro checkout --detach 82df4c1c285cb470625373a716bab86c343e4b6e # Copy each selected skill directory from .hotskills/aryaminus-astro into .gemini/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/aryaminus/astro.git .hotskills/aryaminus-astro && git -C .hotskills/aryaminus-astro checkout --detach 82df4c1c285cb470625373a716bab86c343e4b6e # Copy each selected skill directory from .hotskills/aryaminus-astro into .github/skills/<skill-name>/
14GitHub stars
2stars in 7 days
1skill in this repository
0commits in 30 days

Heat

4.0
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 202614

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

astrology

When your agent uses it

Trustworthy multi-tradition astrology. Casts mathematically real charts (Western tropical, Vedic/Jyotish sidereal, Chinese BaZi) from birth data via a deterministic ephemeris engine — never guessed positions — then interprets them with grounded classical rulesets and counsels like a real astrologer. Use for horoscopes, natal/birth-chart readings, kundli, zodiac signs, nakshatras, compatibility/synastry, daily & yearly transits, vimshottari dasha, four pillars of destiny, solar/lunar returns, navamsa/D9, panchang, moon phases, numerology, aspect patterns (Grand Trine, Yod, T-Square), Part of Fortune, Vertex, and "what do the stars say" questions about love, career, money, timing, health, or life purpose.

What it loads into context

Frontmatter

616 tokens

Always available to the agent

SKILL.md

5,195 tokens

When the skill is activated

Reference documents

30,075 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. The non-negotiable workflow
  2. Trust discipline — the anti-Barnum rules
  3. Output style
  4. If the engine errors

Scripts executed separately

  • __init__.py
  • scripts/__init__.py
  • scripts/api.py
  • scripts/astro_engine.py
  • scripts/build-skill.sh
  • scripts/mcp_server.py

Files

  • ../../.claude-plugin/marketplace.jsonasset643 bytes
  • ../../.claude-plugin/plugin.jsonasset516 bytes
  • README.mddoc4,105 bytes
  • SKILL.mdcore20,084 bytes
  • SKILL.mdcore20,084 bytes
  • SKILL.mdcore20,084 bytes
  • SKILL.mdcore20,084 bytes
  • __init__.pyruns0 bytes
  • assets/profile-template.mddoc1,954 bytes
  • references/bazi.mddoc5,531 bytes
  • references/consultation.mddoc13,716 bytes
  • references/health.mddoc9,736 bytes
  • references/specialty-systems.mddoc37,917 bytes
  • references/synastry-and-timing.mddoc9,840 bytes
  • references/tibetan.mddoc6,782 bytes
  • references/vedic.mddoc17,543 bytes
  • references/western.mddoc11,894 bytes
  • scripts/__init__.pyruns0 bytes
  • scripts/api.pyruns35,676 bytes
  • scripts/astro_engine.pyruns166,015 bytes
  • scripts/build-skill.shruns935 bytes
  • scripts/mcp_server.pyruns19,785 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • astrology

Repository facts

License
No license detected
Created
Jun 7, 2026
Last pushed
Jun 8, 2026
Forks
5
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • skills/astrology/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/astrology/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/astrology/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 73 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "aryaminus",     "url": "https://github.com/aryaminus"
  • Network accessline 4
    "name": "aryaminus",     "url": "https://github.com/aryaminus"   },
  • Network accessline 5
    "url": "https://github.com/aryaminus"
  • Network accessline 18
    "source": "./",       "category": "lifestyle",       "homepage": "https://github.com/aryaminus/astro"
  • Network accessline 19
    "category": "lifestyle",       "homepage": "https://github.com/aryaminus/astro"     }
  • Network accessline 20
    "homepage": "https://github.com/aryaminus/astro"

.claude-plugin/plugin.json

  • Network accessline 6
    "name": "aryaminus"   },   "homepage": "https://github.com/aryaminus/astro",
  • Network accessline 7
    },   "homepage": "https://github.com/aryaminus/astro",   "repository": "https://github.com/aryaminus/astro",
  • Network accessline 8
    "homepage": "https://github.com/aryaminus/astro",
  • Network accessline 9
    "repository": "https://github.com/aryaminus/astro",

skills/astrology/SKILL.md

  • Broad permissionsline 1
    Bash(python3 *)
  • Network accessline 101
    POST https://astro-api-a2rc.onrender.com/chart/natal
  • Network accessline 157
    Read the chart through the **reference rulesets**, not from vibes. Use the `get_astrology_reference(system)` tool (if available via MCP) or read the markdown files directly from `references/` in the skill directory. For REST-only hosts, loa

skills/astrology/__init__.py

  • Executable scriptline 1
    Executable file

skills/astrology/scripts/__init__.py

  • Executable scriptline 1
    Executable file

skills/astrology/scripts/api.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 179
    [Credential-related source omitted]
  • Access to secretsline 309
    [Credential-related source omitted]
  • Access to secretsline 323
    [Credential-related source omitted]
  • Access to secretsline 367
    [Credential-related source omitted]
  • Access to secretsline 371
    [Credential-related source omitted]
  • Access to secretsline 380
    [Credential-related source omitted]
  • Access to secretsline 389
    [Credential-related source omitted]
  • Access to secretsline 398
    [Credential-related source omitted]
  • Access to secretsline 407
    [Credential-related source omitted]
  • Access to secretsline 416
    [Credential-related source omitted]
  • Access to secretsline 425
    [Credential-related source omitted]
  • Access to secretsline 434
    [Credential-related source omitted]
  • Access to secretsline 443
    [Credential-related source omitted]
  • Access to secretsline 452
    [Credential-related source omitted]
  • Access to secretsline 462
    [Credential-related source omitted]
  • Access to secretsline 472
    [Credential-related source omitted]
  • Access to secretsline 481
    [Credential-related source omitted]
  • Access to secretsline 490
    [Credential-related source omitted]
  • Access to secretsline 499
    [Credential-related source omitted]
  • Access to secretsline 508
    [Credential-related source omitted]
  • Access to secretsline 518
    [Credential-related source omitted]
  • Access to secretsline 527
    [Credential-related source omitted]
  • Access to secretsline 536
    [Credential-related source omitted]
  • Access to secretsline 548
    [Credential-related source omitted]
  • Access to secretsline 565
    [Credential-related source omitted]
  • Access to secretsline 582
    [Credential-related source omitted]
  • Access to secretsline 602
    [Credential-related source omitted]
  • Network accessline 608
    import urllib.request, json as j, urllib.parse     query = urllib.parse.quote(city)     url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"
  • Network accessline 609
    query = urllib.parse.quote(city)     url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"     try:
  • Network accessline 610
    url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"     try:         req = urllib.request.Request(url, headers={'User-Agent': 'Astro-API'})
  • Network accessline 611
    try:         req = urllib.request.Request(url, headers={'User-Agent': 'Astro-API'})         with urllib.request.urlopen(req, timeout=5) as resp:
  • Network accessline 612
    req = urllib.request.Request(url, headers={'User-Agent': 'Astro-API'})
  • Network accessline 613
    with urllib.request.urlopen(req, timeout=5) as resp:
  • Access to secretsline 628
    [Credential-related source omitted]
  • Access to secretsline 718
    [Credential-related source omitted]
  • Access to secretsline 788
    [Credential-related source omitted]

skills/astrology/scripts/astro_engine.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/astrology/scripts/build-skill.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 14
    rm -rf "$OUTDIR"
  • Dangerous shell operationline 17
    find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true

skills/astrology/scripts/mcp_server.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 183
    import urllib.request, json, urllib.parse     query = urllib.parse.quote(city_name)     url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"
  • Network accessline 184
    query = urllib.parse.quote(city_name)     url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"     try:
  • Network accessline 185
    url = f"https://geocoding-api.open-meteo.com/v1/search?name={query}&count=1&format=json"     try:         req = urllib.request.Request(url, headers={'User-Agent': 'Astro-MCP'})
  • Network accessline 186
    try:         req = urllib.request.Request(url, headers={'User-Agent': 'Astro-MCP'})         with urllib.request.urlopen(req) as response:
  • Network accessline 187
    req = urllib.request.Request(url, headers={'User-Agent': 'Astro-MCP'})
  • Network accessline 188
    with urllib.request.urlopen(req) as response:
  • Access to secretsline 480
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
Signal confidence: 63 facts

and 13 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorNativePath .cursorrules.cursor/skills/<skill-name>/
Gemini CLINativeManifest gemini-extension.json.gemini/skills/<skill-name>/
GitHub CopilotNativeManifest .github/copilot-instructions.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/astrology/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.