Update to Astro Jyotish
Snapshot Oct 8, 2026 · 18:02 UTC · version 1.1.0
Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Payment or plan references changed
Instruction wording changed from “or `/astro-question`) or asks to connect a Hidden World account, ” to “`/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, ”. 37 additional added or edited lines are in the evidence.
Observed in published text. Live prices and checkout terms have not been verified by this change.
Product description
or `/astro-question`) or asks to connect a Hidden World account,
`/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program,
Skill instructions
or `/astro-question`) or asks to connect a Hidden World account, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience." - Parashara (`parashara`): traditional technic...
`/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of ...
Compare saved observations
Download comparison JSONFull technical diff · 2 changed fields
changed /description
"Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, or `/astro-question`) or asks to connect a Hidden World account, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience."
"Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, `/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience."
changed /skill_md_contents
"---\nname: astro-jyotish\ndescription: \"Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, or `/astro-question`) or asks to connect a Hidden World account, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n---\n\n# Astro Jyotish\n\nAstro Jyotish is a Hidden World Codex plugin by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n## Language Surface\n\nMarketplace metadata, plugin labels, command identifiers, and approved public link labels are English.\n\nChat responses must follow the user's requested language when the request is clear. Use Russian when the user asks in Russian or asks to switch to Russian. Use Ukrainian when the user asks in Ukrainian. Use English otherwise.\n\nService output language remains an explicit service choice: English (`en`), Russian (`ru`), or Ukrainian (`ua`). Do not infer paid service output language from the chat language.\n\nDo not change the chat response language merely because a chart place, page, browser URL, or source text is Ukrainian/Russian/English. The active chat language changes only from the user's explicit language request or the latest clear user message language.\n\nWhen describing the plugin, state: \"Astro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n\n## Strict Runtime Boundary\n\nAstro Jyotish uses deployed Hidden World production services. During plugin use, treat the remote Hidden World service as the authoritative external contract.\n\nDo not inspect or modify the user's project, Hidden World backend code, infrastructure, payment systems, model prompts, or queues while handling an Astro Jyotish command. Use only the capabilities declared by this plugin. On service failure, stop and report a user-facing failure without exposing implementation details.\n\n## User Commands\n\nThe installed command files expose these slash commands. The complete behavior contract is in this skill; do not inspect plugin source files or command files while handling a user command.\n\n### Literal Slash Command Routing\n\nAny user message containing a literal `/astro-*` command listed below is a plugin command, even when it is followed by ordinary language such as `на русском` or `in Ukrainian`.\n\nNever interpret a listed `/astro-*` command as a website path, local file path, React route, search query, or request to inspect the current project. Do not open a browser, inspect site routes, or report a 404 for a listed command. Apply the matching command contract immediately.\n\nFor presentation-only commands, the command text itself supplies the intent. Do not search for a similarly named webpage.\n\n- `/astro-help`: show the complete command menu and clickable help links.\n- `/astro-login`: connect a Hidden World account through Codex OAuth.\n- `/astro-status`: show user-facing account, chart, billing status, and active chart images.\n- `/astro-services`: list services, requirements, prices, and help links.\n- `/astro-chart-setup`: explain how saved charts work.\n- `/astro-create-chart`: create, calculate, save, and activate a Hidden World natal chart from birth data.\n- `/astro-charts`: list saved charts and show the active chart.\n- `/astro-chart-images`: show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n- `/astro-set-active-chart`: select which saved chart is active.\n- `/astro-contact`: send one confirmed support message from the connected account.\n- `/astro-natal`: run natal interpretation for the active saved chart.\n- `/astro-forecast`: run a forecast from the active natal chart.\n- `/astro-prashna`: answer a concrete question from its question chart.\n- `/astro-panchanga`: show Panchanga for a date and place.\n- `/astro-question`: ask the Kraine AI astrologer about the active saved chart.\n\n## User Choices\n\nSupported output languages are:\n\n- English (`en`)\n- Russian (`ru`)\n- Ukrainian (`ua`)\n\nSupported AI astrologers for natal interpretation, forecast, Prashna, and Panchanga are:\n\n- Parashara (`parashara`): traditional technical Jyotish reading.\n- Kraine (`kraine`): Volodymyr Kraine's synthesis by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n`/astro-question` is Kraine-only, but still requires the user-facing language choice.\n\nAccept natural-language aliases without asking again when the intent is clear:\n\n- English: `English`, `en`.\n- Russian: `Russian`, `ru`, `русский`, `русском`, `по-русски`.\n- Ukrainian: `Ukrainian`, `ua`, `uk`, `украинский`, `українська`, `українською`.\n- Parashara: `Parashara`, `parashara`, `Парашара`.\n- Kraine: `Kraine`, `kraine`, `Крейн`, `Владимир Крейн`, `Volodymyr Kraine`.\n\nBefore any paid service call, if the user did not explicitly provide the language, ask for it. If the service supports both Parashara and Kraine and the user did not explicitly provide the astrologer, ask for that too. Combine missing choices into one concise question. Do not silently default paid services to English or Parashara.\n\nBefore a paid service consumes stars, trial access, or a subscription request, show the exact current cost and entitlement returned by Hidden World and ask for confirmation of that exact service request. A prior confirmation remains valid only for the same request and the same displayed cost. The plugin never offers checkout, starts a subscription, sells credits, or promotes an upgrade.\n\nWhen showing help, service setup, or examples, make the language and astrologer choices visible in the user's chat language. Do not hide them behind service descriptions only.\n\n## Output Firewall\n\nInternal execution details are private and must never appear in operator-facing chat. This applies during success, progress, clarification, failure, and recovery.\n\nNever print or narrate:\n\n- tool names, backend method names, RPC names, request or response payloads;\n- MCP, JSON-RPC, Lambda, endpoint, environment-variable, token, PKCE, callback, job, queue, or implementation details;\n- internal field names, chart serialization, snapshot construction, file paths, source files, dependencies, stack traces, or raw backend errors;\n- reasoning about route selection, retries, fallback calculations, or debugging steps.\n\nDo not describe the internal execution chain before running a command. User-facing progress is limited to one short service status such as \"Preparing your Panchanga...\".\n\nFor presentation-only commands (`/astro-help`, `/astro-services`, and `/astro-chart-setup`), respond immediately with the requested content. Do not call tools, inspect files, or send progress commentary.\n\nTranslate internal failures into one concise message in the current chat language that says what the user can do next. Do not include raw error text when it exposes implementation details.\n\n## Deterministic Execution Rules\n\nOne user command maps to one service workflow. Never substitute another astrology service.\n\nFor every paid service:\n\n1. Check account connection and required user data.\n2. Resolve documented defaults for date, time, place, and active chart only.\n3. For paid services, require an explicit language choice. For services that support both Parashara and Kraine, require an explicit astrologer choice. If one or more required user inputs remain missing or ambiguous, ask exactly one concise clarification question containing all missing user inputs. Do not call the paid service yet.\n4. Show the server-provided cost or entitlement and obtain confirmation for this exact request.\n5. Run the selected Hidden World service once.\n6. If the service reports a queued result, wait for that same result using the supported job flow.\n7. On failure, stop. Do not retry with guessed payloads, switch tools, inspect project source, inspect or mutate backend infrastructure, install dependencies, calculate locally, use another astrology engine, or provide an invented fallback result.\n8. Report charges and balance only from authenticated Hidden World data. Never infer them.\n\nService boundaries:\n\n- Chart setup uses saved Hidden World charts. The plugin can create, calculate, save, and activate a natal chart from birth date, birth time, and birth place. If birth time is unknown, require the user to say that explicitly. It can also list saved charts and set one saved chart as active.\n- Natal interpretation uses the selected saved natal chart only. Ask the user to choose Parashara or Kraine unless already explicit. For Kraine, accept an optional focused house from 1 to 12.\n- Forecast uses the active saved natal chart as Chart 1 and the requested forecast moment as Chart 2. Ask the user to choose Parashara or Kraine unless already explicit. Default forecast moment is now; default place is the active chart place unless the user specifies another place.\n- Prashna uses the question chart only. The question text is required. Ask the user to choose Parashara or Kraine unless already explicit. Default question moment is now. Use the explicitly supplied current place, otherwise the connected profile's current place when available; if no current place is available, ask one clarification question. Never answer Prashna as a natal profile or generic forecast.\n- Panchanga uses the requested day and place only. Ask the user to choose Parashara or Kraine unless already explicit. Default date is today. Default place is the active chart place. If no place can be resolved, ask one clarification question. Do not add long-period dasha analysis unless the returned result explicitly contains it.\n- Kraine AI question uses the active saved chart and is available only when the authenticated Hidden World account has subscription access. It is Kraine-only, but ask for language unless already explicit. Do not run it as Prashna, forecast, or natal interpretation.\n\n## Account Connection\n\nHidden World account identity remains authoritative. Do not treat OpenAI, ChatGPT, or Codex login as the Hidden World account.\n\nFor `/astro-login`, resolve the plugin root from this file and execute `node <plugin-root>/scripts/login.js`.\n\nDo not initiate authentication through a static website URL. Do not construct authorization parameters manually. Never ask the operator to paste passwords, tokens, authorization codes, one-time codes, or payment secrets into chat.\n\nIf connection cannot start, stop and say in the current chat language that the Hidden World connection could not be started and the user should run `/astro-login` again.\n\nFor `/astro-status`, use the authenticated status capability. Report only user-facing connection, profile, active-chart, stars, subscription, and trial state. If the account is not connected, show `/astro-login` as the next action.\n\nStatus must include active chart images whenever an active chart is present. If the status capability cannot attach images directly in the current Codex task, also use the active chart image capability and render the images in the final answer.\n\nWhen rendering returned chart images in Codex, do not merely list image names and do not rely on hidden tool output. Codex local absolute image paths are the primary display surface. After the chart image capability returns, create a unique temporary directory under `/tmp`, save every returned PNG image block there, then show those files in the final answer with Markdown image syntax using absolute file paths. Never write chart images into the current task workspace, project, or repository.\n\n```markdown\n\n```\n\nUse stable descriptive filenames for the four images when possible: `round-d1-rasi.png`, `round-d9-navamsha.png`, `south-indian-d1-rasi.png`, and `south-indian-d9-navamsha.png`. Only if image blocks are not available, use the returned `markdown` or `chartImages[].url` values as the secondary display surface.\n\nNever claim that chart images were shown unless the final assistant message itself contains visible Markdown image tags. Do not use preview-only helpers such as `image(c)` as the final image surface. If the current Codex task cannot render Markdown image tags, say in the current chat language that the images were generated but could not be displayed in this Codex task.\n\nShow all four images unless the user explicitly asks for only one: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n\nIf the previous visible result was chart images and the user replies with `1`, `2`, `3`, or `4`, show the selected image:\n\n- `1`: round D-1 Rasi chart.\n- `2`: round D-9 Navamsha chart.\n- `3`: South Indian D-1 Rasi chart.\n- `4`: South Indian D-9 Navamsha chart.\n\nIf the image file is not already available in the current task, request active chart images again and render only the selected image.\n\n## Private Execution Contract\n\nThe remote Hidden World capability is the only execution source for account and paid astrology services. Use only supported account, chart, service, billing, and job operations. This private contract guides tool use but is never described in chat.\n\nUse the dedicated tool that matches the command:\n\n- `/astro-status` -> `astro_status`\n- `/astro-status` with active chart images -> `astro_status` and `astro_chart_images` when needed for visible rendering\n- `/astro-services` -> `astro_services`\n- `/astro-create-chart` -> `astro_create_chart`\n- `/astro-charts` -> `astro_charts`\n- `/astro-chart-images` -> `astro_chart_images`\n- `/astro-set-active-chart` -> `astro_set_active_chart`\n- `/astro-contact` -> `astro_contact`\n- `/astro-natal` -> `astro_natal`\n- `/astro-forecast` -> `astro_forecast`\n- `/astro-prashna` -> `astro_prashna`\n- `/astro-panchanga` -> `astro_panchanga`\n- `/astro-question` -> `astro_question`\n\nIf a dedicated service tool returns a pending `requestId`, use `astro_result` for that same request until it completes or fails. Never switch to a generic RPC tool and never construct a service payload in the model.\n\nDo not request token environment variables or expose authentication material. When the account is unavailable, run the documented login flow or ask for the single missing user input; do not simulate a successful paid service.\n\nFor paid calls, do not issue a second paid request after a transport or system error until the existing result state has been checked through the documented result flow. If the same request is retried by the backend-supported flow, keep it tied to the same user action; do not create a new service order from guesswork.\n\n## Links\n\nWhenever a command displays a web destination, render it as a Markdown link with a human-readable English label. Never put a URL in backticks or a code block. Never show an internal endpoint.\n\nApproved public links:\n\n- [Services](https://hidden-world.space/en/services)\n- [Hidden World profile](https://hidden-world.space/en/profile)\n- [Hidden World contacts](https://hidden-world.space/en/contacts)\n- [Natal interpretation help](https://hidden-world.space/en/articles/site_help_interpretation)\n- [Forecast help](https://hidden-world.space/en/articles/site_help_forecast)\n- [Prashna help](https://hidden-world.space/en/articles/site_help_prashna)\n- [Panchanga help](https://hidden-world.space/en/articles/site_help_panchanga)\n\n## Exact Help Menu\n\nFor `/astro-help`, respond immediately with the following Markdown content and nothing else. Use this English menu by default.\n\nFor Russian or Ukrainian help, translate every user-facing line, including all headings, command descriptions, plain-language shortcuts, example questions, choice labels, and placeholder labels inside angle brackets such as `<birth date>` and `<your question>`. Preserve only slash command identifiers, Markdown URLs, the product name Astro Jyotish, the proper names Volodymyr Kraine, Parashara, and Kraine, and literal language codes such as `en`, `ru`, and `ua`. English example sentences and English placeholder labels are forbidden in Russian or Ukrainian help output.\n\nReturn only the translated menu. Do not paraphrase, summarize, add recommendations, add implementation details, or offer to show more information after the menu.\n\n```markdown\n# Astro Jyotish\n\nAstro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n## Commands\n\n`/astro-help` - show this command menu\n`/astro-login` - connect your Hidden World account\n`/astro-status` - check your account, active chart images, stars, and subscription\n`/astro-chart-images` - show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha\n`/astro-chart-setup` - learn how saved charts work\n`/astro-create-chart` - create, save, and activate a natal chart\n`/astro-charts` - list saved charts and show the active chart\n`/astro-set-active-chart` - select the active saved chart\n`/astro-contact` - send a confirmed message to Hidden World support ([Contact support](https://hidden-world.space/en/contacts))\n`/astro-services` - view services, requirements, and current prices ([Services](https://hidden-world.space/en/services))\n`/astro-natal` - choose language and Parashara/Kraine, then interpret your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_interpretation))\n`/astro-forecast` - choose language and Parashara/Kraine, then create a forecast from your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_forecast))\n`/astro-prashna` - choose language and Parashara/Kraine, then ask a concrete question using a question chart ([How it works](https://hidden-world.space/en/articles/site_help_prashna))\n`/astro-panchanga` - choose language and Parashara/Kraine, then view Panchanga for a date and place ([How it works](https://hidden-world.space/en/articles/site_help_panchanga))\n`/astro-question` - choose language, then ask the Kraine AI astrologer about your active chart\n\n## Plain-language shortcuts\n\nYou can also ask in plain English:\n\n- Connect my Hidden World account.\n- Show my Astro Jyotish status.\n- Show my active chart images.\n- Create and save a new chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Contact Hidden World support about <subject>: <your message>.\n- Make Kraine Panchanga in Russian for today.\n- Make Parashara Panchanga in English for tomorrow in Pirovac, Croatia.\n- Create a Kraine forecast in Russian for 2026-09-01.\n- Interpret my active natal chart with Kraine in Russian, focus on house 10.\n- Create a Kraine Prashna question chart in Russian for this situation: <your question>.\n- Ask Kraine AI about my active natal chart in Russian: <your question about my chart>.\n\n## Good Prashna questions\n\n- Should I accept this offer?\n- Can I reach an agreement with this partner?\n- Is it worth launching this project this month?\n\n## Choices\n\nLanguages: English, Russian, Ukrainian.\nAI astrologers: Parashara, Kraine.\n```\n\n## Exact Chart Setup\n\nFor `/astro-chart-setup`, select exactly one finished template below from the explicit user language: Russian, Ukrainian, or English. Emit only the contents of that template, without the surrounding code fence or language label.\n\nDo not translate at runtime, paraphrase, summarize, add notes, add new service rules, add a numbered workflow, inspect a website route, or offer to show more information after the template.\n\n### Russian output\n\n```markdown\n# Настройка карт\n\nAstro Jyotish использует сохраненные карты Hidden World.\n\n## Возможности плагина\n\n`/astro-charts` - показать сохраненные карты и активную карту.\n`/astro-create-chart` - создать, сохранить и активировать натальную карту по данным рождения.\n`/astro-set-active-chart` - выбрать сохраненную карту, которую будут использовать персональные сервисы.\n\n## Создание и сохранение карты\n\nИспользуйте `/astro-create-chart`, указав дату рождения, время рождения и место рождения. Если время рождения неизвестно, скажите об этом явно.\n\nСозданная карта сохранится в Hidden World и станет активной для персональных сервисов.\n\n## Примеры\n\n- Создай и сохрани карту по данным: <дата рождения>, <время рождения>, <город>, <страна>; назови ее <название карты>.\n- Покажи мои сохраненные карты Hidden World.\n- Сделай сохраненную карту с названием \"<название карты>\" активной.\n- Покажи мою активную карту перед запуском прогноза.\n```\n\n### Ukrainian output\n\n```markdown\n# Налаштування карт\n\nAstro Jyotish використовує збережені карти Hidden World.\n\n## Можливості плагіна\n\n`/astro-charts` - показати збережені карти й активну карту.\n`/astro-create-chart` - створити, зберегти й активувати натальну карту за даними народження.\n`/astro-set-active-chart` - вибрати збережену карту, яку використовуватимуть персональні сервіси.\n\n## Створення та збереження карти\n\nВикористовуйте `/astro-create-chart`, указавши дату народження, час народження та місце народження. Якщо час народження невідомий, скажіть про це прямо.\n\nСтворена карта збережеться в Hidden World і стане активною для персональних сервісів.\n\n## Приклади\n\n- Створи й збережи карту за даними: <дата народження>, <час народження>, <місто>, <країна>; назви її <назва карти>.\n- Покажи мої збережені карти Hidden World.\n- Зроби збережену карту з назвою \"<назва карти>\" активною.\n- Покажи мою активну карту перед запуском прогнозу.\n```\n\n### English output\n\n```markdown\n# Chart Setup\n\nAstro Jyotish uses saved Hidden World charts.\n\n## What the plugin can do\n\n`/astro-charts` - show saved charts and the active chart.\n`/astro-create-chart` - create, save, and activate a natal chart from birth data.\n`/astro-set-active-chart` - make one saved chart active for personal services.\n\n## Creating or saving a chart\n\nUse `/astro-create-chart` with birth date, birth time, and birth place. If birth time is unknown, say that explicitly.\n\nThe created chart is saved to Hidden World and becomes the active chart for personal services.\n\n## Examples\n\n- Create and save a chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Show my active chart before starting a forecast.\n```\n"
"---\nname: astro-jyotish\ndescription: \"Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, `/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n---\n\n# Astro Jyotish\n\nAstro Jyotish is a Hidden World Codex plugin by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n## Language Surface\n\nMarketplace metadata, plugin labels, command identifiers, and approved public link labels are English.\n\nChat responses must follow the user's requested language when the request is clear. Use Russian when the user asks in Russian or asks to switch to Russian. Use Ukrainian when the user asks in Ukrainian. Use English otherwise.\n\nService output language remains an explicit service choice: English (`en`), Russian (`ru`), or Ukrainian (`ua`). Do not infer paid service output language from the chat language.\n\nDo not change the chat response language merely because a chart place, page, browser URL, or source text is Ukrainian/Russian/English. The active chat language changes only from the user's explicit language request or the latest clear user message language.\n\nWhen describing the plugin, state: \"Astro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n\n## Strict Runtime Boundary\n\nAstro Jyotish uses deployed Hidden World production services. During plugin use, treat the remote Hidden World service as the authoritative external contract.\n\nDo not inspect or modify the user's project, Hidden World backend code, infrastructure, payment systems, model prompts, or queues while handling an Astro Jyotish command. Use only the capabilities declared by this plugin. On service failure, stop and report a user-facing failure without exposing implementation details.\n\n## User Commands\n\nThe installed command files expose these slash commands. The complete behavior contract is in this skill; do not inspect plugin source files or command files while handling a user command.\n\n### Literal Slash Command Routing\n\nAny user message containing a literal `/astro-*` command listed below is a plugin command, even when it is followed by ordinary language such as `на русском` or `in Ukrainian`.\n\nNever interpret a listed `/astro-*` command as a website path, local file path, React route, search query, or request to inspect the current project. Do not open a browser, inspect site routes, or report a 404 for a listed command. Apply the matching command contract immediately.\n\nFor presentation-only commands, the command text itself supplies the intent. Do not search for a similarly named webpage.\n\n- `/astro-help`: show the complete command menu and clickable help links.\n- `/astro-login`: connect a Hidden World account through Codex OAuth.\n- `/astro-status`: show user-facing account, chart, billing status, and active chart images.\n- `/astro-services`: list services, requirements, prices, and help links.\n- `/astro-chart-setup`: explain how saved charts work.\n- `/astro-create-chart`: create, calculate, save, and activate a Hidden World natal chart from birth data.\n- `/astro-charts`: list saved charts and show the active chart.\n- `/astro-chart-images`: show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n- `/astro-set-active-chart`: select which saved chart is active.\n- `/astro-contact`: send one confirmed support message from the connected account.\n- `/astro-natal`: run natal interpretation for the active saved chart.\n- `/astro-forecast`: run a forecast from the active natal chart.\n- `/astro-prashna`: answer a concrete question from its question chart.\n- `/astro-panchanga`: show Panchanga for a date and place.\n- `/astro-question`: ask the Kraine AI astrologer about the active saved chart.\n- `/astro-referral`: show authenticated referral status and explain the inviter-email program; applying requires separate explicit confirmation.\n\n## User Choices\n\nSupported output languages are:\n\n- English (`en`)\n- Russian (`ru`)\n- Ukrainian (`ua`)\n\nSupported AI astrologers for natal interpretation, forecast, Prashna, and Panchanga are:\n\n- Parashara (`parashara`): technical factors and their traditional Jyotish meanings for your own interpretation.\n- Kraine (`kraine`): holistic relationships and synthesis by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n`/astro-question` is Kraine-only, but still requires the user-facing language choice.\n\nAccept natural-language aliases without asking again when the intent is clear:\n\n- English: `English`, `en`.\n- Russian: `Russian`, `ru`, `русский`, `русском`, `по-русски`.\n- Ukrainian: `Ukrainian`, `ua`, `uk`, `украинский`, `українська`, `українською`.\n- Parashara: `Parashara`, `parashara`, `Парашара`.\n- Kraine: `Kraine`, `kraine`, `Крейн`, `Владимир Крейн`, `Volodymyr Kraine`.\n\nBefore any paid service call, if the user did not explicitly provide the language, ask for it. If the service supports both Parashara and Kraine and the user did not explicitly provide the astrologer, ask for that too. Combine missing choices into one concise question. Do not silently default paid services to English or Parashara.\n\nBefore a paid service consumes stars, trial access, or a subscription request, show the exact current cost and entitlement returned by Hidden World and ask for confirmation of that exact service request. A prior confirmation remains valid only for the same request and the same displayed cost. The plugin never offers checkout, starts a subscription, sells credits, or promotes an upgrade.\n\nWhen showing help, service setup, or examples, make the language and astrologer choices visible in the user's chat language. Do not hide them behind service descriptions only.\n\n## Output Firewall\n\nInternal execution details are private and must never appear in operator-facing chat. This applies during success, progress, clarification, failure, and recovery.\n\nNever print or narrate:\n\n- tool names, backend method names, RPC names, request or response payloads;\n- MCP, JSON-RPC, Lambda, endpoint, environment-variable, token, PKCE, callback, job, queue, or implementation details;\n- internal field names, chart serialization, snapshot construction, file paths, source files, dependencies, stack traces, or raw backend errors;\n- reasoning about route selection, retries, fallback calculations, or debugging steps.\n\nDo not describe the internal execution chain before running a command. User-facing progress is limited to one short service status such as \"Preparing your Panchanga...\".\n\nFor presentation-only commands (`/astro-help`, `/astro-services`, and `/astro-chart-setup`), respond immediately with the requested content. Do not call tools, inspect files, or send progress commentary.\n\nTranslate internal failures into one concise message in the current chat language that says what the user can do next. Do not include raw error text when it exposes implementation details.\n\n## Deterministic Execution Rules\n\nOne user command maps to one service workflow. Never substitute another astrology service.\n\nFor every paid service:\n\n1. Check account connection and required user data.\n2. Resolve documented defaults for date, time, place, and active chart only.\n3. For paid services, require an explicit language choice. For services that support both Parashara and Kraine, require an explicit astrologer choice. If one or more required user inputs remain missing or ambiguous, ask exactly one concise clarification question containing all missing user inputs. Do not call the paid service yet.\n4. Show the server-provided cost or entitlement and obtain confirmation for this exact request.\n5. Run the selected Hidden World service once.\n6. If the service reports a queued result, wait for that same result using the supported job flow.\n7. On failure, stop. Do not retry with guessed payloads, switch tools, inspect project source, inspect or mutate backend infrastructure, install dependencies, calculate locally, use another astrology engine, or provide an invented fallback result.\n8. Report charges and balance only from authenticated Hidden World data. Never infer them.\n\nService boundaries:\n\n- Chart setup uses saved Hidden World charts. The plugin can create, calculate, save, and activate a natal chart from birth date, birth time, and birth place. If birth time is unknown, require the user to say that explicitly. It can also list saved charts and set one saved chart as active.\n- Natal interpretation uses the selected saved natal chart only. Ask the user to choose Parashara or Kraine unless already explicit. For Kraine, accept an optional focused house from 1 to 12.\n- Forecast uses the active saved natal chart as Chart 1 and the requested forecast moment as Chart 2. Ask the user to choose Parashara or Kraine unless already explicit. Default forecast moment is now; default place is the active chart place unless the user specifies another place.\n- Prashna uses the question chart only. The question text is required. Ask the user to choose Parashara or Kraine unless already explicit. Default question moment is now. Use the explicitly supplied current place, otherwise the connected profile's current place when available; if no current place is available, ask one clarification question. Never answer Prashna as a natal profile or generic forecast.\n- Panchanga uses the requested day and place only. Ask the user to choose Parashara or Kraine unless already explicit. Default date is today. Default place is the active chart place. If no place can be resolved, ask one clarification question. Do not add long-period dasha analysis unless the returned result explicitly contains it.\n- Kraine AI question uses the active saved chart and is available only when the authenticated Hidden World account has subscription access. It is Kraine-only, but ask for language unless already explicit. Do not run it as Prashna, forecast, or natal interpretation.\n\n## Fresh Balance and Errors\n\nAfter every accepted service response (including chart creation when a balance is returned) and every result response, show the fresh server-provided stars and subscription quota. Keep polling only the same accepted request; balance reporting must never create a new paid request.\n\nThe response contract is `accountBalance = {status: 'available', stars, subscription, asOf}` or `{status: 'unavailable'}`, with a localized `balanceMessage`. When available, use `stars` and only the subscription quota actually supplied by `subscription`; `asOf` identifies that snapshot's freshness. Relay the server's localized `balanceMessage` in the current chat language without exposing internal field names. Never calculate a remaining balance from a previous balance, cost, charge, or refund, and never replace this snapshot with the initial queued response's billing data.\n\nWhen unavailable or absent on an older response, preserve the service result and say that the current balance could not be retrieved. Never treat unavailable as zero, infer subscription quota, claim a service failed solely because balance retrieval failed, or repeat a paid call. Continue supported same-request result polling if still pending. A later authenticated status lookup may report its own fresh balance but must not be presented as the earlier response's snapshot.\n\nFor `error.code = INSUFFICIENT_STARS`, relay the localized user-facing message as a lack of stars, not a service outage. `requiredStars`, `balance`, and `shortfall` are numeric or null: show only supplied numeric values; do not compute null fields or treat them as zero. Do not retry, start a different paid service, offer credits purchases, initiate checkout, or promote an upgrade. This specific handling takes precedence over generic service-failure wording in command files.\n\n## Referral Workflow\n\nFor `/astro-referral`, call `astro_referral_status({language})` using the current chat language (`en`, `ru`, or `ua`). Explain the existing site system: an invited user submits the inviter's email, not a referral link. Status does not apply a claim. Use only server-provided rules, eligibility, amounts, and limits; never hardcode rewards or promise eligibility.\n\nIf the user requests a claim, obtain the inviter's email from the user, show that exact email, and ask for explicit confirmation to submit it and claim the bonus. An email alone is not confirmation. Never guess an email, use the connected account email as a default, or apply automatically. A changed email needs new confirmation. Only after confirmation call `astro_referral_apply({inviterEmail, confirmed: true, language})` once.\n\nReport a bonus only after confirmed server success and use the returned fresh balance contract. Referral errors have stable codes: use the returned code and localized user-facing message to explain the claim error without exposing codes, raw payloads, or diagnostics. Do not invent code names or rules. On a rejected claim, stop without retrying or replacing the email. After an ambiguous transport failure or uncertain claim outcome, call only `astro_referral_status({language})` to read the current status, if available; never repeat `astro_referral_apply`. A claimed status confirms only that a claim exists, not that this attempt created it. If status cannot be read, report the outcome as unknown without claiming a bonus was granted.\n\nThe new tools may not be available before deployment and tool scanning. Call only capabilities actually available in the current session. If unavailable, explain that referral actions are not currently available in this connection; never invent a call or successful result, fall back to generic RPC, inspect source, or ask for authentication secrets. If disconnected, use `/astro-login`. No referral response may offer checkout, sell credits, or promote an upgrade.\n\n## Subscription Information\n\nFor questions about what a subscription includes, explain the subscription section from the help menu in the user's chat language. Keep the distinction between included service requests, stars, and website-only Ritometer features. Never claim that the entire Ritometer is subscription-only or available inside the plugin.\n\nFor current access and remaining requests, use authenticated `astro_services` data. Explain only existing account entitlements and the returned request or star cost of the selected service. Do not display subscription plans or credit-pack prices, calculate promotional savings, recommend purchases, or promote upgrades. Never infer or change an account balance. Do not initiate a subscription, checkout, or paid astrology request while explaining access.\n\n## Account Connection\n\nHidden World account identity remains authoritative. Do not treat OpenAI, ChatGPT, or Codex login as the Hidden World account.\n\nFor `/astro-login`, resolve the plugin root from this file and execute `node <plugin-root>/scripts/login.js`.\n\nDo not initiate authentication through a static website URL. Do not construct authorization parameters manually. Never ask the operator to paste passwords, tokens, authorization codes, one-time codes, or payment secrets into chat.\n\nIf connection cannot start, stop and say in the current chat language that the Hidden World connection could not be started and the user should run `/astro-login` again.\n\nFor `/astro-status`, use the authenticated status capability. Report only user-facing connection, profile, active-chart, stars, subscription, and trial state. If the account is not connected, show `/astro-login` as the next action.\n\nStatus must include active chart images whenever an active chart is present. If the status capability cannot attach images directly in the current Codex task, also use the active chart image capability and render the images in the final answer.\n\nWhen rendering returned chart images in Codex, do not merely list image names and do not rely on hidden tool output. Codex local absolute image paths are the primary display surface. After the chart image capability returns, save every returned PNG image block to local temporary PNG files in the current task workspace or `/tmp`, then show those files in the final answer with Markdown image syntax using absolute file paths:\n\n```markdown\n\n```\n\nUse stable descriptive filenames for the four images when possible: `round-d1-rasi.png`, `round-d9-navamsha.png`, `south-indian-d1-rasi.png`, and `south-indian-d9-navamsha.png`. Only if image blocks are not available, use the returned `markdown` or `chartImages[].url` values as the secondary display surface.\n\nNever claim that chart images were shown unless the final assistant message itself contains visible Markdown image tags. Do not use preview-only helpers such as `image(c)` as the final image surface. If the current Codex task cannot render Markdown image tags, say in the current chat language that the images were generated but could not be displayed in this Codex task.\n\nShow all four images unless the user explicitly asks for only one: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n\nIf the previous visible result was chart images and the user replies with `1`, `2`, `3`, or `4`, show the selected image:\n\n- `1`: round D-1 Rasi chart.\n- `2`: round D-9 Navamsha chart.\n- `3`: South Indian D-1 Rasi chart.\n- `4`: South Indian D-9 Navamsha chart.\n\nIf the image file is not already available in the current task, request active chart images again and render only the selected image.\n\n## Private Execution Contract\n\nThe remote Hidden World capability is the only execution source for account and paid astrology services. Use only supported account, chart, service, billing, and job operations. This private contract guides tool use but is never described in chat.\n\nUse the dedicated tool that matches the command:\n\n- `/astro-status` -> `astro_status`\n- `/astro-status` with active chart images -> `astro_status` and `astro_chart_images` when needed for visible rendering\n- `/astro-services` -> `astro_services`\n- `/astro-create-chart` -> `astro_create_chart`\n- `/astro-charts` -> `astro_charts`\n- `/astro-chart-images` -> `astro_chart_images`\n- `/astro-set-active-chart` -> `astro_set_active_chart`\n- `/astro-contact` -> `astro_contact`\n- `/astro-natal` -> `astro_natal`\n- `/astro-forecast` -> `astro_forecast`\n- `/astro-prashna` -> `astro_prashna`\n- `/astro-panchanga` -> `astro_panchanga`\n- `/astro-question` -> `astro_question`\n- `/astro-referral` -> `astro_referral_status({language})`; a separately confirmed claim -> `astro_referral_apply({inviterEmail, confirmed: true, language})`\n\nIf a dedicated service tool returns a pending `requestId`, use `astro_result({requestId, language})` for that same request until it completes or fails. Pass the explicitly chosen service language (`en`, `ru`, or `ua`) on every poll, including recovery reads; do not omit the optional language argument and allow balance messages to default to English. Never switch to a generic RPC tool and never construct a service payload in the model.\n\nDo not request token environment variables or expose authentication material. When the account is unavailable, run the documented login flow or ask for the single missing user input; do not simulate a successful paid service.\n\nFor paid calls, do not issue a second paid request after a transport or system error until the existing result state has been checked through the documented result flow. If the same request is retried by the backend-supported flow, keep it tied to the same user action; do not create a new service order from guesswork.\n\n## Links\n\nWhenever a command displays a web destination, render it as a Markdown link with a human-readable English label. Never put a URL in backticks or a code block. Never show an internal endpoint.\n\nApproved public links:\n\n- [Services](https://hidden-world.space/en/services)\n- [Hidden World profile](https://hidden-world.space/en/profile)\n- [Hidden World contacts](https://hidden-world.space/en/contacts)\n- [Natal interpretation help](https://hidden-world.space/en/articles/site_help_interpretation)\n- [Forecast help](https://hidden-world.space/en/articles/site_help_forecast)\n- [Prashna help](https://hidden-world.space/en/articles/site_help_prashna)\n- [Panchanga help](https://hidden-world.space/en/articles/site_help_panchanga)\n\n## Exact Help Menu\n\nFor `/astro-help`, respond immediately with the following Markdown content and nothing else. Use this English menu by default.\n\nFor Russian or Ukrainian help, translate every user-facing line, including all headings, command descriptions, plain-language shortcuts, example questions, choice labels, and placeholder labels inside angle brackets such as `<birth date>` and `<your question>`. Preserve only slash command identifiers, Markdown URLs, the product name Astro Jyotish, the proper names Volodymyr Kraine, Parashara, and Kraine, and literal language codes such as `en`, `ru`, and `ua`. English example sentences and English placeholder labels are forbidden in Russian or Ukrainian help output.\n\nReturn only the translated menu. Do not paraphrase, summarize, add recommendations, add implementation details, or offer to show more information after the menu.\n\n```markdown\n# Astro Jyotish\n\nAstro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n**Parashara AI astrologer** shows astrological factors and their traditional meanings, which you can interpret independently.\n\n**Kraine AI astrologer** provides a holistic chart interpretation, considering the relationships between astrological factors and combining them into an overall conclusion.\n\n## Hidden World subscription\n\nThe plugin uses the subscription and service access already available in your connected Hidden World account.\n\n**Calculations use requests instead of stars**\nWhen you pay with an active subscription that has enough requests remaining, services use requests from your package instead of your star balance. Different services use different numbers of requests.\n\n**Expanded Ritometer on the website**\nAn active subscription includes expanded time analysis based on Muhurta methods, supplemented by the natal chart and other astrological factors. It supports comparisons across a day, month, and year, with date and activity selection. Personal mode requires a saved natal chart with a birth time. Ritometer is available on the Hidden World website, not inside this plugin, and its astrological assessments do not guarantee outcomes.\n\n**Questions to the Kraine AI astrologer**\nThis service answers questions about your natal chart and specific situations. It is available only with an active subscription and uses subscription requests, not stars. The current request cost is shown before you confirm a question.\n\n**Transparent usage**\nBefore a service starts, you see its current cost. After an accepted request and its result, the plugin shows the available subscription requests and star balance supplied by Hidden World.\n\nRequests expire at the end of the subscription period and do not carry over. You can ask the plugin about your current access and remaining requests without starting a paid service.\n\n## Commands\n\n`/astro-help` - show this command menu\n`/astro-login` - connect your Hidden World account\n`/astro-status` - check your account, active chart images, stars, and subscription\n`/astro-chart-images` - show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha\n`/astro-chart-setup` - learn how saved charts work\n`/astro-create-chart` - create, save, and activate a natal chart\n`/astro-charts` - list saved charts and show the active chart\n`/astro-set-active-chart` - select the active saved chart\n`/astro-contact` - send a confirmed message to Hidden World support ([Contact support](https://hidden-world.space/en/contacts))\n`/astro-services` - view services, requirements, and current prices ([Services](https://hidden-world.space/en/services))\n`/astro-natal` - choose language and Parashara/Kraine, then interpret your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_interpretation))\n`/astro-forecast` - choose language and Parashara/Kraine, then create a forecast from your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_forecast))\n`/astro-prashna` - choose language and Parashara/Kraine, then ask a concrete question using a question chart ([How it works](https://hidden-world.space/en/articles/site_help_prashna))\n`/astro-panchanga` - choose language and Parashara/Kraine, then view Panchanga for a date and place ([How it works](https://hidden-world.space/en/articles/site_help_panchanga))\n`/astro-question` - choose language, then ask the Kraine AI astrologer about your active chart\n`/astro-referral` - view the inviter-email referral program and your status; submitting an inviter's email to claim a bonus requires your confirmation\n\n## Plain-language shortcuts\n\nYou can also ask in plain English:\n\n- Connect my Hidden World account.\n- Show my Astro Jyotish status.\n- Show my referral status and explain how to submit my inviter's email.\n- Show my active chart images.\n- Create and save a new chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Contact Hidden World support about <subject>: <your message>.\n- Make Kraine Panchanga in Russian for today.\n- Make Parashara Panchanga in English for tomorrow in Pirovac, Croatia.\n- Create a Kraine forecast in Russian for 2026-09-01.\n- Interpret my active natal chart with Kraine in Russian, focus on house 10.\n- Create a Kraine Prashna question chart in Russian for this situation: <your question>.\n- Ask Kraine AI about my active natal chart in Russian: <your question about my chart>.\n\n## Good Prashna questions\n\n- Should I accept this offer?\n- Can I reach an agreement with this partner?\n- Is it worth launching this project this month?\n\n## Choices\n\nLanguages: English, Russian, Ukrainian.\nAI astrologers: Parashara, Kraine.\n\n## Referrals and balance\n\nHidden World uses the inviter's email, not a referral link. View your status with `/astro-referral`. Submitting a specified inviter's email to claim a bonus always requires your explicit confirmation. Eligibility, bonuses, and limits are determined by Hidden World; no bonus is promised in advance.\n\nAfter an accepted service and its results, you receive the fresh available stars and subscription quota supplied by Hidden World. If the current balance is unavailable, the service is not repeated. The plugin does not sell credits, initiate checkout, or promote upgrades.\n```\n\n## Exact Chart Setup\n\nFor `/astro-chart-setup`, select exactly one finished template below from the explicit user language: Russian, Ukrainian, or English. Emit only the contents of that template, without the surrounding code fence or language label.\n\nDo not translate at runtime, paraphrase, summarize, add notes, add new service rules, add a numbered workflow, inspect a website route, or offer to show more information after the template.\n\n### Russian output\n\n```markdown\n# Настройка карт\n\nAstro Jyotish использует сохраненные карты Hidden World.\n\n## Возможности плагина\n\n`/astro-charts` - показать сохраненные карты и активную карту.\n`/astro-create-chart` - создать, сохранить и активировать натальную карту по данным рождения.\n`/astro-set-active-chart` - выбрать сохраненную карту, которую будут использовать персональные сервисы.\n\n## Создание и сохранение карты\n\nИспользуйте `/astro-create-chart`, указав дату рождения, время рождения и место рождения. Если время рождения неизвестно, скажите об этом явно.\n\nСозданная карта сохранится в Hidden World и станет активной для персональных сервисов.\n\n## Примеры\n\n- Создай и сохрани карту по данным: <дата рождения>, <время рождения>, <город>, <страна>; назови ее <название карты>.\n- Покажи мои сохраненные карты Hidden World.\n- Сделай сохраненную карту с названием \"<название карты>\" активной.\n- Покажи мою активную карту перед запуском прогноза.\n```\n\n### Ukrainian output\n\n```markdown\n# Налаштування карт\n\nAstro Jyotish використовує збережені карти Hidden World.\n\n## Можливості плагіна\n\n`/astro-charts` - показати збережені карти й активну карту.\n`/astro-create-chart` - створити, зберегти й активувати натальну карту за даними народження.\n`/astro-set-active-chart` - вибрати збережену карту, яку використовуватимуть персональні сервіси.\n\n## Створення та збереження карти\n\nВикористовуйте `/astro-create-chart`, указавши дату народження, час народження та місце народження. Якщо час народження невідомий, скажіть про це прямо.\n\nСтворена карта збережеться в Hidden World і стане активною для персональних сервісів.\n\n## Приклади\n\n- Створи й збережи карту за даними: <дата народження>, <час народження>, <місто>, <країна>; назви її <назва карти>.\n- Покажи мої збережені карти Hidden World.\n- Зроби збережену карту з назвою \"<назва карти>\" активною.\n- Покажи мою активну карту перед запуском прогнозу.\n```\n\n### English output\n\n```markdown\n# Chart Setup\n\nAstro Jyotish uses saved Hidden World charts.\n\n## What the plugin can do\n\n`/astro-charts` - show saved charts and the active chart.\n`/astro-create-chart` - create, save, and activate a natal chart from birth data.\n`/astro-set-active-chart` - make one saved chart active for personal services.\n\n## Creating or saving a chart\n\nUse `/astro-create-chart` with birth date, birth time, and birth place. If birth time is unknown, say that explicitly.\n\nThe created chart is saved to Hidden World and becomes the active chart for personal services.\n\n## Examples\n\n- Create and save a chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Show my active chart before starting a forecast.\n```\n"SKILL.md line diff
--- before +++ after @@ -1,6 +1,6 @@ --- name: astro-jyotish -description: "Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, or `/astro-question`) or asks to connect a Hidden World account, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience." +description: "Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, `/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience." --- # Astro Jyotish @@ -52,6 +52,7 @@ - `/astro-prashna`: answer a concrete question from its question chart. - `/astro-panchanga`: show Panchanga for a date and place. - `/astro-question`: ask the Kraine AI astrologer about the active saved chart. +- `/astro-referral`: show authenticated referral status and explain the inviter-email program; applying requires separate explicit confirmation. ## User Choices @@ -63,8 +64,8 @@ Supported AI astrologers for natal interpretation, forecast, Prashna, and Panchanga are: -- Parashara (`parashara`): traditional technical Jyotish reading. -- Kraine (`kraine`): Volodymyr Kraine's synthesis by professional astrologer Volodymyr Kraine with 20+ years of experience. +- Parashara (`parashara`): technical factors and their traditional Jyotish meanings for your own interpretation. +- Kraine (`kraine`): holistic relationships and synthesis by professional astrologer Volodymyr Kraine with 20+ years of experience. `/astro-question` is Kraine-only, but still requires the user-facing language choice. @@ -123,6 +124,32 @@ - Panchanga uses the requested day and place only. Ask the user to choose Parashara or Kraine unless already explicit. Default date is today. Default place is the active chart place. If no place can be resolved, ask one clarification question. Do not add long-period dasha analysis unless the returned result explicitly contains it. - Kraine AI question uses the active saved chart and is available only when the authenticated Hidden World account has subscription access. It is Kraine-only, but ask for language unless already explicit. Do not run it as Prashna, forecast, or natal interpretation. +## Fresh Balance and Errors + +After every accepted service response (including chart creation when a balance is returned) and every result response, show the fresh server-provided stars and subscription quota. Keep polling only the same accepted request; balance reporting must never create a new paid request. + +The response contract is `accountBalance = {status: 'available', stars, subscription, asOf}` or `{status: 'unavailable'}`, with a localized `balanceMessage`. When available, use `stars` and only the subscription quota actually supplied by `subscription`; `asOf` identifies that snapshot's freshness. Relay the server's localized `balanceMessage` in the current chat language without exposing internal field names. Never calculate a remaining balance from a previous balance, cost, charge, or refund, and never replace this snapshot with the initial queued response's billing data. + +When unavailable or absent on an older response, preserve the service result and say that the current balance could not be retrieved. Never treat unavailable as zero, infer subscription quota, claim a service failed solely because balance retrieval failed, or repeat a paid call. Continue supported same-request result polling if still pending. A later authenticated status lookup may report its own fresh balance but must not be presented as the earlier response's snapshot. + +For `error.code = INSUFFICIENT_STARS`, relay the localized user-facing message as a lack of stars, not a service outage. `requiredStars`, `balance`, and `shortfall` are numeric or null: show only supplied numeric values; do not compute null fields or treat them as zero. Do not retry, start a different paid service, offer credits purchases, initiate checkout, or promote an upgrade. This specific handling takes precedence over generic service-failure wording in command files. + +## Referral Workflow + +For `/astro-referral`, call `astro_referral_status({language})` using the current chat language (`en`, `ru`, or `ua`). Explain the existing site system: an invited user submits the inviter's email, not a referral link. Status does not apply a claim. Use only server-provided rules, eligibility, amounts, and limits; never hardcode rewards or promise eligibility. + +If the user requests a claim, obtain the inviter's email from the user, show that exact email, and ask for explicit confirmation to submit it and claim the bonus. An email alone is not confirmation. Never guess an email, use the connected account email as a default, or apply automatically. A changed email needs new confirmation. Only after confirmation call `astro_referral_apply({inviterEmail, confirmed: true, language})` once. + +Report a bonus only after confirmed server success and use the returned fresh balance contract. Referral errors have stable codes: use the returned code and localized user-facing message to explain the claim error without exposing codes, raw payloads, or diagnostics. Do not invent code names or rules. On a rejected claim, stop without retrying or replacing the email. After an ambiguous transport failure or uncertain claim outcome, call only `astro_referral_status({language})` to read the current status, if available; never repeat `astro_referral_apply`. A claimed status confirms only that a claim exists, not that this attempt created it. If status cannot be read, report the outcome as unknown without claiming a bonus was granted. + +The new tools may not be available before deployment and tool scanning. Call only capabilities actually available in the current session. If unavailable, explain that referral actions are not currently available in this connection; never invent a call or successful result, fall back to generic RPC, inspect source, or ask for authentication secrets. If disconnected, use `/astro-login`. No referral response may offer checkout, sell credits, or promote an upgrade. + +## Subscription Information + +For questions about what a subscription includes, explain the subscription section from the help menu in the user's chat language. Keep the distinction between included service requests, stars, and website-only Ritometer features. Never claim that the entire Ritometer is subscription-only or available inside the plugin. + +For current access and remaining requests, use authenticated `astro_services` data. Explain only existing account entitlements and the returned request or star cost of the selected service. Do not display subscription plans or credit-pack prices, calculate promotional savings, recommend purchases, or promote upgrades. Never infer or change an account balance. Do not initiate a subscription, checkout, or paid astrology request while explaining access. + ## Account Connection Hidden World account identity remains authoritative. Do not treat OpenAI, ChatGPT, or Codex login as the Hidden World account. @@ -137,7 +164,7 @@ Status must include active chart images whenever an active chart is present. If the status capability cannot attach images directly in the current Codex task, also use the active chart image capability and render the images in the final answer. -When rendering returned chart images in Codex, do not merely list image names and do not rely on hidden tool output. Codex local absolute image paths are the primary display surface. After the chart image capability returns, create a unique temporary directory under `/tmp`, save every returned PNG image block there, then show those files in the final answer with Markdown image syntax using absolute file paths. Never write chart images into the current task workspace, project, or repository. +When rendering returned chart images in Codex, do not merely list image names and do not rely on hidden tool output. Codex local absolute image paths are the primary display surface. After the chart image capability returns, save every returned PNG image block to local temporary PNG files in the current task workspace or `/tmp`, then show those files in the final answer with Markdown image syntax using absolute file paths: ```markdown  @@ -177,8 +204,9 @@ - `/astro-prashna` -> `astro_prashna` - `/astro-panchanga` -> `astro_panchanga` - `/astro-question` -> `astro_question` +- `/astro-referral` -> `astro_referral_status({language})`; a separately confirmed claim -> `astro_referral_apply({inviterEmail, confirmed: true, language})` -If a dedicated service tool returns a pending `requestId`, use `astro_result` for that same request until it completes or fails. Never switch to a generic RPC tool and never construct a service payload in the model. +If a dedicated service tool returns a pending `requestId`, use `astro_result({requestId, language})` for that same request until it completes or fails. Pass the explicitly chosen service language (`en`, `ru`, or `ua`) on every poll, including recovery reads; do not omit the optional language argument and allow balance messages to default to English. Never switch to a generic RPC tool and never construct a service payload in the model. Do not request token environment variables or expose authentication material. When the account is unavailable, run the documented login flow or ask for the single missing user input; do not simulate a successful paid service. @@ -211,6 +239,28 @@ Astro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience. +**Parashara AI astrologer** shows astrological factors and their traditional meanings, which you can interpret independently. + +**Kraine AI astrologer** provides a holistic chart interpretation, considering the relationships between astrological factors and combining them into an overall conclusion. + +## Hidden World subscription + +The plugin uses the subscription and service access already available in your connected Hidden World account. + +**Calculations use requests instead of stars** +When you pay with an active subscription that has enough requests remaining, services use requests from your package instead of your star balance. Different services use different numbers of requests. + +**Expanded Ritometer on the website** +An active subscription includes expanded time analysis based on Muhurta methods, supplemented by the natal chart and other astrological factors. It supports comparisons across a day, month, and year, with date and activity selection. Personal mode requires a saved natal chart with a birth time. Ritometer is available on the Hidden World website, not inside this plugin, and its astrological assessments do not guarantee outcomes. + +**Questions to the Kraine AI astrologer** +This service answers questions about your natal chart and specific situations. It is available only with an active subscription and uses subscription requests, not stars. The current request cost is shown before you confirm a question. + +**Transparent usage** +Before a service starts, you see its current cost. After an accepted request and its result, the plugin shows the available subscription requests and star balance supplied by Hidden World. + +Requests expire at the end of the subscription period and do not carry over. You can ask the plugin about your current access and remaining requests without starting a paid service. + ## Commands `/astro-help` - show this command menu @@ -228,6 +278,7 @@ `/astro-prashna` - choose language and Parashara/Kraine, then ask a concrete question using a question chart ([How it works](https://hidden-world.space/en/articles/site_help_prashna)) `/astro-panchanga` - choose language and Parashara/Kraine, then view Panchanga for a date and place ([How it works](https://hidden-world.space/en/articles/site_help_panchanga)) `/astro-question` - choose language, then ask the Kraine AI astrologer about your active chart +`/astro-referral` - view the inviter-email referral program and your status; submitting an inviter's email to claim a bonus requires your confirmation ## Plain-language shortcuts @@ -235,6 +286,7 @@ - Connect my Hidden World account. - Show my Astro Jyotish status. +- Show my referral status and explain how to submit my inviter's email. - Show my active chart images. - Create and save a new chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>. - List my saved Hidden World charts. @@ -257,6 +309,12 @@ Languages: English, Russian, Ukrainian. AI astrologers: Parashara, Kraine. + +## Referrals and balance + +Hidden World uses the inviter's email, not a referral link. View your status with `/astro-referral`. Submitting a specified inviter's email to claim a bonus always requires your explicit confirmation. Eligibility, bonuses, and limits are determined by Hidden World; no bonus is promised in advance. + +After an accepted service and its results, you receive the fresh available stars and subscription quota supplied by Hidden World. If the current balance is unavailable, the service is not repeated. The plugin does not sell credits, initiate checkout, or promote upgrades. ``` ## Exact Chart Setup
Full snapshot data
{
"description": "Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, `/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience.",
"included_files": [],
"name": "astro-jyotish",
"skill_md_contents": "---\nname: astro-jyotish\ndescription: \"Use whenever the user writes an Astro Jyotish slash command (`/astro-help`, `/astro-login`, `/astro-status`, `/astro-services`, `/astro-chart-setup`, `/astro-create-chart`, `/astro-charts`, `/astro-chart-images`, `/astro-set-active-chart`, `/astro-contact`, `/astro-natal`, `/astro-forecast`, `/astro-prashna`, `/astro-panchanga`, `/astro-referral`, or `/astro-question`) or asks to connect a Hidden World account, use its inviter-email referral program, contact Hidden World support, or use Astro Jyotish by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n---\n\n# Astro Jyotish\n\nAstro Jyotish is a Hidden World Codex plugin by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n## Language Surface\n\nMarketplace metadata, plugin labels, command identifiers, and approved public link labels are English.\n\nChat responses must follow the user's requested language when the request is clear. Use Russian when the user asks in Russian or asks to switch to Russian. Use Ukrainian when the user asks in Ukrainian. Use English otherwise.\n\nService output language remains an explicit service choice: English (`en`), Russian (`ru`), or Ukrainian (`ua`). Do not infer paid service output language from the chat language.\n\nDo not change the chat response language merely because a chart place, page, browser URL, or source text is Ukrainian/Russian/English. The active chat language changes only from the user's explicit language request or the latest clear user message language.\n\nWhen describing the plugin, state: \"Astro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\"\n\n## Strict Runtime Boundary\n\nAstro Jyotish uses deployed Hidden World production services. During plugin use, treat the remote Hidden World service as the authoritative external contract.\n\nDo not inspect or modify the user's project, Hidden World backend code, infrastructure, payment systems, model prompts, or queues while handling an Astro Jyotish command. Use only the capabilities declared by this plugin. On service failure, stop and report a user-facing failure without exposing implementation details.\n\n## User Commands\n\nThe installed command files expose these slash commands. The complete behavior contract is in this skill; do not inspect plugin source files or command files while handling a user command.\n\n### Literal Slash Command Routing\n\nAny user message containing a literal `/astro-*` command listed below is a plugin command, even when it is followed by ordinary language such as `на русском` or `in Ukrainian`.\n\nNever interpret a listed `/astro-*` command as a website path, local file path, React route, search query, or request to inspect the current project. Do not open a browser, inspect site routes, or report a 404 for a listed command. Apply the matching command contract immediately.\n\nFor presentation-only commands, the command text itself supplies the intent. Do not search for a similarly named webpage.\n\n- `/astro-help`: show the complete command menu and clickable help links.\n- `/astro-login`: connect a Hidden World account through Codex OAuth.\n- `/astro-status`: show user-facing account, chart, billing status, and active chart images.\n- `/astro-services`: list services, requirements, prices, and help links.\n- `/astro-chart-setup`: explain how saved charts work.\n- `/astro-create-chart`: create, calculate, save, and activate a Hidden World natal chart from birth data.\n- `/astro-charts`: list saved charts and show the active chart.\n- `/astro-chart-images`: show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n- `/astro-set-active-chart`: select which saved chart is active.\n- `/astro-contact`: send one confirmed support message from the connected account.\n- `/astro-natal`: run natal interpretation for the active saved chart.\n- `/astro-forecast`: run a forecast from the active natal chart.\n- `/astro-prashna`: answer a concrete question from its question chart.\n- `/astro-panchanga`: show Panchanga for a date and place.\n- `/astro-question`: ask the Kraine AI astrologer about the active saved chart.\n- `/astro-referral`: show authenticated referral status and explain the inviter-email program; applying requires separate explicit confirmation.\n\n## User Choices\n\nSupported output languages are:\n\n- English (`en`)\n- Russian (`ru`)\n- Ukrainian (`ua`)\n\nSupported AI astrologers for natal interpretation, forecast, Prashna, and Panchanga are:\n\n- Parashara (`parashara`): technical factors and their traditional Jyotish meanings for your own interpretation.\n- Kraine (`kraine`): holistic relationships and synthesis by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n`/astro-question` is Kraine-only, but still requires the user-facing language choice.\n\nAccept natural-language aliases without asking again when the intent is clear:\n\n- English: `English`, `en`.\n- Russian: `Russian`, `ru`, `русский`, `русском`, `по-русски`.\n- Ukrainian: `Ukrainian`, `ua`, `uk`, `украинский`, `українська`, `українською`.\n- Parashara: `Parashara`, `parashara`, `Парашара`.\n- Kraine: `Kraine`, `kraine`, `Крейн`, `Владимир Крейн`, `Volodymyr Kraine`.\n\nBefore any paid service call, if the user did not explicitly provide the language, ask for it. If the service supports both Parashara and Kraine and the user did not explicitly provide the astrologer, ask for that too. Combine missing choices into one concise question. Do not silently default paid services to English or Parashara.\n\nBefore a paid service consumes stars, trial access, or a subscription request, show the exact current cost and entitlement returned by Hidden World and ask for confirmation of that exact service request. A prior confirmation remains valid only for the same request and the same displayed cost. The plugin never offers checkout, starts a subscription, sells credits, or promotes an upgrade.\n\nWhen showing help, service setup, or examples, make the language and astrologer choices visible in the user's chat language. Do not hide them behind service descriptions only.\n\n## Output Firewall\n\nInternal execution details are private and must never appear in operator-facing chat. This applies during success, progress, clarification, failure, and recovery.\n\nNever print or narrate:\n\n- tool names, backend method names, RPC names, request or response payloads;\n- MCP, JSON-RPC, Lambda, endpoint, environment-variable, token, PKCE, callback, job, queue, or implementation details;\n- internal field names, chart serialization, snapshot construction, file paths, source files, dependencies, stack traces, or raw backend errors;\n- reasoning about route selection, retries, fallback calculations, or debugging steps.\n\nDo not describe the internal execution chain before running a command. User-facing progress is limited to one short service status such as \"Preparing your Panchanga...\".\n\nFor presentation-only commands (`/astro-help`, `/astro-services`, and `/astro-chart-setup`), respond immediately with the requested content. Do not call tools, inspect files, or send progress commentary.\n\nTranslate internal failures into one concise message in the current chat language that says what the user can do next. Do not include raw error text when it exposes implementation details.\n\n## Deterministic Execution Rules\n\nOne user command maps to one service workflow. Never substitute another astrology service.\n\nFor every paid service:\n\n1. Check account connection and required user data.\n2. Resolve documented defaults for date, time, place, and active chart only.\n3. For paid services, require an explicit language choice. For services that support both Parashara and Kraine, require an explicit astrologer choice. If one or more required user inputs remain missing or ambiguous, ask exactly one concise clarification question containing all missing user inputs. Do not call the paid service yet.\n4. Show the server-provided cost or entitlement and obtain confirmation for this exact request.\n5. Run the selected Hidden World service once.\n6. If the service reports a queued result, wait for that same result using the supported job flow.\n7. On failure, stop. Do not retry with guessed payloads, switch tools, inspect project source, inspect or mutate backend infrastructure, install dependencies, calculate locally, use another astrology engine, or provide an invented fallback result.\n8. Report charges and balance only from authenticated Hidden World data. Never infer them.\n\nService boundaries:\n\n- Chart setup uses saved Hidden World charts. The plugin can create, calculate, save, and activate a natal chart from birth date, birth time, and birth place. If birth time is unknown, require the user to say that explicitly. It can also list saved charts and set one saved chart as active.\n- Natal interpretation uses the selected saved natal chart only. Ask the user to choose Parashara or Kraine unless already explicit. For Kraine, accept an optional focused house from 1 to 12.\n- Forecast uses the active saved natal chart as Chart 1 and the requested forecast moment as Chart 2. Ask the user to choose Parashara or Kraine unless already explicit. Default forecast moment is now; default place is the active chart place unless the user specifies another place.\n- Prashna uses the question chart only. The question text is required. Ask the user to choose Parashara or Kraine unless already explicit. Default question moment is now. Use the explicitly supplied current place, otherwise the connected profile's current place when available; if no current place is available, ask one clarification question. Never answer Prashna as a natal profile or generic forecast.\n- Panchanga uses the requested day and place only. Ask the user to choose Parashara or Kraine unless already explicit. Default date is today. Default place is the active chart place. If no place can be resolved, ask one clarification question. Do not add long-period dasha analysis unless the returned result explicitly contains it.\n- Kraine AI question uses the active saved chart and is available only when the authenticated Hidden World account has subscription access. It is Kraine-only, but ask for language unless already explicit. Do not run it as Prashna, forecast, or natal interpretation.\n\n## Fresh Balance and Errors\n\nAfter every accepted service response (including chart creation when a balance is returned) and every result response, show the fresh server-provided stars and subscription quota. Keep polling only the same accepted request; balance reporting must never create a new paid request.\n\nThe response contract is `accountBalance = {status: 'available', stars, subscription, asOf}` or `{status: 'unavailable'}`, with a localized `balanceMessage`. When available, use `stars` and only the subscription quota actually supplied by `subscription`; `asOf` identifies that snapshot's freshness. Relay the server's localized `balanceMessage` in the current chat language without exposing internal field names. Never calculate a remaining balance from a previous balance, cost, charge, or refund, and never replace this snapshot with the initial queued response's billing data.\n\nWhen unavailable or absent on an older response, preserve the service result and say that the current balance could not be retrieved. Never treat unavailable as zero, infer subscription quota, claim a service failed solely because balance retrieval failed, or repeat a paid call. Continue supported same-request result polling if still pending. A later authenticated status lookup may report its own fresh balance but must not be presented as the earlier response's snapshot.\n\nFor `error.code = INSUFFICIENT_STARS`, relay the localized user-facing message as a lack of stars, not a service outage. `requiredStars`, `balance`, and `shortfall` are numeric or null: show only supplied numeric values; do not compute null fields or treat them as zero. Do not retry, start a different paid service, offer credits purchases, initiate checkout, or promote an upgrade. This specific handling takes precedence over generic service-failure wording in command files.\n\n## Referral Workflow\n\nFor `/astro-referral`, call `astro_referral_status({language})` using the current chat language (`en`, `ru`, or `ua`). Explain the existing site system: an invited user submits the inviter's email, not a referral link. Status does not apply a claim. Use only server-provided rules, eligibility, amounts, and limits; never hardcode rewards or promise eligibility.\n\nIf the user requests a claim, obtain the inviter's email from the user, show that exact email, and ask for explicit confirmation to submit it and claim the bonus. An email alone is not confirmation. Never guess an email, use the connected account email as a default, or apply automatically. A changed email needs new confirmation. Only after confirmation call `astro_referral_apply({inviterEmail, confirmed: true, language})` once.\n\nReport a bonus only after confirmed server success and use the returned fresh balance contract. Referral errors have stable codes: use the returned code and localized user-facing message to explain the claim error without exposing codes, raw payloads, or diagnostics. Do not invent code names or rules. On a rejected claim, stop without retrying or replacing the email. After an ambiguous transport failure or uncertain claim outcome, call only `astro_referral_status({language})` to read the current status, if available; never repeat `astro_referral_apply`. A claimed status confirms only that a claim exists, not that this attempt created it. If status cannot be read, report the outcome as unknown without claiming a bonus was granted.\n\nThe new tools may not be available before deployment and tool scanning. Call only capabilities actually available in the current session. If unavailable, explain that referral actions are not currently available in this connection; never invent a call or successful result, fall back to generic RPC, inspect source, or ask for authentication secrets. If disconnected, use `/astro-login`. No referral response may offer checkout, sell credits, or promote an upgrade.\n\n## Subscription Information\n\nFor questions about what a subscription includes, explain the subscription section from the help menu in the user's chat language. Keep the distinction between included service requests, stars, and website-only Ritometer features. Never claim that the entire Ritometer is subscription-only or available inside the plugin.\n\nFor current access and remaining requests, use authenticated `astro_services` data. Explain only existing account entitlements and the returned request or star cost of the selected service. Do not display subscription plans or credit-pack prices, calculate promotional savings, recommend purchases, or promote upgrades. Never infer or change an account balance. Do not initiate a subscription, checkout, or paid astrology request while explaining access.\n\n## Account Connection\n\nHidden World account identity remains authoritative. Do not treat OpenAI, ChatGPT, or Codex login as the Hidden World account.\n\nFor `/astro-login`, resolve the plugin root from this file and execute `node <plugin-root>/scripts/login.js`.\n\nDo not initiate authentication through a static website URL. Do not construct authorization parameters manually. Never ask the operator to paste passwords, tokens, authorization codes, one-time codes, or payment secrets into chat.\n\nIf connection cannot start, stop and say in the current chat language that the Hidden World connection could not be started and the user should run `/astro-login` again.\n\nFor `/astro-status`, use the authenticated status capability. Report only user-facing connection, profile, active-chart, stars, subscription, and trial state. If the account is not connected, show `/astro-login` as the next action.\n\nStatus must include active chart images whenever an active chart is present. If the status capability cannot attach images directly in the current Codex task, also use the active chart image capability and render the images in the final answer.\n\nWhen rendering returned chart images in Codex, do not merely list image names and do not rely on hidden tool output. Codex local absolute image paths are the primary display surface. After the chart image capability returns, save every returned PNG image block to local temporary PNG files in the current task workspace or `/tmp`, then show those files in the final answer with Markdown image syntax using absolute file paths:\n\n```markdown\n\n```\n\nUse stable descriptive filenames for the four images when possible: `round-d1-rasi.png`, `round-d9-navamsha.png`, `south-indian-d1-rasi.png`, and `south-indian-d9-navamsha.png`. Only if image blocks are not available, use the returned `markdown` or `chartImages[].url` values as the secondary display surface.\n\nNever claim that chart images were shown unless the final assistant message itself contains visible Markdown image tags. Do not use preview-only helpers such as `image(c)` as the final image surface. If the current Codex task cannot render Markdown image tags, say in the current chat language that the images were generated but could not be displayed in this Codex task.\n\nShow all four images unless the user explicitly asks for only one: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha.\n\nIf the previous visible result was chart images and the user replies with `1`, `2`, `3`, or `4`, show the selected image:\n\n- `1`: round D-1 Rasi chart.\n- `2`: round D-9 Navamsha chart.\n- `3`: South Indian D-1 Rasi chart.\n- `4`: South Indian D-9 Navamsha chart.\n\nIf the image file is not already available in the current task, request active chart images again and render only the selected image.\n\n## Private Execution Contract\n\nThe remote Hidden World capability is the only execution source for account and paid astrology services. Use only supported account, chart, service, billing, and job operations. This private contract guides tool use but is never described in chat.\n\nUse the dedicated tool that matches the command:\n\n- `/astro-status` -> `astro_status`\n- `/astro-status` with active chart images -> `astro_status` and `astro_chart_images` when needed for visible rendering\n- `/astro-services` -> `astro_services`\n- `/astro-create-chart` -> `astro_create_chart`\n- `/astro-charts` -> `astro_charts`\n- `/astro-chart-images` -> `astro_chart_images`\n- `/astro-set-active-chart` -> `astro_set_active_chart`\n- `/astro-contact` -> `astro_contact`\n- `/astro-natal` -> `astro_natal`\n- `/astro-forecast` -> `astro_forecast`\n- `/astro-prashna` -> `astro_prashna`\n- `/astro-panchanga` -> `astro_panchanga`\n- `/astro-question` -> `astro_question`\n- `/astro-referral` -> `astro_referral_status({language})`; a separately confirmed claim -> `astro_referral_apply({inviterEmail, confirmed: true, language})`\n\nIf a dedicated service tool returns a pending `requestId`, use `astro_result({requestId, language})` for that same request until it completes or fails. Pass the explicitly chosen service language (`en`, `ru`, or `ua`) on every poll, including recovery reads; do not omit the optional language argument and allow balance messages to default to English. Never switch to a generic RPC tool and never construct a service payload in the model.\n\nDo not request token environment variables or expose authentication material. When the account is unavailable, run the documented login flow or ask for the single missing user input; do not simulate a successful paid service.\n\nFor paid calls, do not issue a second paid request after a transport or system error until the existing result state has been checked through the documented result flow. If the same request is retried by the backend-supported flow, keep it tied to the same user action; do not create a new service order from guesswork.\n\n## Links\n\nWhenever a command displays a web destination, render it as a Markdown link with a human-readable English label. Never put a URL in backticks or a code block. Never show an internal endpoint.\n\nApproved public links:\n\n- [Services](https://hidden-world.space/en/services)\n- [Hidden World profile](https://hidden-world.space/en/profile)\n- [Hidden World contacts](https://hidden-world.space/en/contacts)\n- [Natal interpretation help](https://hidden-world.space/en/articles/site_help_interpretation)\n- [Forecast help](https://hidden-world.space/en/articles/site_help_forecast)\n- [Prashna help](https://hidden-world.space/en/articles/site_help_prashna)\n- [Panchanga help](https://hidden-world.space/en/articles/site_help_panchanga)\n\n## Exact Help Menu\n\nFor `/astro-help`, respond immediately with the following Markdown content and nothing else. Use this English menu by default.\n\nFor Russian or Ukrainian help, translate every user-facing line, including all headings, command descriptions, plain-language shortcuts, example questions, choice labels, and placeholder labels inside angle brackets such as `<birth date>` and `<your question>`. Preserve only slash command identifiers, Markdown URLs, the product name Astro Jyotish, the proper names Volodymyr Kraine, Parashara, and Kraine, and literal language codes such as `en`, `ru`, and `ua`. English example sentences and English placeholder labels are forbidden in Russian or Ukrainian help output.\n\nReturn only the translated menu. Do not paraphrase, summarize, add recommendations, add implementation details, or offer to show more information after the menu.\n\n```markdown\n# Astro Jyotish\n\nAstro Jyotish is by professional astrologer Volodymyr Kraine with 20+ years of experience.\n\n**Parashara AI astrologer** shows astrological factors and their traditional meanings, which you can interpret independently.\n\n**Kraine AI astrologer** provides a holistic chart interpretation, considering the relationships between astrological factors and combining them into an overall conclusion.\n\n## Hidden World subscription\n\nThe plugin uses the subscription and service access already available in your connected Hidden World account.\n\n**Calculations use requests instead of stars**\nWhen you pay with an active subscription that has enough requests remaining, services use requests from your package instead of your star balance. Different services use different numbers of requests.\n\n**Expanded Ritometer on the website**\nAn active subscription includes expanded time analysis based on Muhurta methods, supplemented by the natal chart and other astrological factors. It supports comparisons across a day, month, and year, with date and activity selection. Personal mode requires a saved natal chart with a birth time. Ritometer is available on the Hidden World website, not inside this plugin, and its astrological assessments do not guarantee outcomes.\n\n**Questions to the Kraine AI astrologer**\nThis service answers questions about your natal chart and specific situations. It is available only with an active subscription and uses subscription requests, not stars. The current request cost is shown before you confirm a question.\n\n**Transparent usage**\nBefore a service starts, you see its current cost. After an accepted request and its result, the plugin shows the available subscription requests and star balance supplied by Hidden World.\n\nRequests expire at the end of the subscription period and do not carry over. You can ask the plugin about your current access and remaining requests without starting a paid service.\n\n## Commands\n\n`/astro-help` - show this command menu\n`/astro-login` - connect your Hidden World account\n`/astro-status` - check your account, active chart images, stars, and subscription\n`/astro-chart-images` - show active chart images: round D-1 Rasi, round D-9 Navamsha, South Indian D-1 Rasi, and South Indian D-9 Navamsha\n`/astro-chart-setup` - learn how saved charts work\n`/astro-create-chart` - create, save, and activate a natal chart\n`/astro-charts` - list saved charts and show the active chart\n`/astro-set-active-chart` - select the active saved chart\n`/astro-contact` - send a confirmed message to Hidden World support ([Contact support](https://hidden-world.space/en/contacts))\n`/astro-services` - view services, requirements, and current prices ([Services](https://hidden-world.space/en/services))\n`/astro-natal` - choose language and Parashara/Kraine, then interpret your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_interpretation))\n`/astro-forecast` - choose language and Parashara/Kraine, then create a forecast from your active natal chart ([How it works](https://hidden-world.space/en/articles/site_help_forecast))\n`/astro-prashna` - choose language and Parashara/Kraine, then ask a concrete question using a question chart ([How it works](https://hidden-world.space/en/articles/site_help_prashna))\n`/astro-panchanga` - choose language and Parashara/Kraine, then view Panchanga for a date and place ([How it works](https://hidden-world.space/en/articles/site_help_panchanga))\n`/astro-question` - choose language, then ask the Kraine AI astrologer about your active chart\n`/astro-referral` - view the inviter-email referral program and your status; submitting an inviter's email to claim a bonus requires your confirmation\n\n## Plain-language shortcuts\n\nYou can also ask in plain English:\n\n- Connect my Hidden World account.\n- Show my Astro Jyotish status.\n- Show my referral status and explain how to submit my inviter's email.\n- Show my active chart images.\n- Create and save a new chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Contact Hidden World support about <subject>: <your message>.\n- Make Kraine Panchanga in Russian for today.\n- Make Parashara Panchanga in English for tomorrow in Pirovac, Croatia.\n- Create a Kraine forecast in Russian for 2026-09-01.\n- Interpret my active natal chart with Kraine in Russian, focus on house 10.\n- Create a Kraine Prashna question chart in Russian for this situation: <your question>.\n- Ask Kraine AI about my active natal chart in Russian: <your question about my chart>.\n\n## Good Prashna questions\n\n- Should I accept this offer?\n- Can I reach an agreement with this partner?\n- Is it worth launching this project this month?\n\n## Choices\n\nLanguages: English, Russian, Ukrainian.\nAI astrologers: Parashara, Kraine.\n\n## Referrals and balance\n\nHidden World uses the inviter's email, not a referral link. View your status with `/astro-referral`. Submitting a specified inviter's email to claim a bonus always requires your explicit confirmation. Eligibility, bonuses, and limits are determined by Hidden World; no bonus is promised in advance.\n\nAfter an accepted service and its results, you receive the fresh available stars and subscription quota supplied by Hidden World. If the current balance is unavailable, the service is not repeated. The plugin does not sell credits, initiate checkout, or promote upgrades.\n```\n\n## Exact Chart Setup\n\nFor `/astro-chart-setup`, select exactly one finished template below from the explicit user language: Russian, Ukrainian, or English. Emit only the contents of that template, without the surrounding code fence or language label.\n\nDo not translate at runtime, paraphrase, summarize, add notes, add new service rules, add a numbered workflow, inspect a website route, or offer to show more information after the template.\n\n### Russian output\n\n```markdown\n# Настройка карт\n\nAstro Jyotish использует сохраненные карты Hidden World.\n\n## Возможности плагина\n\n`/astro-charts` - показать сохраненные карты и активную карту.\n`/astro-create-chart` - создать, сохранить и активировать натальную карту по данным рождения.\n`/astro-set-active-chart` - выбрать сохраненную карту, которую будут использовать персональные сервисы.\n\n## Создание и сохранение карты\n\nИспользуйте `/astro-create-chart`, указав дату рождения, время рождения и место рождения. Если время рождения неизвестно, скажите об этом явно.\n\nСозданная карта сохранится в Hidden World и станет активной для персональных сервисов.\n\n## Примеры\n\n- Создай и сохрани карту по данным: <дата рождения>, <время рождения>, <город>, <страна>; назови ее <название карты>.\n- Покажи мои сохраненные карты Hidden World.\n- Сделай сохраненную карту с названием \"<название карты>\" активной.\n- Покажи мою активную карту перед запуском прогноза.\n```\n\n### Ukrainian output\n\n```markdown\n# Налаштування карт\n\nAstro Jyotish використовує збережені карти Hidden World.\n\n## Можливості плагіна\n\n`/astro-charts` - показати збережені карти й активну карту.\n`/astro-create-chart` - створити, зберегти й активувати натальну карту за даними народження.\n`/astro-set-active-chart` - вибрати збережену карту, яку використовуватимуть персональні сервіси.\n\n## Створення та збереження карти\n\nВикористовуйте `/astro-create-chart`, указавши дату народження, час народження та місце народження. Якщо час народження невідомий, скажіть про це прямо.\n\nСтворена карта збережеться в Hidden World і стане активною для персональних сервісів.\n\n## Приклади\n\n- Створи й збережи карту за даними: <дата народження>, <час народження>, <місто>, <країна>; назви її <назва карти>.\n- Покажи мої збережені карти Hidden World.\n- Зроби збережену карту з назвою \"<назва карти>\" активною.\n- Покажи мою активну карту перед запуском прогнозу.\n```\n\n### English output\n\n```markdown\n# Chart Setup\n\nAstro Jyotish uses saved Hidden World charts.\n\n## What the plugin can do\n\n`/astro-charts` - show saved charts and the active chart.\n`/astro-create-chart` - create, save, and activate a natal chart from birth data.\n`/astro-set-active-chart` - make one saved chart active for personal services.\n\n## Creating or saving a chart\n\nUse `/astro-create-chart` with birth date, birth time, and birth place. If birth time is unknown, say that explicitly.\n\nThe created chart is saved to Hidden World and becomes the active chart for personal services.\n\n## Examples\n\n- Create and save a chart for <birth date> at <birth time>, <city>, <country>, and name it <chart name>.\n- List my saved Hidden World charts.\n- Make the saved chart named \"<chart name>\" active.\n- Show my active chart before starting a forecast.\n```\n"
}SHA-256 of public snapshot: 636e8fb5d0ace2c9ee607944bb238087e9ae112c28a4495b4a658bcc55fe4144